PersonHelper
package com.huawei.demo.db;
import java.util.List;
public class PersonHelper extends SQLiteOpenHelper {
private static final String TABLE_NAME = "person";
private static final int VERSION = 1;
private static final String TAG = "PersonHelper";
private static final String CREATE_PERSON_TABLE = "CREATE TABLE PERSON(ID INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "NAME VARCHAR(50), PHONE VARCHAR(20))";
private static final String DROP_TABLE_PERSON = "DROP TABLE IF EXISTS PERSON";
public PersonHelper(Context context ) {
super(context, TABLE_NAME, null, VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_PERSON_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(DROP_TABLE_PERSON);
onCreate(db);
}
public long addPerson(Person person) {
Log.d(TAG, "====> addPerson");
SQLiteDatabase db = getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("name", person.getName());
contentValues.put("phone", person.getPhoneNumber());
long result = db.insert(TABLE_NAME, null, contentValues);
db.close();
return result;
}
public void deletePerson(String id) {
SQLiteDatabase db = getWritableDatabase();
db.delete(TABLE_NAME, "id=?", new String[] { id });
}
public Cursor selectAllPerson() {
SQLiteDatabase db = getReadableDatabase();
return db.query(TABLE_NAME, new String[] { "id", "name", "phone" },
null, null, null, null, "id desc");
}
public int updatePerson(Person person) {
SQLiteDatabase db = getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("name", person.getName());
contentValues.put("phone", person.getPhoneNumber());
return db.update(TABLE_NAME, contentValues, "id=?",
new String[] { person.getId() });
}
public Person findPersonByNumber(String inNumber) {
Person person = null;
SQLiteDatabase db = getReadableDatabase();
Cursor cur = db.query(TABLE_NAME,
new String[] { "id", "name", "phone" }, "phone=?",
new String[] { inNumber }, null, null, null);
while (cur.moveToNext()) {
person = new Person(cur.getString(cur.getColumnIndex("ID")),
cur.getString(cur.getColumnIndex("NAME")),
cur.getString(cur.getColumnIndex("PHONE")));
break;
}
cur.close();
db.close();
return person;
}
public void savePersons(List<Person> pers) {
SQLiteDatabase db = getWritableDatabase();
for (Person p : pers) {
ContentValues contentValues = new ContentValues();
contentValues.put("name", p.getName());
contentValues.put("phone", p.getPhoneNumber());
db.insert(TABLE_NAME, null, contentValues);
}
db.close();
}
}