2012-01-25 7 views
1

私は、私たちの会社にとって「概念の証明」としてAndroidアプリを開発しています。彼らがそれを好きで投資の価値があると思うなら、我々はより大きなものに移ります。私はこれのための最善の/最も実用的なアプローチを把握しようとしている.....アプリケーションの基本は私たちのDBに接続し、特定の顧客に関する情報を表示します。今のところ、3〜4つのテーブルからデータを取り出すだけです(ただし、将来的には10+がある可能性があります)。アプリがインターネットに接続していない場合は、ローカルDBを使用する必要があります。このための最良のアプローチは何ですか?ここで私が考えていたことがあり、可能であれば、いくつかの入力/提案がほしいと思うのです:サーバdbとアンドロイドアプリデータベースを同期する方法は?

1.)アプリケーションの実行はインターネット接続をチェックします。存在する場合は、dbバージョンを確認します(Webサービスを介してどうやって?)。サーバdbが新しい場合、最新のデータを取得します。インターネットがない場合は、ローカルDBを使用してください。 2.)appはデータを解析して表示します。

これが正しければ、アプリケーションを変更せずにフィールドに結果を追加するWebサービスを変更することはできません。そこにあるフィールドの数に関係なく、アプリケーションがフィールドを解析する方法はありますか?

私はデータベースとそのような(メモ帳のチュートリアル)googleのチュートリアルを読んできましたが、列名はすべて私が避けたいと思っていた解析クラスにハードコードされているようです。

申し訳ありませんが、ローカルのデータベースを使用してデータを読み取る必要があることがわかっています。また、アプリケーションは(onCreateまたは更新ボタンを使用して)サーバーからデータを取得し、それはローカルに....それをローカルにコピーすることは私が理解していない部分です。私は推測します。「出てこの結果を得て表示する」という言い方はありません。 1回目または1回目。

ご協力いただきありがとうございます。

答えて

0

ローカルにデータを格納するためにSQLLite DBを使用し、dbにCRUDアクセスを提供するContentProviderと、可能であればサーバーと同期するSyncAdapterを使用します。同期アダプタは、ContentProviderを介してDBにも書き込みます。この仕組みの例については、SDKのSampleSyncAdapterサンプルを参照してください。独自のContentProviderを実装する予定ですが、サンプルはAndroidの提供されたContacts ContentProviderを使用するだけです。

http://developer.android.com/resources/samples/SampleSyncAdapter/index.html

+0

返信いただきありがとうございます。私はContentProviderとあなたが言及した他のクラスを読み上げます。これは確かに正しい道に私を得るでしょう。 – Robert

関連する問題