Androidでsqliteデータベースを使用するのはなぜですか。サーバーからデータをフェッチしてデータ計算を行い、UIに表示するAndroidアプリケーションを開発しています。
データをsqliteDBにフェッチし、sqliteから定期的にUIを20分で更新するのは良いですか、それともHttp getリクエストをサーバーに送信して、応答からのデータを更新するのは良いですか? UI。
どちらが優れているのか、そしてその理由を知りたかったのですが、なぜsqlite DBを使用するのですか?データは、いくつかの重い数学的処理が実行されてからUIに表示される(株式市場アプリケーションと同様)40X40テーブルデータに対応し、データは12時間ごとにクリアする必要があります。 plzアドバイスRgds、ラウル
あなたのケースではデータベースを使うのは良いことです。
長所:
短所:
あなたが見ることができるように私のリストはあなたがあなたの場合にデータベースを使うべきであることを証明します。多分私は偏見がありますが、少なくとも私はあなたに考慮すべきことを提供します。
これは本当に設計上の決定です。SQLiteはデータを整理して永続化するための非常に堅牢な方法を提供します。他のオプションはファイルに書き込むか、SharedPrefsに保存することだけです。どちらの方法も、サイズが大きくなると管理が非常に難しくなります。オブジェクトのリストを手動で保持し、その名前などを管理する必要があるため、データが増大し始めます。40x40のテーブルデータは、12時間ごとにテーブルを削除して再作成する場合でも、SQLiteを使用するのに十分な大きさです。
ORMライブラリを使用して、DBからのデータのフェッチと保存を簡単にすることを検討することをお勧めします。ORMLiteは優れており、Androidと互換性があります。
アプリケーションがインターネット接続に大きく依存している場合は、データベースに情報をバッファリングする必要はありません。ただし、信号が悪いかまったくないアプリを使用する場合は、sqliteデータベースからキャッシュされた値を使用することをお勧めします。インターネット接続が遅い場合、アプリケーションが応答しない可能性があるため、キャッシュすることをお勧めしますが、必ずしもsqliteデータベースにあるとは限りません。デバイスに頻繁に必要であり、サーバーコンポーネントに関係のないデータには、sqliteデータベースを使用する必要があります。データが頻繁に更新されるが、アプリケーションの実行中にのみ更新される場合は、デバイスのメモリにキャッシュすることをお勧めします。あなたのアプリは12時間以内に常に実行されているわけではなく、何かをチェックするために定期的に呼び出されていると思います。
> update the UI on regular interval from the sqlite in evry 20 minutes
アプリがこれほど長期間開いているとは思わないでください。
あなたのケースに正確に提案する
Avoid DB
Fetch Data at app start or at appropriate time when app is opened
and save it in plain Java objects.
Define Methods within it that perform operation in it.
Make map or list to save those POJO
Define Seprate Controller Classes within your project to update map of pojo at any
specific change to make fresh data available to UI.
12時間は長い時間なので、データをRAMに残しておくのではなく、データベースを使用することをお勧めします。いつもう一度読む必要があるのかわからないからです。
それ以外の場合、目的がデータのダウンロード、処理、アクティビティでの表示のみである場合、アプリが閉じている場合(ユーザーまたはメモリ不足のため)、とにかくアプリはから新しいデータをダウンロードするため、データベースを関与させる必要はありません。サーバー...私は正しいですか?