2017-03-05 94 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

如果這不適合您的具體需要,你應首先做你的研究,開始一個實施,並重新說明你的問題到底是你的問題。