ローカルに保存する必要があるデータの量はわかりませんが、5 MB に制限できる場合は、ローカル データベースの代わりに使用できjson
ますlocalStorage
。
アプリがデータをリクエストするときは、最後にタイムスタンプを付けて一度にすべてを返し、それを使用して更新されたデータのみをスマートに返します。次のような呼び出しyourhost.com/retrieveData
は、すべてのデータをyourhost.com/retrieveData/timestampParam
返し、タイムスタンプの後に更新されたデータのみを返します。
次のようなものを返します:
{ "table1" : [{"col1":"data1","col2":"data2"},{"col1":"data3","col2":"data4"}],
"table2" : [{"col3":"data5","col4":"data6"},{"col3":"data5","col4":"data6"}],
"timestamp" : 1234567 } //this should be optimized for your needs, it's just a generic example.
アプリの起動時に、何よりも先に次の行に沿って何かを実行すると、アプリが常に最新の状態に保たれます。
Check if the data is stored
If there isn't, or if the user is online or if the timestamp is too old, or you can perform any check you might need here
Retrieve the data again using the stored timestamp
Update the local data
Store the timestamp returned
If none of the above applies, the app is good to run
私はいくつかのアプリでそのアプローチを使用しました。実装と保守が簡単なため、データベースよりもこれを選択しました。