android导入外部数据库的使用
来源:互联网 发布:淘宝超过发货时间 编辑:程序博客网 时间:2024/06/08 14:29
在android中有时候要用到外部已经生产好了的数据库文件,我们该如何访问外部已经写好的数据库文件呢?
第一步,把数据库文件拷贝到我们的安卓项目下的assets目录下,如下:
第二步,android中不是不能直接访问assets下的数据库文件的,所以我们得把assets下的数据库文件复制到/data/data/package/databases下,其中
/data/data/package/databases中的package是你的应用程序包名,下面代码将数据库文件拷贝到指定该目录下
package whzy.jjgd.useexistdb;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import android.content.Context;import android.os.Environment;public class DBManager {private Context mContext;// 数据库名public static final String DB_NAME = "X3crhtrain.db";// 应用程序包名public static final String PACKAGE_NAME = "whzy.jjgd.useexistdb";// 数据库路径public static final String DB_PATH = "/data"+ Environment.getDataDirectory().getAbsolutePath() + "/"+ PACKAGE_NAME + "/databases";DBManager(Context context){mContext = context;}public void copyDatabase(){File db_path = new File(DB_PATH);if(!db_path.exists()){db_path.mkdirs();}File dbfile = new File(db_path, DB_NAME);// 判断数据库文件是否存在,// 若不存在,将/assets下的数据库文件导入到/data/data/package/databases下// 若存在,就直接打开数据库try {if (!dbfile.exists()) {// 获取读取/assets下的数据库文件的输入流InputStream is = mContext.getResources().getAssets().open(DB_NAME);// 创建往数据库中写数据的输出流FileOutputStream fos = new FileOutputStream(dbfile);byte[] buffer = new byte[1024];int count = -1;while((count = is.read(buffer)) != -1){fos.write(buffer, 0, count);}fos.close();is.close();}} catch (IOException e) {e.printStackTrace();}}}
执行应用程序后,我们将可以看到你项目包名对应下将会有我们想访问的数据库了,如下
之后,我们就可以访问该数据库文件了。
0 0
- android导入外部数据库的使用
- android外部数据库的导入使用
- android 导入外部数据库
- android 导入外部数据库
- android 导入外部数据库
- android导入外部数据库
- Android导入外部数据库
- Android导入外部数据库
- android导入外部数据库
- android导入外部已存在的数据库
- Android Sqlite 导入外部数据库
- android 导入外部数据库注意事项
- android使用外部数据库
- [Android]如何导入已有的外部数据库
- [Android]如何导入已有的外部数据库
- [Android]如何导入已有的外部数据库
- android之 导入外部sqlite数据库
- Android 如何导入已有的外部数据库
- [Happy Coding] 加速Windows GUI debug版本的编译
- Android 性能分析案例
- 探究内存泄露—Part1—编写泄露代码
- sun.misc.BASE64Encoder找不到jar包的解决方法
- db2 SQL
- android导入外部数据库的使用
- 网络管理软件发展趋势
- ServletRrquest
- loading黑马程序员之银行业务调度系统(5-2)
- java金融货币处理
- 探究内存泄露—Part2—分析问题
- 获取数据库当天,前一天的数据
- DBCP数据库连接池的使用
- Linux系统Shell修改密码