publicclassDBService{
private DBOpenHelper dbHelper;
publicDBService(Context context) {
this.dbHelper = new DBOpenHelper(context);
}
publicvoidsave(Person person) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL("insert into person (name) values(?)", new Object[] {person.getName()});
//db.close();
}
publicvoidupdate(Person person) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL("update person set name=? where personid=?",
new Object[] {person.getName(), person.getId()});
}
publicvoiddelete(Integer id) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL("delete from person where personid=?",
new Object[] {id.toString()});
}
public Person find(Integer id) {
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from person where personid=?",
new String[]{id.toString()});
if(cursor.moveToFirst()) {
int personId = cursor.getInt(cursor.getColumnIndex("personid"));
String personName = cursor.getString(cursor.getColumnIndex("name"));
returnnew Person(personId, personName);
}
cursor.close();
returnnull;
}
public List<Person> getScrollData(Integer offset, Integer maxResult) {
List<Person> persons = new ArrayList<Person>();
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from person limit?,?",
new String[]{offset.toString(), maxResult.toString()});
while(cursor.moveToNext()) {
int personId = cursor.getInt(cursor.getColumnIndex("personid"));
String personName = cursor.getString(cursor.getColumnIndex("name"));
Person person = new Person(personId, personName);
persons.add(person);
}
cursor.close();
return persons;
}
publiclonggetCount() {
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select count(*) from person", null);
cursor.moveToFirst();
return cursor.getLong(0);
}
}
4.新建单元测试类对业务类中的方法进行测试:
publicclassTestextendsAndroidTestCase{
publicvoidtestCreateDB() throws Exception {
DBOpenHelper dbHelper = new DBOpenHelper(this.getContext());
dbHelper.getWritableDatabase();
}
publicvoidtestSave() throws Exception {
DBService dbService = new DBService(this.getContext());
Person person = new Person();
person.setName("哈哈");
dbService.save(person);
}
publicvoidtestUpdate() throws Exception {
DBService dbService = new DBService(this.getContext());
Person person = dbService.find(1);
person.setName("不哈哈 ");
dbService.update(person);
}
publicvoidtestDelete() throws Exception {
DBService dbService = new DBService(this.getContext());
dbService.delete(1);
}
publicvoidtestFind() throws Exception {
DBService dbService = new DBService(this.getContext());
Person person = dbService.find(1);
Log.i("FIND", person.toString());
}
publicvoidtestgetScrollData() throws Exception {
DBService dbService = new DBService(this.getContext());
List<Person> persons = dbService.getScrollData(0, 3);
for(Person person : persons) {
Log.i("DATA", person.toString());
}
}
publicvoidtestgetCount() throws Exception {
DBService dbService = new DBService(this.getContext());
Log.i("COUNT", dbService.getCount()+"");
}
}