「最初の実行時にデータベースを作成する」という目的のために、次のときに呼び出されるメソッドを提供する を使用する必要がありますSQLiteOpenHelper
。onCreate()
[...] データベースは初めて作成されます。
データベース ファイル自体が作成されます (手動で行う必要はありません)。このメソッドでは、データベースに標準エントリを入力するなどのアクションを実行できます。
サーバーから取得した情報をデータベースに入力する場合、インターネット接続が利用できない場合に問題が発生する可能性があります。
この場合、利用可能な接続があるかどうかを確認します。
- ある場合は、情報を入手してください。
- そうでない場合は、トーストまたはその他の通知を表示して、ユーザーに通知します。
SQLiteDatabase
データベースに標準エントリが入力されているかどうかを判断するには、 -classによっても提供される database-version を使用できます。
さらに、次の理由により、getReadableDatabase()
/getWritableDatabase()
メソッドはメインスレッドから呼び出す必要があります。
データベースのアップグレードには時間がかかる場合があります。ContentProvider.onCreate() を含め、アプリケーションのメイン スレッドからこのメソッドを呼び出さないでください。
したがって、インターネットからの情報取得は、onCreate()
および -メソッドで行うことができますonOpen()
(最初の試行で成功しなかった場合)。(たとえば) Serviceを使用してこれを行うことができます。