Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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 studio与SQL表数据库浏览器的连接_Android_Sqlite_Android Studio_Connect - Fatal编程技术网

Android studio与SQL表数据库浏览器的连接

Android studio与SQL表数据库浏览器的连接,android,sqlite,android-studio,connect,Android,Sqlite,Android Studio,Connect,直截了当: 我正在Android studio中制作一个测验应用程序。我想得到的问题(和答案),将填补应用程序从SQL表,我在数据库浏览器为SQLite 我的问题是如何将这两者联系起来(而不必在android studio中重新输入所有这些问题) 我有一个类似于结构{ID,qusetion,answer}的东西,我只指向我想从表中获取的ID号,它填充了android studio中的数组 我希望这是有意义的:) 关于你可以把每个问题和答案一行一行地放在一个文件中,用一个特定的字符分隔 例: 并读

直截了当:

我正在Android studio中制作一个测验应用程序。我想得到的问题(和答案),将填补应用程序从SQL表,我在数据库浏览器为SQLite

我的问题是如何将这两者联系起来(而不必在android studio中重新输入所有这些问题)

我有一个类似于结构{ID,qusetion,answer}的东西,我只指向我想从表中获取的ID号,它填充了android studio中的数组

我希望这是有意义的:)


关于

你可以把每个问题和答案一行一行地放在一个文件中,用一个特定的字符分隔

例:


并读取该文件,并在第一次打开应用程序时将其全部插入数据库。

假设您能够从DB Browser导出到.sql文件(包括
创建表
语句,因为您将从零开始创建新的数据库),您可以使用此导出的文件在应用程序中重新创建数据库

通过重写该方法,可以执行以下操作:

@Override
public void onCreate(SQLiteDatabase db) {
    // Open the raw SQL file
    InputStream inputStream = context.getResources().openRawResource(R.raw.mydb);
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

    // Read the file
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
      sb.append(line);
    }
    reader.close();

    // Pump the statements into the database
    String queries = sb.toString()
    for (String query : queries.split(";")) {
        db.execSQL(query);
    }
}

mydb
替换为
/res/raw

中sql文件的任何名称,我建议首先阅读Android文档。请注意,Stack Overflow旨在帮助解决特定的编程问题,而不是像这样的更广泛的情况,因此也可以查看一下,或者,如果您已经在DB Browser中创建了结构和数据,您可以将其导出为原始.sql文件,将其放入/res/raw,然后在数据库处理程序的
onCreate
方法中运行该.sql文件。IOUtils不是来自android的类,如果您提到它,您还应该放一个编译链接或其他东西。非常正确,这就是我直接从另一个问题中得出的结论:)将更新为更合适的文件读取解决方案。
@Override
public void onCreate(SQLiteDatabase db) {
    // Open the raw SQL file
    InputStream inputStream = context.getResources().openRawResource(R.raw.mydb);
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

    // Read the file
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
      sb.append(line);
    }
    reader.close();

    // Pump the statements into the database
    String queries = sb.toString()
    for (String query : queries.split(";")) {
        db.execSQL(query);
    }
}