我正在为我正在开发的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);
但这不起作用。有什么想法吗?这是一种简单明显的东西,我可以忽略。
将其分成两部分。第一部分:创建数据库。第二部分:创建一个方法,用你的对象更新数据库,比如说创建一个名为'addFood'的方法,在那里你执行一个合适的'db.execSQL','db。查询“等等。您可能还需要一些帮助器方法来检查数据库是否存在等等。另外,请记住:http://stackoverflow.com/a/7164505/429047 – 2012-03-07 04:34:09