[java]view plaincopyprint?
1. package com.scott.db; 2.
3. import java.util.ArrayList; 4. import java.util.List; 5.
6. import android.content.ContentValues; 7. import android.content.Context; 8. import android.database.Cursor;
9. import android.database.sqlite.SQLiteDatabase; 10.
11. public class DBManager { 12. private DBHelper helper; 13. private SQLiteDatabase db; 14.
15. public DBManager(Context context) { 16. helper = new DBHelper(context); 17. //因为getWritableDatabase内部调用了
mContext.openOrCreateDatabase(mName, 0, mFactory);
18. //所以要确保context已初始化,我们可以把实例化DBManager的步骤放在
Activity的onCreate里
19. db = helper.getWritableDatabase(); 20. } 21. 22. /**
23. * add persons 24. * @param persons 25. */
26. public void add(List
29. for (Person person : persons) {
30. db.execSQL(\
new Object[]{person.name, person.age, person.info}); 31. }
32. db.setTransactionSuccessful(); //设置事务成功完成 33. } finally {
34. db.endTransaction(); //结束事务 35. } 36. } 37. 38. /**
39. * update person's age 40. * @param person 41. */
42. public void updateAge(Person person) { 43. ContentValues cv = new ContentValues(); 44. cv.put(\
45. db.update(\
; 46. } 47. 48. /**
49. * delete old person 50. * @param person 51. */
52. public void deleteOldPerson(Person person) {
53. db.delete(\
rson.age)}); 54. } 55. 56. /**
57. * query all persons, return list 58. * @return List
60. public List
61. ArrayList
64. Person person = new Person();
65. person._id = c.getInt(c.getColumnIndex(\66. person.name = c.getString(c.getColumnIndex(\67. person.age = c.getInt(c.getColumnIndex(\68. person.info = c.getString(c.getColumnIndex(\69. persons.add(person); 70. }
71. c.close(); 72. return persons; 73. } 74. 75. /**
76. * query all persons, return cursor 77. * @return Cursor 78. */
79. public Cursor queryTheCursor() {
80. Cursor c = db.rawQuery(\81. return c; 82. } 83. 84. /**
85. * close database 86. */
87. public void closeDB() { 88. db.close(); 89. } 90. }
package com.scott.db;
import java.util.ArrayList; import java.util.List;
import android.content.ContentValues; import android.content.Context; import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class DBManager {
private DBHelper helper; private SQLiteDatabase db;
public DBManager(Context context) { } /**
* add persons * @param persons */
public void add(List
helper = new DBHelper(context); //因为getWritableDatabase内部调用了
//所以要确保context已初始化,我们可以把实例化DBManagerdb = helper.getWritableDatabase();
mContext.openOrCreateDatabase(mName, 0, mFactory); 的步骤放在Activity的onCreate里
db.beginTransaction(); //开始事务 try {
for (Person person : persons) { }
db.setTransactionSuccessful(); //设置事务成功完成 db.endTransaction(); //结束事务 } /**
* update person's age * @param person */
db.execSQL(\
new Object[]{person.name, person.age, person.info});
} finally { }
public void updateAge(Person person) { } /**
* delete old person * @param person */
public void deleteOldPerson(Person person) { } /**
* query all persons, return list * @return List
public List
ArrayList
db.update(\
String[]{person.name});
String[]{String.valueOf(person.age)});
while (c.moveToNext()) {
Person person = new Person();
person._id = c.getInt(c.getColumnIndex(\person.name = c.getString(c.getColumnIndex(\person.age = c.getInt(c.getColumnIndex(\person.info = c.getString(c.getColumnIndex(\persons.add(person);
}
c.close(); return persons;
}