我正在开发我的第一个 Android 应用程序,我正在尝试实现一个包含一堆食物类型(字符串)的数据库,例如“牛肉、猪肉、鸡肉”,并为它们提供烹饪时间值(int),例如 10000,50000, 30000 等。我的问题是实现这一点的最佳方法是什么。我觉得最好的方法可能是使用外部数据库,但我也在考虑它是否会让我的生活变得地狱。基本上我应该做一个我发现的可以在内部 SQlite 上工作的例子:
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS "
+NAMES_TABLE
+" (_id INT PRIMARY KEY ,name VARCHAR);"
);
db.execSQL("INSERT INTO "+NAMES_TABLE+" values(1,'marco');");
db.execSQL("INSERT INTO "+NAMES_TABLE+" values(2,'luca');");
db.execSQL("INSERT INTO "+NAMES_TABLE+" values(3,'qlimax');");
}
这将在启动时将值添加到内部数据库中,前提是它们不存在。
或者
我应该使用 SQlitebrowser 创建一个数据库并将其放在 /assets 中并从中读取?
现在我正在从 ArrayAdapter 读取我的值,我正在尝试替换它并从数据库中读取它,它看起来像这样:
final FoodType type[] = new FoodType[3];
type[0] = new FoodType("Filet Mignon",50000);
type[1] = new FoodType("Skirt Steak",0);
type[2] = new FoodType("Flank Steak",25000);
ArrayAdapter<FoodType> typeAdapter = new ArrayAdapter<FoodType>(this,android.R.layout.simple_spinner_item,type);
typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
我该怎么办?内部还是外部?