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 语句更长,但至少它们有效。
我不能确定错误的确切位置,因为我无法在模拟器中重现它?它也适用于 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 语句更长,但至少它们有效。