[Android] SQlite的使用
来源:互联网 发布:淘宝买铊的暗语 编辑:程序博客网 时间:2024/05/22 06:48
Android 中三种存储数据的方法
1.SharedPreferences
这种使用了存储轻量级的数据。
2.File
与 Java 的 I/O 流相似。
3.SQLite
SQLite是一款开源的、轻量级的、嵌入式的、关系型数据库。它在2000年由D. Richard Hipp发布,可以支援Java、Net、PHP、Ruby、Python、Perl、C等几乎所有的现代编程语言,支持Windows、Linux、Unix、Mac OS、Android、IOS等几乎所有的主流操作系统平台。
这里着重介绍一下 SQLite 的使用。
首先我们需要在项目中创建一个 SQLite
SQLiteDatabase db = openOrCreateDatabase("user.db", MODE_PRIVATE, null);
代码很简单,传入三个参数,第一个参数是数据库的名字,第二个是存储方式,私有,可读,可写等等。
第三个是工厂,这里传入 null 即可。
接下来执行 sql 语句,建表。
db.execSQL( "create table if not exists usertb(_id integer primary key autoincrement,name text not null,age integer not null,sex text not null)");
或
DBOpenhelper openhelper = new DBOpenhelper(ThirdActivity.this, "stu.db");SQLiteDatabase db = openhelper.getWritableDatabase();
建表完成后,接着就是增删改查了。
增删改查之——增
db.execSQL("insert into usertb(name,sex,age)values('张三','男',23)");
或
ContentValues values = new ContentValues();values.put("name", "张三");values.put("sex", "男");values.put("age", "23");
这里便完成了数据库的增加,打卡 DDMS,貌似 API24 限制了文件的查看,我们可以继续使用 API23 的模拟器或者是真机。打开 data/data//databases,导出到桌面,用相关软件查看,发现已经增加成功了。
增删改查之——删
db.delete("usertb", "name like ?", new String[] {"%三%"});
删除名字中带三的人。
增删改查之——改
values.put("sex", "女");db.update("studb", values,"_id>?", new String[] {"0"});//将全部id大于0的改成女
增删改查之——查
创建一个游标来查询。判断游标不为空,则移动到下一个,读取数据。最后记得关闭游标。
Cursor cursor = db.rawQuery("select*from usertb", null);if (cursor != null) { while (cursor.moveToNext()) { Log.d("tag", "_id: " + cursor.getInt(cursor.getColumnIndex("_id"))); Log.d("tag", "name: " + cursor.getString(cursor.getColumnIndex("name"))); Log.d("tag", "age: " + cursor.getInt(cursor.getColumnIndex("age"))); Log.d("tag", "sex: " + cursor.getString(cursor.getColumnIndex("sex"))); Log.d("tag", "*****************************"); } cursor.close();}
或者有条件查询(查询 id>0 的所有人)
Cursor cursor = db.query("studb", null, "_id>?", new String[] {"0"}, null, null, "name");if (cursor != null) { //查询出所有的字段 String[] names = cursor.getColumnNames(); while (cursor.moveToNext()) { for (String name : names ) { Log.d("tag",cursor.getString(cursor.getColumnIndex(name))); } } cursor.close();
最后记得 db.close()
0 0
- android SQlite 的使用
- android的sqlite使用
- android sqlite 的使用
- android Sqlite 的使用
- Android SQLite的使用
- android SQLite 的使用
- Android SQLite的使用
- Android:Sqlite的使用
- [Android] SQlite的使用
- android SQLite的使用
- android SQLite的使用
- Android SQLite 的使用
- Android使用的SQLite数据库
- android中sqlite的使用
- android中SQLite的使用
- android中SQLite的使用
- Android SQLite的使用实例
- android database sqlite的使用
- elasticsearch学习笔记
- 如何用java开发二维码
- 哈希表---直接进行访问的数据结构
- NSTimer和NSRunLoop在子线程中的使用
- C#异步调用四大方法详解
- [Android] SQlite的使用
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 后缀自动机 转变为 后缀数组
- Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)深入理解
- HDU 5917 Instability (ramsey定理)
- 68. Text Justification
- 使用itoa函数输出二进制格式
- python decode encode问题
- Linux文件编程之虚拟文件系统(VFS)