1.数据库创建
public class DatabaseHolder extends SQLiteOpenHelper {
//创建数据库school。db
public DatabaseHolder( Context context) {
super(context,"school.db",null,1);
}
//数据库里创建表
@Override
public void onCreate(SQLiteDatabase db) {
String sql= "create table " + Cansetanse.Student.TABLE_NAME + " (" + Cansetanse.Student.ID + " integer primary key autoincrement, " +
Cansetanse.Student.COOL_NAME + " text," +
Cansetanse.Student. COOL_AGE + " integer," +
Cansetanse.Student. COOL_MALE + " bool)";
db.execSQL(sql);
}
//更新数据库
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sqll= "DROP TABLE IF EXISTS " + Cansetanse.Student.TABLE_NAME;
db.execSQL(sqll);
onCreate(db);
}
}
2.数据库中读写
public class StudentDao {
DatabaseHolder helpor;
public StudentDao(Context context){
helpor= new DatabaseHolder(context);
}
public boolean crat(Student student){
//增加数据
SQLiteDatabase db=helpor.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("name",student.getName());
values.put("age",student.getAge());
values.put("male",student.isMale());
long i= db.insert(Cansetanse.Student.TABLE_NAME,null,values);
return i>-1 ? true : false;
}
//读取数据
public List<Student> readAll() {
List<Student> result = new ArrayList<>();
SQLiteDatabase db = helpor.getReadableDatabase();
Cursor query = db.query(Cansetanse.Student.TABLE_NAME, null, null, null, null, null, null);
if (query.moveToFirst()) {
do {
int id = query.getInt(0);
String name = query.getString(1);
int age = query.getInt(2);
boolean male = query.getInt(3) == 1 ? true : false;
result.add(new Student(id, name, age, male));
} while (query.moveToNext());
} else {
return null;
}
return result;
}
}
3.MainActivity中实现
public class MainActivity extends AppCompatActivity {
EditText et1,et2;
Button bt1,bt2;
Switch aSwitch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=findViewById(R.id.ed_1);
et2=findViewById(R.id.ed_2);
bt1=findViewById(R.id.btn);
bt2=findViewById(R.id.btn2);
aSwitch=findViewById(R.id.switch1);
//写数据
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Student student=new Student(1,
et1.getText().toString(),
Integer.parseInt(et2.getText().toString()),
aSwitch.isChecked());
StudentDao dao=new StudentDao(MainActivity.this);
boolean su=dao.crat(student);
if (su){
Toast.makeText(MainActivity.this,"成功",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this,"No",Toast.LENGTH_SHORT).show();
}
}
});
//读取数据
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StudentDao studentDao=new StudentDao(MainActivity.this);
List<Student> result = studentDao.readAll();
Toast.makeText(MainActivity.this,result.toString(),Toast.LENGTH_SHORT).show();
}
});
}
}
4.效果图
5.Student部分
package com.example.sqllite.model;
public class Student {
private int id;
private String name ;
private int age;
private boolean male;
public Student(int id, String name, int age, boolean male) {
this.id = id;
this.name = name;
this.age = age;
this.male = male;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isMale() {
return male;
}
public void setMale(boolean male) {
this.male = male;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", male=" + male +
'}';
}
}
6.Cansetanse部分
package com.example.sqllite.dp;
public class Cansetanse {
public static class Student{
public static final String TABLE_NAME = "student";
public static final String COOL_NAME = "name";
public static final String ID = "id";
public static final String COOL_AGE = "age";
public static final String COOL_MALE = "bool";
}
}