gpt4 book ai didi

java - IllegalArgumentException:2020 年 1 月安全路径中的无效列 null

转载 作者:行者123 更新时间:2023-12-01 18:20:30 25 4
gpt4 key购买 nike

我发现以下代码如何使用我的 SQLiteQueryBuilder 查询中的投影。

String[] selectFields = new String[5];
selectFields[0] = "pmp_id";

在 2020 年 1 月 1 日 (dd/MM/yyyy) 之前的 Android 安全路径版本中,此代码可以正常工作。在 01/01/2020 路径版本中,应用程序生成错误:

java.lang.IllegalArgumentException: Invalid column null
at android.database.sqlite.SQLiteQueryBuilder.computeSingleProjectionOrThrow(SQLiteQueryBuilder.java:1142)
at android.database.sqlite.SQLiteQueryBuilder.computeProjection(SQLiteQueryBuilder.java:1113)
at android.database.sqlite.SQLiteQueryBuilder.buildQuery(SQLiteQueryBuilder.java:888)
at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:561)
at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:475)

我已经通过这种方式修复了错误:

String[] selectFields = { "pmp_id" };

但我想了解为什么在旧版本中它可以工作而在新版本中却不能?

最佳答案

new String[5] 创建一个包含五个 String 引用的数组,并且您仅分配给第一个槽。剩余插槽保持为空。

为什么在最近的更新后开始崩溃似乎在this commit中有解释。将 SQLiteQueryBuilder 更改为对其输入更加严格:

This change also offers setStrictColumns() to require that all untrusted column names are valid, such as those in ContentValues.

关于java - IllegalArgumentException:2020 年 1 月安全路径中的无效列 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60300149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com