Android a.a$b.iterator() 上的代号一在空对象引用上 (SQLite)

Codename One on Android a.a$b.iterator() on a null object reference (SQLite)

我不能确定错误的确切位置,因为我无法在模拟器中重现它?它也适用于 IOS

如果我将代码发送到 Android,我会收到错误消息。

An internal application error occurred:
java.util.Iterator
a.a$b.iterator() on a null object reference

方法来自RESTfulWebServiceClient

public void find(Query query, SuccessCallback<RowSet> callback)

如果我尝试使用回调会出现错误

for (Map m : callback) {
...
}

编辑...

检查我的回答,结果是在 select 语句中使用 * 时是 SQLite。

无论平台如何,它看起来都像 rowset can be null。不确定为什么这种情况只在 Android 发生在你身上,我猜是其他一些逻辑触发了那个状态。

我发现问题出在 Android 和 SQLite 上。我相信这可能只会影响 Android 4.

我在 SQLite 数据库上使用 select 语句来填充 restful 查找方法的 ID。但是,在使用 select 语句时,我使用了 "select * from table" 然后是列号作为输出变量。事实证明,在 Android,如果您使用 * 列的输出不是它们的创建顺序。

所以当我 selected * 然后在模拟器和 ISO 上使用第 4 列时它工作正常,但是当我在 Android 上使用它时第 4 列的输出是第 3 列。

我已通过显式 selecting 我需要的列来解决这个问题。这意味着 select 语句更长,但至少它们有效。