2013-12-11 85 views
0

在我的應用程序中,我想要一個小型數據庫(.sql),其中包含有關食物中能量(kCal)的數據。.sql文件顯示爲表?

問題是,我對SQL有一些專業知識,但是我並沒有真正將我的數據庫加入到我的應用程序中。我必須創建一個新的.java文件嗎?或者我讀過其他地方,在我的資產?我認爲數據庫不在服務器上,只在應用程序內。我已經擁有的項目是關於食物,超重和BMI。現在我想添加一個關於食物中kCal數量的數據庫。

我真的不知道我在這裏要說些什麼。希望你明白我想要做什麼。我已閱讀Stackoverflow上的所有相關問題,但仍未得到答案。

如果你能幫助我,你會成爲我的英雄! :)

謝謝大家提前,

雅各

回答

0

Android的內置設備上的DBMS不是MySQL,但是SQLite的。你可以找到一個很好的教程,設置它並將其集成到您的應用程序here.

0

創建SQLite數據庫文件,其中包含您想要的任何數據在您的PC上。然後在Eclipse的項目根目錄中創建一個資源文件夾(與src /,bin /,libs /,res /等級相同)。把你的SQLite文件放在那裏。然後編寫一些代碼將該資產文件複製到設備上的正確位置。以下是我目前使用的代碼。當我還是初學者時,我寫了一段時間,所以可能有更好的方法,但這是有效的。

try { 
    InputStream is = getActivity().getApplicationContext().getAssets().open("sourceDatabaseFile.db"); 
    OutputStream os = new FileOutputStream(getActivity().getApplicationContext().getDatabasePath("destinationDatabaseFile.db")); 
    byte[] buffer = new byte[1024]; 
    int length; 
    while ((length = is.read(buffer)) > 0) { 
    os.write(buffer, 0, length); 
    } 
    os.flush(); 
    os.close(); 
    is.close(); 
} catch (FileNotFoundException e) { 
} catch (IOException e) { 
} 

另一種方法是創建一個使用某些Android代碼的數據庫,然後有一個包含所有SQL語句將數據插入到數據庫中的(巨)類。