【问题标题】:Black Image when loading the ID from a Mysql server从 Mysql 服务器加载 ID 时出现黑色图像
【发布时间】:2012-10-28 12:02:14
【问题描述】:

我有一个 MySQL 数据库,其中包含带有图像 ID 的人员列表。 像这样:“0x7f020000”。

这些图片包含在 APK 中。但是当我将一个人添加到数据库但更新 APK 时,我希望显示一些错误消息。那么如何验证图像是否存在并采取适当的行动呢?

谢谢

这很有效,感谢 user1364052 的想法

try
{
    d0 = getResources().getDrawable(Integer.parseInt(ID.get(img0Zahl),16)); 
    d1 = getResources().getDrawable(Integer.parseInt(ID.get(img1Zahl),16));
}
catch(Exception e)
{
    d0 = getResources().getDrawable(0x7f020197); 
    d1 = getResources().getDrawable(0x7f020197); 
}

【问题讨论】:

  • 当你说:“这些图像包含在 apk 中”和“但不更新 apk”时,这是什么意思。您是否使用没有图像的旧 apk 运行?
  • Android 中没有 MySQL 这样的东西。
  • @user1364052 然后看看我的 cmets 和我更新的答案。

标签: android imageview


【解决方案1】:

你需要在代码中解决这个问题,它与mysql无关。由于该条目存在于您的数据库中,但您的 apk 中没有该图像。可能在您通过检索到的 id 检索图像的逻辑中,您应该验证图像是否存在并采取适当的行动。

您应该显示错误消息,而不是捕获 NPE 异常。

【讨论】:

  • 抱歉,我的问题已经够清楚了……“您应该验证图像是否存在并采取适当的行动。”是我想知道的,你知道怎么做吗?
  • @user1364052 您需要提供一些代码详细信息,但可能在您检索可绘制对象时,例如:Drawable d = getResources().getDrawable(id); 您应该检查对象是否不为空并显示正确的消息。因为您说图像是空白的,可能您正在做一些验证,但没有显示所需的消息。
猜你喜欢
  • 2012-06-06
  • 2019-11-16
  • 2014-03-23
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-20
相关资源
最近更新 更多