アプリのパフォーマンスを向上させるために、RSS フィードを SQLite データベースにキャッシュしたいと考えています。
RSS フィードの非常に基本的な部分、つまり , title
, description
URLguid
とpubDate
. 今のところ、それらを処理して、カスタム クラスの Vector<Feed>
場所に保存できます。Feed
Androidの初心者として、気が遠くなるようなことがいくつかあります。
以下のようなタイトルのフィード アイテムがあるとします。
1. Cat Kills the Dog
2. Curosity Killed the Cat in Revenge
3. Y U NO leave Cat alone ?
最初の実行では、テーブルの行数を取得するとゼロが返されます。つまり、すべてのフィードをデータベースに追加する必要があります。問題はありません。
フィードが更新されたときに問題が発生します。更新されたフィードは次のとおりです。
*. Quick Brown Fox Jumps Over The Lazy Dog. Dog Dies.
1. Cat Kills the Dog
2. Curosity Killed the Cat in Revenge
3. Y U NO leave Cat alone ?
ロジックは次のとおり
です。 1. RSS フィードの解析を開始します。
2. 新しく取得した RSS フィードのタイトルを読み取ります。
3. データベースの最初の行のタイトルと一致していますか?
3.1. いいえ、解析を続けて、このフィードをデータベースに追加してください。
3.2. はい、解析を停止して、このフィードをデータベースに追加します。
問題は、ここで追加された行がテーブルの最後の行になることですが、RSS XML フィードのように最初の行にする必要があるため、その後の比較が容易になります。
問題は、フィード XML と同様の行の順序を維持することです。
どうすればその順序を維持できますか?
または、フィードを整理して保存するためのより良い方法はありますか?