1

すべてのアイテムをサーバーと通信する Android アプリケーションを開発しています。具体的には、Android インターフェイスには、ユーザーがデータを入力してサーバー (Glassfish with Oracle Backend) に送信するための多くのフィールドがあります。私の懸念は、接続が失われたときにデータを保存して、再度接続したときにデータをサーバーに送信できるようにするための最良の方法は何かということです。

注 1: データはすべてテキストで、サイズは 1.5 MB に達することがあります。また、画像を保存するプランもあります。

注2:SQLiteについては知っていますが、これが最善の解決策ですか、それとも他の方法がありますか?

最後に、皆様のご協力に心より感謝申し上げます

4

3 に答える 3

4

SQLiteは優れたソリューションです。

データ サイズは最大 1.5 MB に達する可能性があるため、データを簡単な方法で保存する必要があります。これにより、サーバーへの接続が利用可能になったときに、保存されたデータを簡単に取得できます。

私はAndroidでSQLiteも使用しましたが、それがあなたの問題の最良の解決策になると信じています.

詳細な比較については、http://developer.android.com/guide/topics/data/data-storage.htmlを参照してください。

于 2013-09-09T11:35:44.840 に答える
1

SQLite を使用してデータをオフラインで保存し、データがサーバーに送信された場合はテーブルをクリアします。最良の方法。

SharedPreference を使用して、キー (正常に送信された) と値 (true/false) を保存します。
- 元Save Data in DB >> Send data to Server >> Get Acknowledgement (if failed, resend till success) >> Update keys >> delete data in DB >> Repeat cycle

キャッシュ/ローカル ディレクトリを使用して画像を保存する

于 2013-09-09T11:36:38.917 に答える
1

SQLite データベースを使用して、行に Synced タグを含めることができます。同期が失敗した場合は、Synced = False でデータベースに行を追加します。後でデータを同期し、正常に返されたメッセージを取得するときに、データベースの行を Synced = True に更新するか (オフラインでキャッシュされたデータを使用する予定の場合)、テーブルを一時的なものとして使用している場合は行を削除するだけです。お店。

このインスタンスでは SharedPreferences を使用したくありません。

データベースを使用して永続ストアをサーバーとオンラインで同期する場合は、次のことも確認することをお勧めします。

于 2013-09-09T11:37:32.987 に答える