将外部sqlite3数据库导入到Android项目中(android studio)
来源:互联网 发布:海湾主机编程软件 编辑:程序博客网 时间:2024/04/28 04:39
第一步:将数据库文件放入到assets目录中。注意android studio需要将assets目录建在main项目下。即和java,res等文件夹是同级的。
第二步:首次使用app,将assets目录下的数据库文件加载到android手机的sd下
/** * 见assets目录下的文件拷贝到sd上 * @return 存储数据库的地址 */ // 复制和加载区域数据库中的数据 public static String CopySqliteFileFromRawToDatabases(String SqliteFileName) throws IOException { // 第一次运行应用程序时,加载数据库到data/data/当前包的名称/database/<db_name> File dir = new File("data/data/" + MyApplication.getContext().getPackageName() + "/databases"); LogUtil.i("!dir.exists()=" + !dir.exists()); LogUtil.i("!dir.isDirectory()=" + !dir.isDirectory()); if (!dir.exists() || !dir.isDirectory()) { dir.mkdir(); } File file= new File(dir, SqliteFileName); InputStream inputStream = null; OutputStream outputStream =null; //通过IO流的方式,将assets目录下的数据库文件,写入到SD卡中。 if (!file.exists()) { try { file.createNewFile(); inputStream = MyApplication.getContext().getClass().getClassLoader().getResourceAsStream("assets/" + SqliteFileName); outputStream = new FileOutputStream(file); byte[] buffer = new byte[1024]; int len ; while ((len = inputStream.read(buffer)) != -1) { outputStream.write(buffer,0,len); } } catch (IOException e) { e.printStackTrace(); } finally { if (outputStream != null) { outputStream.flush(); outputStream.close(); } if (inputStream != null) { inputStream.close(); } } } return file.getPath(); }
第三不:使用sd下的数据库文件。
/** * 获取全国的省份 * * @return */ public void getProvincesFromSQLite() { SQLiteDatabase sqLiteDatabase = SQLiteDatabase.openDatabase(sqliePath, null, SQLiteDatabase.OPEN_READONLY); Cursor cursor = sqLiteDatabase.rawQuery("SELECT * from T_Province", null); provincesList.clear(); if (cursor.moveToFirst()) { do { String proSort = cursor.getString(cursor.getColumnIndex("ProSort")); String proName = cursor.getString(cursor.getColumnIndex("ProName")); provincesList.add(new Province(proSort,proName)); }while (cursor.moveToNext()); cursor.close(); } provinceAdapter.notifyDataSetChanged(); }
0 0
- 将外部sqlite3数据库导入到Android项目中(android studio)
- android studio将外部sqlite3数据库导入到Android项目中
- 将eclispe中项目导入到Android Studio中
- Android studio中导入外部项目
- 将eclipse中的项目导入到android studio 中
- 将eclipse项目导入到android studio
- Android Studio导入外部项目
- 将xutils导入到android studio中
- android studio 导入外部库文件,以及将项目中module引用依赖
- android studio 导入外部库文件,以及将项目中module引用依赖
- android studio 导入外部库文件,以及将项目中module变成library引用依赖
- android studio 导入外部库文件,以及将项目中module变成library引用依赖
- android studio 导入外部库文件,以及将项目中module变成library引用依赖
- Android Studio 将本地开源库导入到自己的项目中使用(小记)
- eclipse 项目 导入到 Android studio 中
- Eclipse项目导入到Android studio中
- eclipse项目导入到Android Studio中
- eclipse项目导入到Android Studio中
- 为Retrofit 2.0 添加缓存
- Xilinx FPGA入门连载37:SRAM读写测试之时序解读
- 十步完全理解SQL
- CALayer
- achartengine与Android中ScrollView的冲突问题
- 将外部sqlite3数据库导入到Android项目中(android studio)
- Spring的BeanUtils.copyProperties用法
- webdriver与浏览器_操作页面元素—单选按钮/多选按钮
- 转载:阿里云服务器 ECS Ubuntu系统安装配置
- 给定坐标点,绘制轨迹
- 2016-01-20 FFC
- extjs combobox 如何获取点击事件
- Elasticsearch filter
- ios富文本自适应