试图了解原因:
db = databaseHandler.getReadableDatabase();
String[] columns = {ID, NAME, DIFFICULTY};
Cursor cursor = db.query(TABLE_NAME, columns, null, null, null, null, DIFFICULTY);
上述代码段中的大写变量显然是静态韵母。 Android工作室告诉我
“此检查报告指定检查范围中始终为true或false的条件,并根据代码的数据流分析指出可能抛出RuntimeException的位置。此检查还报告Nullable / NotNull合同违规。可以配置支持合同的注释(默认使用@nullable / @NotNull注释来自annotations.jar)“
这对我来说是胡言乱语。有人可以解释一下吗?
答案 0 :(得分:1)
该工具会尝试帮助您找到可能发生错误的位置。
在这种特殊情况下,它会抱怨您使用null
的每个地方以及无法证明此用法被允许的地方。
但是,documentation表明这些参数确实允许null
值,因此该工具是错误的。
此外,SQLiteDatabase
的{{1}}方法是Android API的一部分,因此没有任何借口。请将此视为检查员中的错误。