城市列表导入本地数据库
来源:互联网 发布:js 字符串一行打印 编辑:程序博客网 时间:2024/06/01 21:57
在做Android应用的时候,不可避免要用到数据库。但是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的。
这就造成了一个问题,这个问题其实很好解决,解决方法如下:
我们首先把有数据的数据库文件放在assets资源目录下边,然后在apk应用启动的时候,把assets目录下的数据库文件的数据写入到真机的内存中去。
将数据库导入
public class AreaSq { // 注意:路径要写自己的包名 // 数据库存储路径 String filePath = "data/data/com.zhangyun.cordbloodbank/area.db"; // 数据库存放的文件夹 data/data/com.main.jh 下面 String pathStr = "data/data/com.zhangyun.cordbloodbank"; SQLiteDatabase database; public SQLiteDatabase openDatabase(Context context) { File jhPath = new File(filePath); // 查看数据库文件是否存在 if (jhPath.exists()) { // 存在则直接返回打开的数据库 // Log.e("kk","存在"); return SQLiteDatabase.openOrCreateDatabase(jhPath, null); } else { // Log.e("kk","不存在"); File path = new File(pathStr); if (path.mkdir()) { // Log.e("kk","创建成功"); } else { // Log.e("kk","创建失败"); } ; try { // 得到资源 AssetManager am = context.getAssets(); // 得到数据库的输入流 InputStream is = am.open("area.db"); // Log.i("test", is+""); // 用输出流写到SDcard上面 FileOutputStream fos = new FileOutputStream(jhPath); // Log.i("test", "fos="+fos); // Log.i("test", "jhPath="+jhPath); // 创建byte数组 用于1KB写一次 byte[] buffer = new byte[1024]; int count = 0; while ((count = is.read(buffer)) > 0) { // Log.i("test", "得到"); fos.write(buffer, 0, count); } // 最后关闭就可以了 fos.flush(); fos.close(); is.close(); } catch (IOException e) { e.printStackTrace(); return null; } // 如果没有这个数据库 我们已经把他写到SD卡上了,然后在执行一次这个方法 就可以返回数据库了 return openDatabase(context); } }
读取
“`
//打开数据库输出流
SQLdm s = new SQLdm();
SQLiteDatabase db =s.openDatabase(getApplicationContext());
//查询数据库中testid=1的数据Cursor cursor = db.rawQuery("select * from testbiao where testid=?", new String[]{"1"}
“
城市数据库下载
http://pan.baidu.com/disk/home#list/path=%2Fandroid%2F%E6%A1%86%E6%9E%B6%2F%E5%85%A8%E5%9B%BD%E5%9F%8E%E5%B8%82%E6%95%B0%E6%8D%AE%E5%BA%93
0 0
- 城市列表导入本地数据库
- android 解析本地中国城市列表的辅助类
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- 城市列表
- Planar reflection clipplane bug on Metal.
- struts2工作原理
- Component 与 Directive定义的区别
- 堆排序heapSort
- Android学习日记(yzy):显示application并调用
- 城市列表导入本地数据库
- mongodb与mysql相比的优缺点
- D. Dreamoon and Sets(Codeforces Round #272)
- butterknife 注解成功但运行报空指针错误
- APP增量更新的实现
- (JAVA+TESTNG 三)Eclipse+TestNG搭建接口自动化测试框架
- 常用的正则表达式
- AIDL自动生成源码分析以及根据自动生成的源码来自定义类实现IPC
- Leetcode-length-of-last-word