- 为什么要用SQLite
- 什么是SQLite
- 如何创建数据库和数据表
- 如何添加数据
- 如何删除数据
- 如何修改数据
- 如何查询数据
一、为什么要用SQLite
当数据量大,结构复杂时,如果使用SharedPreference和文件存储对数据的操作将变得非常复杂,容易出错,效率低下,Android中提供了SQLite数据存储,帮助我们解决问题,简单来说SQLite就是用来解决存储数据量大和数据复杂
二、什么是SQLite
1.SQLite数据库存储是Android系统提供的数据存储方式之一。
2.SQLite是专为嵌入式设备设计的一款轻量级数据库。
3.SQLite占用资源非常低,在嵌入式设备中,只需要几百k的内存。
四、如何创建数据库和数据表
1.新建类继承SQLiteOpenHelper
2.实现构造方法
3.重写onCreate方法
4.重写upgrade方法
5.实例化SQLiteOpenHelper的子类对象
五、如何添加数据
新建一个方法继承SQLiteOpenHelper类,里面写上sql语句,
public class MySqliteHelper extends SQLiteOpenHelper{
private String sql="create table student("+
"id integer primary key autoincrement not null,"+
"name text,"+
"age integer"+
")";
添加数据
private void addStudent() {
String name=nameET.getText().toString();
int age=Integer.parseInt(ageET.getText().toString());
ContentValues values=new ContentValues();
values.put("name",name);
values.put("age",age);
MySqliteHelper mySqliteHelper=new MySqliteHelper(this,"student_db",null,1);
SQLiteDatabase sqLiteDatabase=mySqliteHelper.getWritableDatabase();
sqLiteDatabase.insert("student",null,values);
}
}
如何删除数据
private void deleteStudent() {
String name=nameET.getText().toString();
String age=ageET.getText().toString();
MySqliteHelper mySqliteHelper=new MySqliteHelper(this,"student_db",null,1);
SQLiteDatabase sqLiteDatabase=mySqliteHelper.getWritableDatabase();
sqLiteDatabase.delete("student","name=?",new String[]{name});
}
如何修改数据
private void updateStudent() {
String name=nameET.getText().toString();
String age=ageET.getText().toString();
MySqliteHelper mySqliteHelper=new MySqliteHelper(this,"student_db",null,1);
SQLiteDatabase sqLiteDatabase=mySqliteHelper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("name","ccc");
sqLiteDatabase.update("student",values,"name=? and age=?",new String[]{name,age});
}
如何查询数据
private void listStudent() {
MySqliteHelper mySqliteHelper=new MySqliteHelper(this,"student_db",null,1);
SQLiteDatabase sqLiteDatabase=mySqliteHelper.getWritableDatabase();
Cursor cursor=sqLiteDatabase.query("student",null,null,null,null,null,null);
cursor.moveToFirst();
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
int id = cursor.getInt(cursor.getColumnIndex("id"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.e("listStudent:" ,id + "-" + name + "-" + age);
SQLite sqLite=new SQLite(id,name,age);
sqLiteList.add(sqLite);
adapter=new SQLiteAdapter(sqLiteList,this);
sql_lv.setAdapter(adapter);
}while (cursor.moveToNext());
}