0

複数のデータベースを含むアプリを作成しましたが、このデータを維持するために Kinvey を使用する必要があります。現在、sqlite を使用してすべてのデータをローカルに保存しています。自分で同期するコードを書くこともできますが、Kinvey に任せた方がずっといいでしょう。Cache と Offline を使用していないときは、データは Kinvey データベースに正しく書き込まれています...これは Web コンソールで確認できます。キャッシュとオフライン ポリシーの 2 行のコードを追加しようとすると、Kinvey db に何も書き込まれず、以下に示すようなエラーが発生します。これは logcat エラーの一部です。オフライン ユーザー ログインに問題があるようです?? 私が抱えている問題を再現する簡単なコードを以下に含めました。ウェブサイトのガイドを何度も読みましたが、何かを見落としているようです。ガイドに記載されているように、マニフェストにサービスと許可を追加しました。他に何を試せばいいのか、どこに行けばいいのかわからない。私が間違っていることについてのアイデアはありますか?ありがとう。

AsyncAppData gear = kinveyClient.appData("myCollection",
        MyEntity.class);
gear.setCache(new InMemoryLRUCache(), CachePolicy.CACHEFIRST);
gear.setOffline(OfflinePolicy.LOCAL_FIRST, new SqlLiteOfflineStore(this));
kinveyClient.user().login(username, password, new KinveyUserCallback() {
    @Override
    public void onFailure(Throwable arg0) {
    }

    @Override
    public void onSuccess(User arg0) {
    }
});

MyEntity event = new MyEntity();
event.setTitle("Launch Party");

gear.save(event, new KinveyClientCallback() {

    @Override
    public void onFailure(Throwable arg0) {
    }

    @Override
    public void onSuccess(MyEntity arg0) {
        Toast.makeText(getApplicationContext(),
                "Object saved is: " + arg0.getTitle(),
                Toast.LENGTH_LONG).show();
    }

});

kinveyClient.user().logout().execute();

これは LogCat エラーの一部です。

01-20 15:42:15.257: E/SQLiteDatabase(6992): json={"Title":"Launch Party","id":"5e8684e321664fa797f4d1cf53f55082"} の挿入中にエラーが発生しました=0 _id=5e8684e321664fa797f4d1cf53f55082 15:42:15.257: E/SQLiteDatabase(6992): android.database.sqlite.SQLiteConstraintException: offlinemyCollection._user を NULL にすることはできません (コード 19)

4

1 に答える 1