私のアプリでは、4 つの列を持つ 1 つのテーブルを含むデータベースが必要です。このテーブルとそのパラメーターは、作成後に静的になるため、リスト ビューにリストされる同じデータで同じ場所にとどまります。
私はこの目的のために DatabaseHandler を持っていますが、私が求めているのは、このデータベースをコードでどのように定義するのかということです。起動するたびに再構築されますか、それとも最初の起動時のみですか? それはどのように機能しますか?
それを行うには多くの方法があります。私が従うのは、起動アクティビティでデータベースとテーブルを作成することです。次に、テーブル内のレコード数をカウントしてデータを挿入します(静的テーブルの場合のみ)。if(number of records == 0)
次に、データベースにデータを挿入します。それ以外の場合は、アプリのコードを実行します。動作するはずです。
編集
これは、データベース内のレコードの総数を取得するためのコードです
データベースクラス内
YourDatabase
public class YourDatabase extends SQLiteOpenHelper{
//coding for table create and insert records goes here
//Your tables total number of records can be identified by following code
public long yourTableCount()
{
SQLiteDatabase db = getReadableDatabase();
return DatabaseUtils.queryNumEntries(db, YOURTABLE_NAME);
}
}
あなたの活動
アクティビティからデータベースクラスを呼び出す
YourDatabase db = new YourDatabase(this);
long numberofrecords = db.yourTableCount();
if(numberofrecords == 0)
{
//Insert your data in to database
//This will happen only in first launch because after that the numberofrecords == total number of records inserted in the database.
}
データベース・マネージャーを使用して、データベースを手動で作成できます。アセットフォルダにデータベースを定義すると、データベースはそこに残り、ビルド時にapkファイル内に圧縮されます。データベースを設計できる無料の試用版があるSQLiteManagerを試してみてください。または、ここでFirefoxアドオンを使用します:https ://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/