gpt4 book ai didi

Android 外部与内部数据库混淆

转载 作者:行者123 更新时间:2023-11-30 04:48:02 26 4
gpt4 key购买 nike

我正在开发我的第一个 Android 应用程序,我正在尝试用一堆食物类型(字符串)(例如“牛肉、 pig 肉、鸡肉”)实现一个数据库,并为它们设置 cooking 时间值(整数),例如 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);

我该怎么办?内部还是外部?

最佳答案

根据我个人的经验,这取决于您的数据库有多大以及将有多大。例如,我目前正在编写的应用程序有超过 50000 条记录的表,因此最好将已创建的数据库复制到 assets 目录。

另一方面,如果您的数据库足够简单...从代码中填充它会好得多(相信我,这会避免一些麻烦)。

关于您的适配器...用 SimpleCursorAdapter 替换它,它只需要在构造函数中进行一些更改。

关于Android 外部与内部数据库混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com