sqlite 在Android中使用.sql文件?

ix0qys7i  于 2022-12-13  发布在  SQLite
关注(0)|答案(1)|浏览(151)

我正在做android项目。在我的项目中,我有一个“DatabaseFood**.sql**”文件(最初是一个.csv文件),它看起来像这样

BEGIN TRANSACTION;
CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US');
INSERT INTO `android_metadata` VALUES ('en_US');
 CREATE TABLE "DBfood" (
`SNo.`  INTEGER,
`Food`  TEXT,
`Calories`  INTEGER,
`Protein`   INTEGER,
`Fats`  INTEGER,
`Carbs` INTEGER,
`Fibers`    INTEGER);
 INSERT INTO `DBfood` VALUES (1,'Apple',120,50,40,30,20);
 INSERT INTO `DBfood` VALUES (2,'Banana',111,45,40,50,21);
 INSERT INTO `DBfood` VALUES (3,'Orange',91,31,33,19,21);
 INSERT INTO `DBfood` VALUES (4,'Grapes',110,41,11,14,13);
 INSERT INTO `DBfood` VALUES (5,'Mango',150,51,12,41,53);
 COMMIT;

现在我的问题是-
如果我计划在其中包含大约20000个条目,我该把这个文件放在哪里?在res/raw文件夹或res/assets文件夹或其他地方。
我如何使用文件中的所有数据。例如,如果我想获得苹果的热量,或者如果我想获得橙子的蛋白质。
我怎么能用食物的属性(卡路里,蛋白质等)进行算术运算呢?
请用示例代码或参考来回答我的问题。另外,如果您知道如何将此文件与“DatabaseHelper.java”(例如)类匹配,我们将在该类中创建表并执行CRUD操作和查询。
但请记住,它总是发生在非常大量的数据。我只把代码,以便它变得容易回答与样本代码。

xmjla07d

xmjla07d1#

我建议你阅读这篇文章:http://www.vogella.com/tutorials/AndroidSQLite/article.html#loader_cursorloader
它详细解释了如何在Android应用程序中处理SQL操作,也包含了大量的代码示例。它应该回答了你的大部分问题。
一旦在首次启动应用程序时创建了数据库,就可以执行SQL提供的任何操作,包括算术。
至于放置.sql文件的位置:您可以将其放在/res/assets文件夹中,并通过

context.getAssets().open("my_sql_file.sql");

祝你好运!

相关问题