如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
来源:互联网 发布:电信5g网络什么时候出 编辑:程序博客网 时间:2024/06/07 10:03
可以将dictionary.db文件复制到Eclipse Android工程中的res\raw目录中,如图1所示。所有在res\raw目录中的文件不会被压缩,这样可以直接提取该目录中的文件。
使用openDatabase方法来打开数据库文件,如果该文件不存在,系统会自动创建/sdcard/dictionary目录,并将res\raw目录中的 dictionary.db文件复制到/sdcard/dictionary目录中。openDatabase方法的实现代码如下:
代码
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)中定义的,代码如下:
代码
public class Main extends Activity implements OnClickListener, TextWatcher
{
private final String DATABASE_PATH = android.os.Environment
.getExternalStorageDirectory().getAbsolutePath()
+ "/dictionary";
private final String DATABASE_FILENAME = "dictionary.db";
}
使用openDatabase方法来打开数据库文件,如果该文件不存在,系统会自动创建/sdcard/dictionary目录,并将res\raw目录中的 dictionary.db文件复制到/sdcard/dictionary目录中。openDatabase方法的实现代码如下:
代码
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)中定义的,代码如下:
代码
public class Main extends Activity implements OnClickListener, TextWatcher
{
private final String DATABASE_PATH = android.os.Environment
.getExternalStorageDirectory().getAbsolutePath()
+ "/dictionary";
private final String DATABASE_FILENAME = "dictionary.db";
}
0 0
- 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
- 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
- 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
- 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
- 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
- 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
- 如何将SQLite数据库与apk文件一起发布
- 如何将SQLite数据库与apk文件一起发布
- Util工具类 db文件和apk一起发布
- 如何将带数据的SQLite数据与apk程序一起发布
- 关于SQLite数据库随APK一起发布
- Android开发中, 将apk和SQLite数据库一起打包发布 (没root手机)
- Android 开发中,如何将 SQLite 和 APK 一起打包发布
- Android 开发中,如何将 SQLite 和 APK 一起打包发布
- Android 开发中,如何将 SQLite 和 APK 一起打包发布
- Android数据库SQLite文件打包,随APK发布
- 如何将excel表格文件导成SQLite数据库文件(.xls-->.db)
- Android菜鸟笔记-SQLite数据库和APK一起发布
- 自定js方法增加回调函数
- android中webservice请求的异步回调封装(一)
- bash shell 登陆时的执行的用户脚本
- 06.ThreeJs开发指南-第六章-高级几何体
- rplidar使用hector_slam的hector_mapping geotiff创建地图方法(2)
- 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
- jquery 根据值设置radio选中
- POJ 2104 K-th Number 主席树模板题
- Android studio 编译时Error:Configuration with name 'default' not found
- JS代码段记录
- 第2章 变量和基本类型
- ECMAScript 6 学习笔记一 let 和const命令
- 开放OCR API接口助力直销银行
- RecyclerView系列之(1):为RecyclerView添加Header和Footer