2017-03-05 98 views
0

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

+0

你正在超越它。只需让android从SDCard上的SQLite数据库读取即可。将SDCard上的SQLite数据库替换为由C#创建的新数据库,并在必要时进行替换。 – Doomsknight

+0

Tnx但是这种替换对我来说是一个具有挑战性的部分,至少。让我解释一下,安全性是一个重要的事情,因为它是一个给予考试的应用程序,所以在一次考试结束后不应该有任何数据库。 –

回答

0

您的C#程序需要生成DDL,然后您可以在您的Android应用程序中执行该DDL。如果你想看到DDL的样品,在开发机器上安装SQLite和安装SQL工具,如SQLite的专家,创建和查看数据库

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

:您的Android代码可能是这个样子。

+0

不幸的是我不能改变C#软件的世代,因为这个项目必须按照我提到的方式完成。 –

+0

那么你的问题是什么?无论如何,你需要创建一个数据库,这很容易用DDL完成。 C#软件生成什么? –

+0

正如我之前提到我的问题主题,我不能改变任何与C#软件的输出,如果我是我不知道如何。每次需要完成不同的考试时,我都需要阅读sqlite数据库。我知道DDL,我想我们称之为查询。但我会得到一个完整的sqlite有两个或三个表,可以在我的应用程序中读取 –

0

总体而言,我认为这不是一个好的设计方法。从HTTP-Request读取测验数据会更容易。但是,如果你是不是在改变你正在寻找一种方法要求导入在运行时的SQL备份的位置喜欢这里描述:

https://stackoverflow.com/a/6542214/1515052

如果这不适合您的具体需要,你应首先做你的研究,开始一个实施,并重新说明你的问题到底是你的问题。