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 Sqlite改变数据库?_Android_Sqlite_Apk - Fatal编程技术网

Android Sqlite改变数据库?

Android Sqlite改变数据库?,android,sqlite,apk,Android,Sqlite,Apk,我是一个android初学者,被赋予了一个非常有挑战性但很有趣的项目。我必须编写一个程序来提供不同的测验,但困难的部分是不断变化的数据库。任何想使用它的老师都可以在C#软件中写下自己的问题,然后生成一个sqlite数据库作为输出发送给android应用程序,然后老师就可以在android手机上与学生进行不同的考试。关键是学生只需安装一次apk,从那时起,他们只需获得sqlite文件,即可被android应用程序读取。如何能够以上述方式读取sqlite? 提前通知Tnx 您的C#程序需要生成DDL

我是一个android初学者,被赋予了一个非常有挑战性但很有趣的项目。我必须编写一个程序来提供不同的测验,但困难的部分是不断变化的数据库。任何想使用它的老师都可以在C#软件中写下自己的问题,然后生成一个sqlite数据库作为输出发送给android应用程序,然后老师就可以在android手机上与学生进行不同的考试。关键是学生只需安装一次apk,从那时起,他们只需获得sqlite文件,即可被android应用程序读取。如何能够以上述方式读取sqlite? 提前通知Tnx

您的C#程序需要生成DDL,然后可以在Android应用程序中执行。您的Android代码可能如下所示:

String ddl = "CREATE TABLE [Quiz] (" +
    "[id] INTEGER NOT NULL ON CONFLICT ROLLBACK PRIMARY KEY, " +
    "[question] CHAR NOT NULL)";
db.execSQL (ddl);

如果您想查看DDL示例,请在开发机器上安装Sqlite,并安装sql工具(如Sqlite Expert)来创建和查看数据库。

一般来说,我认为这不是一种好的设计方法。从HTTP请求读取测验数据会更容易。但是,如果您无法更改要求,则正在搜索一种在运行时导入sql备份的方法,如下所述:


如果这不完全符合您的需要,您应该首先进行研究,开始实施并重新表述您的问题。不幸的是,我无法更改C#软件的代,因为此项目必须按照我提到的方式进行。那么您的问题是什么?无论如何,您需要以某种方式创建一个数据库,这可以通过DDL轻松完成。C#软件产生什么?正如我之前提到的问题主题,我无法改变C#软件的输出,如果我是,我不知道如何改变。每次进行不同的考试时,我都需要阅读sqlite数据库。我知道DDL,我想我们称之为查询。但我会得到一个完整的sqlite,其中有两三个表要在我的应用程序中读取。我知道你的C#应用程序有某种“给定”的输出。我不知道什么是“完整的sqlite”。我想你是得了DDL。如果是这样,我已经向您展示了如何从给定的DDL构建sqlite数据库。如果这对你不起作用,请解释。让我解释一下。正如你提到的,我必须使用这种ddl来创建表。但我要说的是,我必须阅读一个包含3个表的sqlite数据库。c#软件生成sqlite,我的应用程序将读取此输出。在安装应用程序后,我不知道如何读取这个sqlite文件,如果我正确理解了它,这个过程就像用文件(java文件)恢复给定的数据库。让我感谢你的关注。你想得太多了。只要让android从SD卡上的SQLite数据库读取即可。在需要时用C#as创建的新数据库替换SD卡上的SQLite db。Tnx但这种替换至少对我来说是一个挑战。让我解释一下,安全性是很重要的,因为它是一个提供考试的应用程序,所以在一次考试结束后不应该有任何数据库。