日期:2014-05-16 浏览次数:20369 次
public ArrayList getUsers(){ DBAdapter dbAdapter=DBAdapter.getDBAdapterInstance(this); try { dbAdapter.createDataBase(); } catch (IOException e) { Log.i("*** select ",e.getMessage()); } dbAdapter.openDataBase(); String query="SELECT * FROM user;"; ArrayList> stringList = dbAdapter.selectRecordsFromDBList(query, null); dbAdapter.close(); ArrayList usersList = new ArrayList(); for (int i = 0; i < stringList.size(); i++) { ArrayList list = stringList.get(i); UserBO user = new UserBO(); try { user.id = Integer.parseInt(list.get(0)); user.name = list.get(1); user.age = Long.parseLong(list.get(2)); } catch (Exception e) { Log.i("***" + Select.class.toString(), e.getMessage()); } usersList.add(user); } return usersList; }?插入:
DBAdapter dbAdapter = DBAdapter.getDBAdapterInstance(Insert.this); dbAdapter.openDataBase(); ContentValues initialValues = new ContentValues(); initialValues.put("name", etName.getText().toString()); initialValues.put("age", etAge.getText().toString()); long n = dbAdapter.insertRecordsInDB("user", null, initialValues); Toast.makeText(Insert.this, "new row inserted with id = " + n, Toast.LENGTH_SHORT).show();?更新:
DBAdapter dbAdapter = DBAdapter.getDBAdapterInstance(Update.this); dbAdapter.openDataBase(); ContentValues initialValues = new ContentValues(); initialValues.put("name", etName.getText().toString()); initialValues.put("age", etAge.getText().toString()); String id = etId.getText().toString(); String [] strArray = {""+id}; long n = dbAdapter.updateRecordsInDB("user", initialValues, "id=?", strArray); Toast.makeText(Update.this, n+" rows updated", Toast.LENGTH_SHORT).show();?删除:
DBAdapter dbAdapter = DBAdapter.getDBAdapterInstance(Delete.this); dbAdapter.openDataBase(); String id = etId.getText().toString(); String [] strArray = {""+id}; long n = dbAdapter.deleteRecordInDB("user", "id = ?", strArray); Toast.makeText(Delete.this, n+" rows effected", Toast.LENGTH_SHORT).show();?
ublic class DBAdapter extends SQLiteOpenHelper { private static String DB_PATH = ""; private static final String DB_NAME = "user.sqlite"; private SQLiteDatabase myDataBase; private final Context myContext; private static DBAdapter mDBConnection; /** * Constructor * Takes and keeps a reference of the passed context in order to access to the application assets and resources. * @param context */ private DBAdapter(Context context) { super(context, DB_NAME, null, 1); this.myContext = context; DB_PATH = "/data/data/" + context.getApplicationContext().getPackageName() + "/databases/"; // The Android's default system path of your application database is // "/data/data/mypackagename/databases/" } /** * getting Instance * @param context * @return DBAdapter */ public static synchronized DBAdapter getDBAdapterInstance(Context context) { if (mDBConnection == null) { mDBConnection = new DBAdapter(context); } return mDBConnection; } /** * Creates an empty database on the system and rewrites it with your own database. **/ public void createDataBase() throws IOException { boolean dbExist = checkDataBase(); if (dbExist) { // do nothing - database already exist } else { // By calling following method // 1) an empty database will be created into the default system path of your application // 2) than we overwrite that database with our database. this.getReadableDatabase(); try { copyDataBase(); } catch (IOException e) { throw new Error("Error copying database"); } } } /** * Check if the database already exist to avoid re-copying the file each time you open