Android 如何在SQLiteAssetPer中使用多个表?
我使用SQLiteAssetHelper处理数据库,实现选择、插入和更新。但我需要不止一个数据库;我可以将所有数据库的方法放在一个类中吗?我尝试了,但错误是找不到第二个表。谢谢。一个类中的所有数据库方法是什么意思 不能为多个数据库使用单个帮助器类。每个数据库由一个助手表示。然后,您可以创建另一个类,该类在其构造函数中接受帮助器,并使用它创建方法 编辑 对于要使用的每个表,都需要创建一个扩展SQLiteAssetThelper的类 为数据库_name变量中的每个表使用不同的名称Android 如何在SQLiteAssetPer中使用多个表?,android,sqlite,Android,Sqlite,我使用SQLiteAssetHelper处理数据库,实现选择、插入和更新。但我需要不止一个数据库;我可以将所有数据库的方法放在一个类中吗?我尝试了,但错误是找不到第二个表。谢谢。一个类中的所有数据库方法是什么意思 不能为多个数据库使用单个帮助器类。每个数据库由一个助手表示。然后,您可以创建另一个类,该类在其构造函数中接受帮助器,并使用它创建方法 编辑 对于要使用的每个表,都需要创建一个扩展SQLiteAssetThelper的类 为数据库_name变量中的每个表使用不同的名称 然后像往常一样使用
然后像往常一样使用与要读取或写入的表对应的帮助器。这里有一些示例:但我需要不止一个数据库-为什么?一个数据库可以有多个表。@Commonware很抱歉给您带来混淆,我的意思是多个表。那么我可以使用多个表吗?当然可以。在使用SQLiteAssetHelper之前,您熟悉SQLiteOpenHelper吗?不熟悉。。我对java和sql完全陌生。起初我使用openHelper,但为了使用asset下的数据库,我改为SQLiteAssetThelper。我在课堂上分配了两个表,但在主要活动中,找不到第二个表。有关于多个表的教程吗?在主活动中,找不到第二个表-可能您的数据库没有第二个表。请记住,如果已经安装了应用程序,则仅从IDE或命令行运行应用程序不会替换数据库,因为数据库已经存在,除非您增加架构版本。您可以卸载该应用程序,或在“设置”中使用“清除数据”,以清除现有数据库,并强制下一次运行以从资产中解包新数据库。@Commonware也是正确的,或者您也可以增加database_VERSION变量。
public class MyDatabase extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "northwind.db";
private static final int DATABASE_VERSION = 1;
public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
}