Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在SQLiteAssetPer中使用多个表?_Android_Sqlite - Fatal编程技术网

Android 如何在SQLiteAssetPer中使用多个表?

Android 如何在SQLiteAssetPer中使用多个表?,android,sqlite,Android,Sqlite,我使用SQLiteAssetHelper处理数据库,实现选择、插入和更新。但我需要不止一个数据库;我可以将所有数据库的方法放在一个类中吗?我尝试了,但错误是找不到第二个表。谢谢。一个类中的所有数据库方法是什么意思 不能为多个数据库使用单个帮助器类。每个数据库由一个助手表示。然后,您可以创建另一个类,该类在其构造函数中接受帮助器,并使用它创建方法 编辑 对于要使用的每个表,都需要创建一个扩展SQLiteAssetThelper的类 为数据库_name变量中的每个表使用不同的名称 然后像往常一样使用

我使用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);
    }
}