intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hướng dẫn lập trình cơ bản với Android - Bài 6

Chia sẻ: Ha Ngoc Chung | Ngày: | Loại File: PDF | Số trang:4

228
lượt xem
92
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mỗi ứng dụng đều sử dụng dữ liệu, dữ liệu có thể đơn giản hay đôi khi là cả 1 cấu trúc. Trong Android thì hệ cơ sở dữ liệu được sử dụng là SQLite Database, đây là hệ thống mã nguồn mở được sử dụng rộng rãi trong các ứng dụng .

Chủ đề:
Lưu

Nội dung Text: Hướng dẫn lập trình cơ bản với Android - Bài 6

  1. Hư ng d n l p trình cơ b n v i Android - Bài 6 http://diendan.vietandroid.com/cac-bai-hoc-co-kem-ma-nguon/991-huong- Reflink: dan-lap-trinh-co-ban-voi-android-bai-6-a.html List tutorial Bài 0 - Cài ñ t và s d ng Android v i Eclipse Bài 1 - Cơ b n Android Bài 2 - Xây d ng giao di n ñơn gi n Bài 3 - ViewGroup và Custom Adapter Bài 4 - Intent và Broadcast Receiver Bài 5 - Service Bài 6 - SQLite Bài 7 - Content Provider Bài 8 : Thread & Handler (Coming soon) Bài 6 : Android SQLite Database Trong bài hôm nay mình s gi i thi u v i các b n cơ s d li u trên Android - SQLiteDatabase. 0. Gi i thi u SQLite Database M i ng d ng ñ u s d ng d li u, d li u có th ñơn gi n hay ñôi khi là c 1 c u trúc. Trong Android thì h cơ s d li u ñư c s d ng là SQLite Database, ñây là h th ng mã ngu n m ñư c s d ng r ng rãi trong các ng d ng ( Mozilla Firefox s d ng SQLite ñ lưu tr các d li u v c u hình, iPhone cũng s d ng cơ s d li u là SQLite). Trong Android , cơ s d li u mà b n t o cho 1 ng d ng thì ch ng d ng ñó có quy n truy c p và s d ng, các ng d ng khác thì không. Khi ñã ñư c t o, cơ s d li u SQLite ñư c ch a trong thư m c /data/data//databases . Ti p theo mình s gi i thi u v i các b n cách t o và s d ng cơ s d li u SQLite . Cách t t nh t ñ hi u lý thuy t là th c hành, các b n có th t o ngay 1 project trong workspace ñ t tên là : SQLiteDemo. ng d ng này ñơn gi n ch t o 1 cơ s d li u USER bao g m 2 trư ng ( id , name ) , ngoài ra có các thao tác thêm , ñ c , s a , xóa. Các bư c th c hi n v i CSDL: 1. T o 1 CSDL ( thông thư ng ch c n làm 1 l n ) 2. M CSDL ñó 3. Thêm giá tr vào trong table 4. Truy v n. 5. ðóng CSDL 1. T o cơ s d li u. ð u tiên các b n add 1 class DBAdapter ñ x lý t t c các thao tác liên quan ñ n CSDL. Mã: public static final String KEY_ID = "_id"; public static final String KEY_NAME = "name"; private DatabaseHelper mDbHelper; private SQLiteDatabase mDB; www.Beenvn.com – T Sách Online
  2. 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; T o 1 l p bên trong DBAdapter ñư c extend t l p SQLiteOpenHelper, override 2 phương th c onCreate() và onUpgrade() ñ qu n lý vi c t o CSDL và version c a 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. Thêm giá tr vào CSDL Mã: public long createUser(String name){ ContentValues inititalValues = new ContentValues(); inititalValues.put(KEY_NAME, name); return mDB.insert(DATABASE_TABLE, null, inititalValues); } www.Beenvn.com – T Sách Online
  3. 4. Truy v n B n có th get toàn b data ho c có th get data theo ID ( ti n cho vi c ch nh s a hay c p nh t thông tin c a t ng b n ghi). Mã: public Cursor getAllUsers(){ return mDB.query(DATABASE_TABLE, new String[] {KEY_ID, KEY_NAME}, null, null, null, null, null); } Còn r t nhi u các thao tác như s a, xóa, update.... b n ghi, các b n có th t phát tri n. T t c các ch c năng ñó ñ u ñư c cung c p b i l p SQLiteDatabase, các b n ch c n c th hóa b ng các câu truy v n là ñư c. 5. ðóng CSDL Mã: public void close(){ mDbHelper.close(); } 6. S d ng CSDL ð test CSDL mà b n v a t o, các b n có th thêm 1 vài dòng code ñ thêm 1 user và hi n th CSDL lên màn hình thông qua l p Activity ban ñ u: ñây mình create 1 user thông qua câu l nh 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); } K t qu : www.Beenvn.com – T Sách Online
  4. Sourcecode ñ y ñ : http://www.mediafire.com/?yzw2d1ijymo Bài này là bài cơ s ñ mình vi t ti p Ph n 7 : ContentProvider , các b n chú ý theo dõi nhé GL&HL All. www.Beenvn.com – T Sách Online
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
7=>1