日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

android开发 apk文件,android开发中,将数据库文件与APK一起发布?

發布時間:2023/12/3 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android开发 apk文件,android开发中,将数据库文件与APK一起发布? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2015-11-11 回答

可以將xx.db文件復制到eclipse android工程中的res\raw目錄中。所有在res\raw目錄中的文件不會被壓縮,這樣可以直接提取該目錄中的文件。

使用opendatabase方法來打開數據庫文件,如果該文件不存在,系統會自動創建/sdcard/dictionary目錄,并將res\raw目錄中的 xx.db文件復制到/sdcard/dictionary目錄中。opendatabase方法的實現代碼如下:這里以dictionary.db為例

[java] view plaincopyprint?

01.private sqlitedatabase opendatabase()

02. {

03. try

04. {

05. // 獲得dictionary.db文件的絕對路徑

06. string databasefilename = database_path + "/" + database_filename;

07. file dir = new file(database_path);

08. // 如果/sdcard/dictionary目錄中存在,創建這個目錄

09. if (!dir.exists())

10. dir.mkdir();

11. // 如果在/sdcard/dictionary目錄中不存在

12. // dictionary.db文件,則從res\raw目錄中復制這個文件到

13. // sd卡的目錄(/sdcard/dictionary)

1... 可以將xx.db文件復制到eclipse android工程中的res\raw目錄中。所有在res\raw目錄中的文件不會被壓縮,這樣可以直接提取該目錄中的文件。

使用opendatabase方法來打開數據庫文件,如果該文件不存在,系統會自動創建/sdcard/dictionary目錄,并將res\raw目錄中的 xx.db文件復制到/sdcard/dictionary目錄中。opendatabase方法的實現代碼如下:這里以dictionary.db為例

[java] view plaincopyprint?

01.private sqlitedatabase opendatabase()

02. {

03. try

04. {

05. // 獲得dictionary.db文件的絕對路徑

06. string databasefilename = database_path + "/" + database_filename;

07. file dir = new file(database_path);

08. // 如果/sdcard/dictionary目錄中存在,創建這個目錄

09. if (!dir.exists())

10. dir.mkdir();

11. // 如果在/sdcard/dictionary目錄中不存在

12. // dictionary.db文件,則從res\raw目錄中復制這個文件到

13. // sd卡的目錄(/sdcard/dictionary)

14. if (!(new file(databasefilename)).exists())

15. {

16. // 獲得封裝dictionary.db文件的inputstream對象

17. inputstream is = getresources().openrawresource(r.raw.dictionary);

18. fileoutputstream fos = new fileoutputstream(databasefilename);

19. byte[] buffer = new byte[8192];

20. int count = 0;

21. // 開始復制dictionary.db文件

22. while ((count = is.read(buffer)) > 0)

23. {

24. fos.write(buffer, 0, count);

25. }

26.

27. fos.close();

28. is.close();

29. }

30. // 打開/sdcard/dictionary目錄中的dictionary.db文件

31. sqlitedatabase database = sqlitedatabase.openorcreatedatabase(

32. databasefilename, null);

33. return database;

34. }

35. catch (exception e)

36. {

37. }

38. return null;

39. }

private sqlitedatabase opendatabase()

{

try

{

// 獲得dictionary.db文件的絕對路徑

string databasefilename = database_path + "/" + database_filename;

file dir = new file(database_path);

// 如果/sdcard/dictionary目錄中存在,創建這個目錄

if (!dir.exists())

dir.mkdir();

// 如果在/sdcard/dictionary目錄中不存在

// dictionary.db文件,則從res\raw目錄中復制這個文件到

// sd卡的目錄(/sdcard/dictionary)

if (!(new file(databasefilename)).exists())

{

// 獲得封裝dictionary.db文件的inputstream對象

inputstream is = getresources().openrawresource(r.raw.dictionary);

fileoutputstream fos = new fileoutputstream(databasefilename);

byte[] buffer = new byte[8192];

int count = 0;

// 開始復制dictionary.db文件

while ((count = is.read(buffer)) > 0)

{

fos.write(buffer, 0, count);

}

fos.close();

is.close();

}

// 打開/sdcard/dictionary目錄中的dictionary.db文件

sqlitedatabase database = sqlitedatabase.openorcreatedatabase(

databasefilename, null);

return database;

}

catch (exception e)

{

}

return null;

}

在opendatabase方法中使用了幾個常量,這些常量是在程序的主類(main)中定義的,代碼如下:

[java] view plaincopyprint?

01.public class main extends activity implements onclicklistener, textwatcher

02.{

03. private final string database_path = android.os.environment

04. .getexternalstoragedirectory().getabsolutepath()

05. + "/dictionary";

06. private final string database_filename = "dictionary.db";

07.}

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的android开发 apk文件,android开发中,将数据库文件与APK一起发布?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。