我需要关于在Android应用中呈现数据的意见。我将所有数据存储在abc.json
文件夹中的json文件res > raw
中。我有一个类,然后从该json文件中读取数据并在应用程序运行时构建SQLite数据库,之后我正在执行所有操作,例如使用该数据库的sql查询搜索数据。但我担心,如果这不是一个好的选择,代码没有优化,因为代码现在包含很多功能,用于将项目添加到数据库。
例如,json文件包含作者,书籍,关键字,引用,确认,子作者,并且在构建数据库时,将读取数据并为每个项目调用特定函数。我只关心因为每个项目的功能太多了。就像每当为一个项目解析json时,例如author,它会调用addAuthors
函数将其添加到数据库中。以下是两个功能,例如。
//Sample function code for adding authors to db
public void addAuthors(Integer id, String Name, String is_corresponding) {
ContentValues value = new ContentValues();
value.put("_id", id);
value.put("NAME", Name);
value.put("IS__CORRESPONDING", is_corresponding);
authors_id = database.insert(TABLENAME_AUTHOR, null, value);
}
//example function for adding keywords to db
public void addKeyWord(String KeyWords, Integer id) {
ContentValues values = new ContentValues();
values.put("KEYWORDS", KeyWords);
values.put("_id ", id);
database.insert(TABLENAME_ABSTRACT_KEY_WORDS, null, values);
}
我需要帮助来优化我的代码。有没有办法优化当前的代码?请帮助我,并建议一些改进。提前致谢
答案 0 :(得分:0)
我建议将sqlite数据库捆绑为APK中的资源,而不是捆绑JSON文件,然后将数据插入数据库。如果您的数据没有变化,那么您可以摆脱所有插入功能。您还将节省动态创建和填充数据库的成本。
您可以使用here描述的方法创建数据库并从APK的资产中复制它。在您尝试在应用中打开之前,请务必先复制它 - 您无法直接将其作为资产打开。