2015-11-30 3 views
0

Я загрузил demo code.Ошибка в простом демонстрационном коде Simprium для android

После запуска кода:

Screenshot

Я получаю этот экран. Я подписался с тем же именем и идентификатором на другом устройстве, но ничего не происходит.

При вводе текста, я получаю следующее сообщение об ошибке:

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) 

Пожалуйста, помогите, если кто-нибудь знает об этом!

ответ

1

Демо-приложение полагается на мягкую клавиатуру для добавления новых элементов, поэтому обязательно включите ее в эмуляторе или устройстве.

Я исследую ошибку sql, но, по-видимому, она отображается только в журнале эмулятора, а не на реальном устройстве.

+0

Да на устройстве я умею писать текст с клавиатуры. –

+0

Тогда, если вы нажмете «Добавить» на клавиатуре, это создаст ToDo? Возможно, потребуется использовать клавиатуру Google по умолчанию. – roundhill

+0

ya TODO bucket добавлен на сервере simperium, но его пуст. Я использую только клавиатуру по умолчанию –

0

Состояния ошибки:

UNIQUE constraint failed: changeVersions.bucketName 

bucketName имеет единственное ограничение, что означает, что каждое новое вставленное значение должно быть уникальным.

Итак, вы попытались вставить объект с именем bucketName, который уже существует в базе данных.

Если вы считаете, что можете иметь несколько объектов с тем же именем bucket, удалите ограничение.

Если вы этого не сделали, проверьте перед установкой, если он уже есть, и обработайте его изящно.

+0

Я пытаюсь ввести разные тексты каждый раз. Также попробовал с другим именем ведра. Тот же результат –