如何在不是Activity
的子类的类中打开数据库?
在Activity
的子类中,我可以使用openOrCreateDatabase()
但是我可以在不同的类中打开数据库吗?
我尝试将数据库实例设置为静态实例并在Activity
中打开它并在另一个类中获取静态实例,但它会抛出一个异常,说明数据库已关闭。
答案 0 :(得分:2)
查看此tutorial。
我仔细阅读了它,这是一个关于如何在Android中使用SQLite的非常好的教程。
基本上,您需要创建一个将创建表的数据库帮助程序类。然后,您可以在Activity
中使用此帮助程序类来创建数据库和/或表。
答案 1 :(得分:1)
通常的做法是使用SQLite数据库适配器,有时使用与使用数据库的活动分开的帮助程序类。以下是使用代码的示例link。 vogella教程也很好,但是使用ContentProvider会让人有点难以理解只有SQLite数据库需要的内容。
本质上,辅助类负责创建,更新和删除数据库,同时适配器类处理更改值,删除行以及实际调用帮助程序以打开数据库的方法。