近日学习 android 开发 学到 对sqlite3 进行操作 于是想尝试对已存在的sqlite3的数据库文件,放在 sdcard 上进行操作,
先是查到可以用 SQLiteDatabase.openOrCreateDatabase 对 指定db文件进行操作

private SQLiteDatabase db; String pathString = Environment.getExternalStorageDirectory().getPath(); private File f = new File(pathString+"/"+"system.db"); //数据库文件db = SQLiteDatabase.openOrCreateDatabase(f, null);


但是不管如何操作都是报错,提示无法对db文件进行操作,随后用了一天的时间查找资料 终于知道要申请SDcard 权限才能进行操作 需要在 AndroidManifest.xml文件内添加权限代码

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


于是又遇到问题 无法进行查询操作

db = SQLiteDatabase.openOrCreateDatabase(f, null);  Cursor cur = db.query("t_v_phone", new String[]{"phoneid","phonename"},"phoneid = ? ",new String[]{"65"}, null, null, null);  while (cur.moveToNext()) {   String name = cur.getString(cur.getColumnIndex("phonename"));   String id = cur.getString(cur.getColumnIndex("phoneid"));   System.out.println("query-->id:"+id+"  name:"+name);     }


检查后发现在查询条件内列名是区分大小写的而后改为如下代码 查询就通过啦

db = SQLiteDatabase.openOrCreateDatabase(f, null);  Cursor cur = db.query("t_v_phone", new String[]{"PhoneId","PhoneName"},"PhoneId = ? ",new String[]{"65"}, null, null, null);  while (cur.moveToNext()) {   String name = cur.getString(cur.getColumnIndex("PhoneName"));   String id = cur.getString(cur.getColumnIndex("PhoneId"));   System.out.println("query-->id:"+id+"  name:"+name);     } 


希望我的一点经验可以供其他朋友帮助

更多相关文章

  1. Android(安卓)system.img 打包解包
  2. Android(安卓)导出 ANR 文件
  3. 【Android】用Eclipse和robotium-solo测试Android(安卓)APP前的
  4. Android的国际化与本地化
  5. Android下查询系统源码看短信的显示
  6. 关于android中操作sim卡联系人的相关内容
  7. 打开Android(安卓)C文件中的LOG
  8. Android程序反编译
  9. ionic 发布 android apk

随机推荐

  1. Activity背景全透明
  2. android之PopUpWindow显示Listview(文件列
  3. Android:短信发送器
  4. android QRCode
  5. Android的版本(Version)和API-level的对应
  6. android 加载已经安装的apk方式
  7. 【Android】Menu不同菜单的使用介绍
  8. 如何在Android平台上创建自定义的Cordova
  9. android 隐藏键盘 显示键盘
  10. android4.4系统永不锁屏