首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android Simperium简单待办演示代码中的错误

android Simperium简单待办演示代码中的错误
EN

Stack Overflow用户
提问于 2015-11-30 13:24:24
回答 2查看 145关注 0票数 0

我下载了演示代码

运行代码后:

我要拿到这个屏幕。我在其他设备上用相同的用户名和id登录,但没有发生任何事情。

在输入文本时,我将得到以下错误:

代码语言:javascript
复制
11-30 18:29:58.731  14566-16417/com.simperium.simpletodo E/SQLiteDatabase﹕ Error inserting bucketName=todo changeVersion=
    android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: changeVersions.bucketName (code 2067)
            at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
            at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:780)
            at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788)
            at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86)
            at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1471)
            at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1341)
            at com.simperium.android.GhostStore.setChangeVersion(GhostStore.java:98)
            at com.simperium.client.Bucket.setChangeVersion(Bucket.java:416)
            at com.simperium.client.Bucket.indexComplete(Bucket.java:411)
            at com.simperium.client.Channel$IndexProcessor.notifyDone(Channel.java:1126)
            at com.simperium.client.Channel$IndexProcessor.next(Channel.java:1039)
            at com.simperium.client.Channel$IndexProcessor.addIndexPage(Channel.java:1107)
            at com.simperium.client.Channel$IndexProcessor.start(Channel.java:994)
            at com.simperium.client.Channel.updateIndex(Channel.java:397)
            at com.simperium.client.Channel.access$100(Channel.java:38)
            at com.simperium.client.Channel$2.execute(Channel.java:187)
            at com.simperium.client.Channel$CommandInvoker.executeCommand(Channel.java:743)
            at com.simperium.client.Channel.executeCommand(Channel.java:713)
            at com.simperium.client.Channel.receiveMessage(Channel.java:667)
            at com.simperium.android.WebSocketManager.onMessage(WebSocketManager.java:420)
            at com.simperium.android.WebSocketManager$2.onMessage(WebSocketManager.java:211)
            at com.simperium.android.AsyncWebSocketProvider$1$2.onStringAvailable(AsyncWebSocketProvider.java:85)
            at com.koushikdutta.async.http.WebSocketImpl$1.onMessage(WebSocketImpl.java:88)
            at com.koushikdutta.async.http.HybiParser.emitFrame(HybiParser.java:420)
            at com.koushikdutta.async.http.HybiParser.access$800(HybiParser.java:46)
            at com.koushikdutta.async.http.HybiParser$5.onDataAvailable(HybiParser.java:197)
            at com.koushikdutta.async.DataEmitterReader.handlePendingData(DataEmitterReader.java:24)
            at com.koushikdutta.async.DataEmitterReader.onDataAvailable(DataEmitterReader.java:41)
            at com.koushikdutta.async.Util.emitAllData(Util.java:22)
            at com.koushikdutta.async.AsyncSSLSocketWrapper.onDataAvailable(AsyncSSLSocketWrapper.java:230)
            at com.koushikdutta.async.AsyncSSLSocketWrapper$5.onDataAvailable(AsyncSSLSocketWrapper.java:217)
            at com.koushikdutta.async.Util.emitAllData(Util.java:22)
            at com.koushikdutta.async.AsyncNetworkSocket.onReadable(AsyncNetworkSocket.java:146)
            at com.koushikdutta.async.AsyncServer.runLoop(AsyncServer.java:788)
            at com.koushikdutta.async.AsyncServer.run(AsyncServer.java:626)
            at com.koushikdutta.async.AsyncServer.access$700(AsyncServer.java:41)
            at com.koushikdutta.async.AsyncServer$13.run(AsyncServer.java:568)

如果有人知道,请帮忙!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-30 22:14:52

演示应用程序依赖于软键盘来添加新的项目,所以请确保在您的模拟器或设备中启用它。

我将研究sql错误,但它似乎只显示在模拟器日志中,而不显示在实际设备上。

票数 1
EN

Stack Overflow用户

发布于 2015-11-30 14:07:45

错误声明:

代码语言:javascript
复制
UNIQUE constraint failed: changeVersions.bucketName

bucketName有一个唯一的约束,这意味着每个新插入的值都必须是唯一的。

因此,您尝试使用数据库中已经存在的bucketName插入一个对象。

如果您认为可以使用相同的bucketName拥有多个对象,请删除该约束。

如果不应该,在插入之前检查一下是否已经有了,并优雅地处理它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33999690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档