私が取り組むAndroidアプリケーションのデータベースを作成しています。正しい標準に従ってコードを作成する方法を学びたいと思っています.DbHelperクラスのonCreateメソッドでは、データベースが作成されます。また、onCreateメソッドでデータベースにデータを設定する必要があることも読んでいます。これは正しいです?もしそうなら、どのようにしてオブジェクトをonCreateメソッドに渡すことができるので、それをループしてデータベースに取り込むことができますか?Android SQLite:onCreateメソッドを呼び出してオブジェクトを渡す
public class DbHelper extends SQLiteOpenHelper
{
private static String DATABASE_NAME = "FodoSubstitutes.db";
private static String FOOD_TABLE = "Food";
//Creates the database with db name and calls onCreate().
public DbHelper(Context context)
{
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db)
{
//System.out.println("in onCreate");
//assocID food healthierFood category description count submittedBy
String sql = "CREATE TABLE IF NOT EXISTS " + FOOD_TABLE +
"(Food_ID integer primary key, " +
"Food_Name string not null, " +
"Food_Aliases string, " +
"Hints string, " +
"Category string, " +
"Subcategory string, " +
"Description string, " +
"Submission_ID int, " +
"Comment_ID int, " +
"Count int); ";
db.execSQL(sql);
}
}
私の考えは、このようなことでした。
DbHelper.onCreate(Food myFoodObj);
しかし、それは動作しません。何かご意見は?それは私が見落としているシンプルで明白なものになっています。
これを2つの部分に分割します。パート1:データベースを作成します。パート2:オブジェクトをデータベースに更新するメソッドを作成します。たとえば、 'addFood'というメソッドを作成し、適切な 'db.execSQL'、' dbを実行します。「クエリ」などが含まれる。おそらく、データベースが存在するかどうかをチェックするために、いくつかのヘルパーメソッドも必要になるでしょう。また、これを覚えておいてください:http://stackoverflow.com/a/7164505/429047 –