私は基本的に、データ保存メカニズムの実装を除いて、開発中のアプリケーションを完成させました (私の最初のアプリケーションです!)。しばらく前にオプションを調べて、SQLiteDatabase を使用するのが最適であると判断しましたが、それを正確に実装する方法について頭を悩ますのは困難だったので、プログラムの残りの部分が完了するまでそのままにしておきました。それ以来、デバイスで実行するたびにすべての値を再入力してテストしています。
アプリは基本的に画面に何も表示されない状態で起動します。ユーザーは (メニューとダイアログを介して) プレーヤーを追加します。プレーヤー リストが完成したら、ユーザーはダイアログで [保存] をクリックします。次に、各プレーヤーのテーブル行が動的に拡張され、ボタン、いくつかの ImageView、および TextView が含まれ、すべて各プレーヤーのさまざまな属性が表示されます。それは私の質問にはあまり関係ありません。
したがって、私のアプリケーションは基本的に Player オブジェクトを追跡するだけです。これをガイドとして使用してデータベースオブジェクトをすべて構築しました: http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/、ほとんどの場合、「連絡先」を「プレイヤー」に置き換えます。
私が理解できないのは、各プレーヤー オブジェクトの「保存」と「読み込み」を正確に実装する場所と、メイン アクティビティの onCreate、onResume、および onStop メソッドで何をすべきかということです。私はこれを何時間も調べていて、AsyncTask も実装する必要があることを学びましたが、それはさらに複雑であり、基本的なデータを脳にロードすることさえできません。 .
AsyncTask と SQLiteDatabase の両方を実装する方法の良い例が、Deitel 開発者シリーズの「Android for Programmers: An App-Driven Approach」という本を読んでいますが、その例では ListActivity で CursorAdapter を使用しているため、自分の状況に適用する方法がわかりません。(私のものはTabActivityです。上で説明したのは、「View Players」タブのみです。)
ユーザーが「プレイヤーの追加ダイアログ」で「保存」をクリックしたときにプレイヤーをデータベースに追加することは理にかなっていますが、プレイヤーオブジェクトを再ロードする場所と、各プレイヤーのテーブル行を再膨張させる場所がわかりません。
申し訳ありませんが、より正確にコードを投稿していませんが、それは一般的な質問であり、約 1000 行の長さなので、アプリ全体を投稿したくありません。どんな助けでも大歓迎です、私はここにすべての小さなことを投稿しないようにしていますが、このことは私をあまりにも長い間イライラさせてきました!