2016-10-06 6 views
0

Androidアプリ用のデータベースを作成したいと思います。時間が経つにつれて変更が加えられる可能性があります(新しいデータは頻繁に追加されます)。Androidアプリで変更できるデータベースを扱いますか?

Web APIを呼び出して、各クライアントのデバイスではなくサーバー上のデータを変更できます。問題は、これが人々にデータをフェッチするために接続する必要があることです(またはそれは問題ですか?)。

サーバーにデータベースを作成し、クライアントがオフラインで作業できるようにすべてをコピーする(インターネットに接続しているときに更新を通知する)ことができますか。

このような場合には一般的に何が行われますか?このアプリは外部で使用する必要があります。明らかに、私は人々がモバイルデータによって制限されることを望んでいません。アドバイスは非常に感謝します。

+0

一般的に、デバイスはRESTfulサービスを呼び出します(Web APIを使用していると思います)。そのデータをSQLiteデータベースにローカルに(つまりデバイス上に)格納します。 –

+1

これは1つのオプションです。[sync adapter](https://developer.android.com/training/sync-adapters/index.html) –

+0

@RickS私はこれが好きです。きれいで、私のニーズに合っています。タイ – zuokuok

答えて

0

オフラインで作業できるように、サーバーにデータベースを作成し、クライアントがすべてをコピーして(インターネットに接続しているときに更新プログラムに通知する)必要がありますか?

はい、この方法を使用しても構いません。私は私のプロジェクトの一つでもう少し簡単に説明したいと思います。

  1. 新しいデータが追加されている場合は、trueに設定する必要がある別のブール値フィールドをサーバーに保存します。
  2. Method_A() - ローカルストレージからデータを取得し、アプリに表示します。
  3. Method_B() - サーバーからデータを取得し、ローカルストレージに保存します。

これで手順を適用できます。

if(internetIsPresent){ 
    Boolean hasNewData = check_boolean_field_in_your_server; 
    if(hasNewData){ 
     Method_B(); 
    } else { 
     Method_A(); 
    } 
} else{ 
    Method_A(); 
} 
関連する問題