Android--SQLite应用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android--SQLite应用相关的知识,希望对你有一定的参考价值。
下载地址:http://www.sqlite.org/download.html
教程地址:http://www.runoob.com/sqlite/sqlite-tutorial.html
1、在Windows安装SQLite,进行测试。
参考博客:Windows 上如何安装Sqlite
将sqlite3.def、sqlite3.dll与sqlite3.exe复制到D:\\sqlite
在CMD命令行中创建数据库,如图方法:
参考博客:SQLite3创建数据库的方法
SQLite语句测试,如下图:
SQLite分页查询方法
order by 与 limit同用注意事项
参考博客:
同时使用order by和limit有时候返回错误的结果集的奇怪问题
http://bbs.chinaunix.net/thread-1276235-1-1.html
(出处: http://bbs.chinaunix.net/)
2、android 使用API
参考博客: Android中SQLite应用详解
注:必须添加SD卡创建与删除文件权限
<!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 向SD卡写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.CLEAR_APP_CACHE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
初始化数据库表代码:
/** * 初始化数据库表 */ private void InitTable(){ db = openOrCreateDatabase("db.db", Context.MODE_PRIVATE, null); Cursor cursor = db.rawQuery(SqlStatement.getInitStr(),null); boolean result = false; if(cursor.moveToNext()){ int count = cursor.getInt(0); if(count>0){ result = true; } } cursor.close(); if(!result){//如果错误,创建表 db.execSQL(SqlStatement.getCreateStr()); } }
java字符串格式化
参考博客: JAVA字符串格式化-String.format()的使用
String.xml中的字符串不能含有 ‘
SQLite查询数据方法,如下:
String limit = String.valueOf(this.mPageSize); String sql =SqlStatement.getSearchStr(goods,limit,offset); Cursor cursor = db.rawQuery(sql,null); this.mDataList = new ArrayList<DataItem>();//初始化列表 while(cursor.moveToNext()){ int id = cursor.getInt(cursor.getColumnIndex("ID")); String itemName = cursor.getString(cursor.getColumnIndex("Goods")); String price = cursor.getString(cursor.getColumnIndex("Price")); DataItem item = new DataItem(id,itemName, price); this.mDataList.add(item); } cursor.close();
以上是关于Android--SQLite应用的主要内容,如果未能解决你的问题,请参考以下文章
如何在从cordova创建的本机代码中使用相同的android SQLite DB?