如何将SQLite数据库(dictionary.db文件)与apk文件一起发布

  1. private SQLiteDatabase openDatabase()  

  2. {  

  3.     try  

  4.     {  

  5.         // 获得dictionary.db文件的绝对路径  

  6.         String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;  

  7.         File dir = new File(DATABASE_PATH);  

  8.         // 如果/sdcard/dictionary目录中存在,创建这个目录  

  9.         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.             fos.close();  

  27.             is.close();  

  28.         }  

  29.         // 打开/sdcard/dictionary目录中的dictionary.db文件  

  30.         SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(  

  31.                 databaseFilename, null);  

  32.         return database;  

  33.     }  

  34.     catch (Exception e)  

  35.     {  

  36.     }  

  37.     return null;  

  38. }  

     在openDatabase方法中使用了几个常量,这些常量是在程序的主类(Main)中定义的,代码如下:

代码 


  1. public class Main extends Activity implements OnClickListener, TextWatcher  

  2. {  

  3.     private final String DATABASE_PATH = android.os.Environment  

  4.             .getExternalStorageDirectory().getAbsolutePath()  

  5.             + "/dictionary";  

  6.     private final String DATABASE_FILENAME = "dictionary.db";  

  7. }  


转载于:https://my.oschina.net/u/2404790/blog/671082

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值