Android--SQLite应用

学向勤中得,萤窗万卷书。这篇文章主要讲述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命令行中创建数据库,如图方法:

Android--SQLite应用

文章图片

参考博客:SQLite3创建数据库的方法
 
SQLite语句测试,如下图:
Android--SQLite应用

文章图片

 
SQLite分页查询方法
参考博客:Android 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中的字符串不能含有  ‘
【Android--SQLite应用】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();

 



    推荐阅读