刚刚开年,风轻云淡。
昨天领导叫我用SQLite数据库写一个便签。于是,我便写了。
用数据库写便签,无外乎就是对数据库的增删改查的一些操作,UI界面随自己心意而定。
我今天主要也是说一些数据库的操作。话不多说,我们进入正题。
1.SQLite简介
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有ODBC接口,同样比起 Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
二.SQLiteDatabase的介绍
Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用方法。
SQLiteDatabase的常用方法
Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用方法。
SQLiteDatabase的常用方法
创建数据库
创建数据库工具类
增删改查
创建数据库
构造方法创造数据库
super(context , "user" , null , 1);
参数一;上下文对象
参数二:数据库名称
参数三:游标工厂
参数四:当前数据库的版本
创建表
“create table 表名 (name verchar(20) ,age verchar(10) ,sex verchar(10))”
String sql = “create table 表名 (name verchar(20) ,age verchar(10) ,sex verchar(10))”
db.execSQL(sql);
创建数据库工具类
主要用来封装对数据的操作(增删改查)
声明数据库类的对象
声明数据库帮助类
public class MySqliteHelpe{
MySqlite mySqlite = null ;
SQLiteDatabase db = null ;
public MySqliteHelpe(Context context){
mySqlite = new MySqlite(context);
db = mySqlite.getReadableDatabase()
}
public void addUser(){
String sql = "insert info User__info (name , age) values ('coco' , '12')";
db.execSQL(sql);
}
public void findUser(){
String sql = "select * from user_info where name = ?";
Cursor cursor = db.rawQuery(sql , new String[]{"coco"});
cursor.moveToFirst();
while(cursor.isAfterLast){
String name = cursor.getString(cursor.getColumIndex("name"));
String age = cursor.getString(cursor.getColumIndex("age"));
cursor.maveToNext();
}
}
}
删除: delete from table1 范围 delete from user_info where name = 'coco' ;
更新: update table1 set filed1 = values where 范围
查找: select * from table1 where name =
数据库属于耗时操作
重点
数据库存储数据操纵流程
1,创建数据库:
创建一个类extends SQLiteOpenHelper 用构造方法创建数据库 创建表
2,创建数据库帮助类 主要封装对数据库的一些操作
public class
MySqliteHelp { MySqlite mySqlite = null ; SQLiteDatabase db = null ; public MySqliteHelp(Context context ){ mySqlite = new MySqlite(context) ; db = mySqlite .getReadableDatabase() ;
}
|
创建数据库帮助类 主要用来封装对数据的操作(增删改查)
声明数据库类的对象 声明数据库帮助类
|
public void
addUser
(String name){ String sql = "insert into user_info (name) values ('" +name+ "')" ; db .execSQL(sql) ; }
/*
|
添加用户的方法 用到的语句
insert into 表名 (列名)values (‘“+传进来的数据+”’)
db.execSQL(sql) 这句话的意思应该是执行上一句话
|
public int
deleteUser
(String name){ int sum = 0 ; ArrayList<String> arrayList = new ArrayList<>() ; String sqq = "select * from user_info" ; Cursor cursor = db .rawQuery(sqq , null ) ; while (cursor.moveToNext()){ String user_name = cursor.getString(cursor.getColumnIndex( "name" )) ; arrayList.add(user_name) ; } cursor.close() ; for ( int i = 0 ; i<arrayList.size() ; i++){ String ss = arrayList.get(i).toString() ; if (ss.equals(name)){ sum = 1 ; String sql = "delete from user_info where name = '" +name+ "'" ; db .execSQL(sql) ; break; } } return sum ;
}
| |
public int
setUser
(String name_on
,
String name_off){ int sum = 0 ; ArrayList<String> arrayList = new ArrayList<>() ; String sqq = "select * from user_info " ; Cursor cursor = db .rawQuery(sqq , null ) ; cursor.moveToFirst() ; while (cursor.moveToNext()){ String ss = cursor.getString(cursor.getColumnIndex( "name" )) ; arrayList.add(ss) ; } cursor.close() ; for ( int i = 0 ; i<arrayList.size() ; i++){ if (arrayList.get(i).toString().equals(name_on)){ sum = 1 ; String sql = "update user_info set name = '" +name_off+ "' where name = '" +name_on+ "'" ; db .execSQL(sql) ; } } return sum ; }
}
| |
public int
selectUser
(String name){ int sum = 0 ; ArrayList<String> arrayList = new ArrayList<>() ; String sql = "select * from user_info" ; Cursor cursor = db .rawQuery(sql ,null ) ; cursor.moveToFirst() ; while (cursor.moveToNext()){ String select_name = cursor.getString(cursor.getColumnIndex( "name" )) ; arrayList.add(select_name) ; } cursor.close() ; for ( int i = 0 ; i < arrayList.size() ; i++){ if (arrayList.get(i).toString().equals(name)){ sum = 1 ; } } return sum ;
}
| |
public
ArrayList<String>
findUser
(){ String sql = "select * from user_info" ; Cursor cursor = db .rawQuery(sql , null ) ; cursor.moveToFirst() ; ArrayList<String> arrayList = new ArrayList<>() ; while (cursor.moveToNext()){ String name = cursor.getString(cursor.getColumnIndex( "name" )) ; arrayList.add(name) ; } return arrayList ;
}
|
附上GitHub地址:https://github.com/DingMr/NoteDemo
付出不一定有收获,你的点赞是我写下去的动力。