【问题标题】:Android studio conection with SQL table DB browserAndroid studio 连接 SQL 表 DB 浏览器
【发布时间】:2017-01-09 14:19:47
【问题描述】:

直截了当:

我正在 Android 工作室制作一个测验应用程序。我想从我在 SQLite 的 DB 浏览器中创建的 SQL 表中获取将填充应用程序的问题(和答案)。

我的问题是如何连接这两者(无需在 android studio 中重新输入所有这些问题)。

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

我希望这是有道理的:)

问候

【问题讨论】:

标签: android sqlite android-studio connect


【解决方案1】:

您可以将每个问题和答案逐行放入文件中,并以特定字符分隔。

例如:

What's the color of the sky?;Blue;Red;Yello;Black
Who is Harry potter?;A magician;A girl;A burrito;A car

并读取文件,并在您第一次打开应用程序时将它们插入数据库中。

【讨论】:

    【解决方案2】:

    假设您能够从 DB Browser 导出到 .sql 文件(包括 CREATE TABLE 语句,因为您将有效地从头开始创建一个新数据库),您可以使用这个导出的文件在您的应用程序。

    通过覆盖SQLiteOpenHelper.onCreate() 方法,您可以执行以下操作:

    @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);
        }
    }
    

    /res/raw中的sql文件名替换mydb

    【讨论】:

    • IOUtils 不是 android 的类,如果你提到它,你应该也放一个编译链接什么的。
    • 非常正确,这就是我直接从另一个问题中得到的结果:) 将使用更合适的文件读取解决方案进行更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 2020-11-29
    • 1970-01-01
    • 2013-07-21
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多