Android(安卓)对 SDCARD 卡 上的sqlite3 db 文件进行操作总结
16lz
2021-01-26
近日学习 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); }
希望我的一点经验可以供其他朋友帮助
更多相关文章
- Android(安卓)system.img 打包解包
- Android(安卓)导出 ANR 文件
- 【Android】用Eclipse和robotium-solo测试Android(安卓)APP前的
- Android的国际化与本地化
- Android下查询系统源码看短信的显示
- 关于android中操作sim卡联系人的相关内容
- 打开Android(安卓)C文件中的LOG
- Android程序反编译
- ionic 发布 android apk