SQLite使用在Android的数据存储中占据重要的位置,那么如何将数据存储到数据库中呢?步骤如下:
1. SQLiteOpenHelper
public class SQLiteHelper extends SQLiteOpenHelper{
public SQLiteHelper(Context context) {
super(context, "person.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table secret (id integer primary key autoincrement,name varchar(20),password varchar(20),phone varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
2.使用步骤1中新建的类以及SQLiteDatabase类进行增删改查
public class PersonInfo {
private SQLiteHelper helper;
public UserDao(Context context) {
helper = new SQLiteHelper(context);
}
public void insert(User psw) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", psw.getName());
values.put("password", psw.getPassword());
values.put("phone", psw.getPhone());
db.insert("secret", null, values);
db.close();
}
public void delete(String name) {
SQLiteDatabase db = helper.getWritableDatabase();
db.delete("secret", "name=?", new String[] { name });
db.close();
}
public int update(User password) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", password.getName());
values.put("password", password.getPassword());
values.put("phone", password.getPhone());
int count = db.update("secret", values, "name=?",
new String[] { password.getName() });
db.close();
return count;
}
public List<User> queryAll() {
SQLiteDatabase db = helper.getReadableDatabase();
Cursor c = db.query("secret", new String[] { "name", "password",
"phone" }, null, null, null, null, null);
List<User> list = new ArrayList<User>();
while (c.moveToNext()) {
String name = c.getString(c.getColumnIndex("name"));
String psw = c.getString(c.getColumnIndex("password"));
String phone = c.getString(c.getColumnIndex("phone"));
User password = new User(name, psw, phone);
list.add(password);
}
c.close();
db.close();
return list;
}
public String findData(String name, String data) {
String phone = "";
SQLiteDatabase db = helper.getReadableDatabase();
Cursor c = db.query("secret", null, "name=?", new String[] { name },
null, null, null);
while (c.moveToNext()) {
phone = c.getString(c.getColumnIndex(data));
}
c.close();
db.close();
return phone;
}
public void deleteAll() {
SQLiteDatabase db = helper.getWritableDatabase();
String sql = "DELETE FROM secret;";
db.execSQL(sql);
db.close();
}
}