当前位置: 首页 > 面试题库 >

如何检查Android中是否存在资源

康鹏云
2023-03-14
问题内容

有没有一种内置的方法来检查资源是否存在,或者我是否正在做类似以下的事情:

boolean result;
int test = mContext.getResources().getIdentifier("my_resource_name", "drawable", mContext.getPackageName());
result = test != 0;

问题答案:

根据javadoc,您不需要尝试捕获:http
:
//developer.android.com/reference/android/content/res/Resources.html#getIdentifier%28java.lang.String,%20java.lang.String,
%20java.lang.String%29


如果getIdentifier()返回零,则表示不存在此类资源。
另外0-是非法资源ID。

因此,您的结果布尔值变量等于(test != 0)

无论如何,您的try /
finally都是不好的,因为它所做的一切都会将结果变量设置为false,即使从try主体中mContext.get.....抛出了异常:然后,它在退出finally子句后也只是“重新抛出”了异常。我想这不是您在异常情况下想要做的。



 类似资料:
  • 问题内容: 我目前正在处理我的付费应用程序中的特定问题。内部包含许可检查。黑客通过修改应用apk / jar对该应用进行了修补。他们正在添加一个新类,以帮助绕过许可检查。 我的目标是以某种方式检查此特定补丁。如果找到它,我知道我的应用程序已被盗用。 关于如何知道包装上的某些东西有任何提示吗? 在我看来,对应用程序进行哈希处理并不是一个真正的选择。 我认为也许检查此类是否存在会有所帮助,但是如果他们

  • 问题内容: 我正在通过.NET应用程序中的ODBC驱动程序连接到Hive。是否存在查询以确定表是否已存在? 例如,在MSSQL中,您可以查询表,而在Netezza中,您可以查询表。 任何援助将不胜感激。 问题答案: 您可以通过两种方法进行检查: 1.)如@dimamah所建议,只需在此处添加一点,对于这种方法,您需要 2.)第二种方法是使用HiveMetastoreClient API,您可以在其

  • 问题内容: 我是通过Android(Java)刚接触Firebase的,并且想知道如何检查用户是否已存在以下格式的数据库中: 例如,按下按钮后,我想检查Firebase以查看用户名“ Michael”是否存在(对象michael中的第一级michael-而不是“ michael”。 谢谢 问题答案: 使用方法或onDataChange中的SingleValueEvent

  • 问题内容: 我有一个名为“ bob”的数组,其中包含值。 我如何才能知道在没有迭代的情况下名为bob的数组中是否存在“傻”值? 问题答案: 您可以使用方法。为此,您需要将数组转换为列表。您可以使用以下方法:

  • 问题内容: 我有一个字符串数组,在插入它们之前需要检查表中是否存在这些字符串,以避免重复。什么是SQL查询,如何替换以下值?:) 我的产品型号: 表格名称: product_pics 数据库名称: product_db 我了解此声明将起作用: 如何正确格式化此格式,以使该方法在产品存在或不存在时返回? 问题答案: 只是喜欢

  • 问题内容: 我需要帮助检查数据库中是否存在行。就我而言,该行包含一个电子邮件地址。我得到结果: 这是我当前正在使用的代码: 有没有更好的方法来检查MySQL中是否存在行(在我的情况下,检查MySQL中是否存在电子邮件)? 问题答案: 以下是经过尝试,测试和证明的检查行是否存在的方法。 (其中一些我自己使用,或者过去使用过)。 编辑: 我在使用两次的语法中犯了一个先前的错误。请查阅修订版本。 即: