はじめに:
質問が閉じられる危険を冒して、とにかく質問しようとします。私は多くの検索を行いましたが、ほとんどはListView
向きの変更中に状態を保存し、に戻ったときに復元することに関するものActivity
です。そして、それは私が探しているものではありません。
Twitter アプリなどのアプリケーションは、最後にアプリを使用したときと同じ状態に戻ります。アプリに戻ると、新しいデータがある場合は、現在の位置の上に読み込まれます。
現在の設定では、3 つのクラスを使用しています。
public class NewNotifications extends SherlockFragment {....} // THE FRAGMENT WHERE THE DATA IS PROCESSED
public class NewNotificationsAdapter extends BaseAdapter {....} // THE ADAPTER FOR THE CUSTOM LISTVIEW
public class NotificationsData {} // A HELPER SETTER / GETTER CLASS
現在表示されているすべてのデータは、Facebook SDK を使用してライブでフェッチされており、すべて正常に機能しています。しかし、発生する膨大なデータ使用量が懸念されます。たとえば、上記の 3 つのクラスは連携して動作し、現在ログインしているユーザーの新旧の通知を表示します。しかし、ユーザーが [通知] ボタンをクリックするたびに、新しい通知であるかどうかに関係なく、同じデータが何度も取得されます。これは私に最初の質問をもたらします。
質問:
主な問題は、Twitter などのアプリはListView
、デバイスが何をしているかに関係なく、正確な位置をどのように保存するのかということです。電話を 20 回再起動しても、同じ状態に戻ることがあります。
明らかに、データはどこかに保存されています。Database
またはSharedPreference
ファイルに保存しますか? 私は考えがちDatabase
です。しかし、私は他の選択肢を知りたいです。当然のことながら、受信したデータを処理しながら ( Fragment に) 格納することが最善の選択肢であると考える傾向もあります。
私のGoogle fooが見つけられなかったこのタスクを実行するライブラリはありますか? それとも、そのようなタスクのロジックをすべて自分で作成する必要がありますか? この趣旨の提案に関係なく、私はあらゆる提案を受け入れます。私は怠惰な既製のソリューションを探していません。私は単に提案/指示を求めるだけです。:-)
非常に主観的な質問で、締め切られそうな状態で申し訳ありません。