2011-08-12 2 views
2

初めてアプリケーションを実行するときに、ユーザーが関心のあるリスト項目を選択する場所にチェックボックスリストを表示し、それに基づいてプログラムを実行したいと考えています。アプリが実行されるたびに、選択した設定を記憶したり、オプションメニューで変更したりすると、新しい設定が記憶されます。しかし、私が知っていることは、アプリが実行されるたびに最初からアプリを作ることです。Androidでアプリを実行するたびにユーザーの選択内容を保存するにはどうすればよいですか?

同様に、私のアプリは、読み込み専用の大きな変更不可能なデータベースのすべてのデータを順番に読み込みます。現時点では、毎回すべてのデータを作成して開き、取り出します。プログラムの開始時に何かを開いて何かを行うのに数秒かかります。これを回避する方法はありますか、これを回避しようとするのは良い考えですか?

+0

データベースクエリを投稿できますか? –

答えて

2

ユーザの選択を覚えておくには、SharedPreferencesをご覧ください。選択した項目をそこに保存することができます。

データベースに:実際にはあなたのアプリに依存しています。あなたが同時にメモリ内のすべてのデータを必要とする場合、私は開始時にそれを読み込むことを避けています。部品が必要な場合は、必要なときにデータの一部を読み込むことをお勧めします。しかし、あなたのアプリ/ユースケースの正確な知識がなければ、これは伝えるのが難しいです。

データベースをロードするときに何らかの「遅れ」がある場合:おそらくデータベースをUIスレッドでロードしますか(読み込み用に別のスレッドを作成せずに)?それはすべてのUI操作をブロックするので、悪い習慣です。 AsyncTasksをご覧ください。 Thatsはスレッドをラップし、すべてのUIをブロックすることなくバックグラウンドでやりとりできるようにする便利なクラスです。タスク(この場合はロード)が完了したら、onPostExecute()コールバックが提供され、ロードされたデータでUIを更新できます。

関連する問題