Upload
son2483
View
10
Download
0
Embed Size (px)
DESCRIPTION
Hướng Dẫn Lập Trình Cơ Bản Với Android - Bai 6
Citation preview
Hng dn lp trnh c bn vi Android - Bi 6
Hng dn lp trnh c bn vi Android - Bi 6
Reflink: http://diendan.vietandroid.com/cac-bai-hoc-co-kem-ma-nguon/991-huong-dan-lap-trinh-co-ban-voi-android-bai-6-a.htmlList tutorialBi 0 - Ci t v s dng Android vi EclipseBi 1 - C bn AndroidBi 2 - Xy dng giao din n ginBi 3 - ViewGroup v Custom AdapterBi 4 - Intent v Broadcast ReceiverBi 5 - ServiceBi 6 - SQLiteBi 7 - Content ProviderBi 8 : Thread & Handler (Coming soon)Bi 6 : Android SQLite Database
Trong bi hm nay mnh s gii thiu vi cc bn c s d liu trn Android - SQLiteDatabase.
0. Gii thiu SQLite DatabaseMi ng dng u s dng d liu, d liu c th n gin hay i khi l c 1 cu trc. Trong Android th h c s d liu c s dng l SQLite Database, y l h thng m ngun m c s dng rng ri trong cc ng dng ( Mozilla Firefox s dng SQLite lu tr cc d liu v cu hnh, iPhone cng s dng c s d liu l SQLite).Trong Android , c s d liu m bn to cho 1 ng dng th ch ng dng c quyn truy cp v s dng, cc ng dng khc th khng. Khi c to, c s d liu SQLite c cha trong th mc/data/data//databases.
Tip theo mnh s gii thiu vi cc bn cch to v s dng c s d liu SQLite . Cch tt nht hiu l thuyt l thc hnh, cc bn c th to ngay 1 project trong workspace t tn l : SQLiteDemo. ng dng ny n gin ch to 1 c s d liu USER bao gm 2 trng ( id , name ) , ngoi ra c cc thao tc thm , c , sa , xa.
Cc bc thc hin vi CSDL:
1. To 1 CSDL ( thng thng ch cn lm 1 ln )2. M CSDL 3. Thm gi tr vo trong table4. Truy vn.5. ng CSDL
1. To c s d liu.u tin cc bn add 1 class DBAdapter x l tt c cc thao tc lin quan n CSDL.M:
public static final String KEY_ID = "_id";
public static final String KEY_NAME = "name";
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDB;
private static final String DATABASE_CREATE = "create table users (_id integer primary key autoincrement, "
+ "name text not null);";
private static final String DATABASE_NAME = "Database_Demo";
private static final String DATABASE_TABLE = "users";
private static final int DATABASE_VERSION = 2;
private final Context mContext;
To 1 lp bn trong DBAdapter c extend t lp SQLiteOpenHelper, override 2 phng thc onCreate() v onUpgrade() qun l vic to CSDL v version ca CSDL .M:
private static class DatabaseHelper extends SQLiteOpenHelper{
public DatabaseHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
Log.i(TAG, "Upgrading DB");
db.execSQL("DROP TABLE IF EXISTS users");
onCreate(db);
}
}
2. M CSDL :M:
public DBAdapter open()
{
mDbHelper = new DatabaseHelper(mContext, DATABASE_NAME, null, DATABASE_VERSION);
mDB = mDbHelper.getWritableDatabase();
return this;
}
3. Thm gi tr vo CSDLM:
public long createUser(String name){
ContentValues inititalValues = new ContentValues();
inititalValues.put(KEY_NAME, name);
return mDB.insert(DATABASE_TABLE, null, inititalValues);
}
4. Truy vnBn c th get ton b data hoc c th get data theo ID ( tin cho vic chnh sa hay cp nht thng tin ca tng bn ghi).M:
public Cursor getAllUsers(){
return mDB.query(DATABASE_TABLE, new String[] {KEY_ID, KEY_NAME}, null, null, null, null, null);
}
Cn rt nhiu cc thao tc nh sa, xa, update.... bn ghi, cc bn c th t pht trin.Tt c cc chc nng u c cung cp bi lp SQLiteDatabase, cc bn ch cn c th ha bng cc cu truy vn l c.
5. ng CSDLM:
public void close(){
mDbHelper.close();
}
6. S dng CSDL test CSDL m bn va to, cc bn c th thm 1 vi dng code thm 1 user v hin th CSDL ln mn hnh thng qua lp Activity ban u: y mnh create 1 user thng qua cu lnh mDB.createUser("Username"); sau M: public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mDB = new DBAdapter(this);
mDB.open();
mDB.createUser("Do Minh Thong");
getData();
}
private void getData(){
mCursor = mDB.getAllUsers();
startManagingCursor(mCursor);
String[] from = new String[]{DBAdapter.KEY_NAME};
int[] to = new int[] {R.id.text1};
SimpleCursorAdapter users = new SimpleCursorAdapter(this, R.layout.users_row, mCursor, from, to);
setListAdapter(users);
}
Kt qu :
Sourcecode y :http://www.mediafire.com/?yzw2d1ijymo
Bi ny l bi c s mnh vit tip Phn 7 : ContentProvider , cc bn ch theo di nh
GL&HL All.