+44(0) 1234 567 890 info@domainname.com

Tuesday, January 22, 2013

Hướng dẫn lập trình cơ bản với Android phần 20 - Android SQLite Database

8:08 PM

Share it Please

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

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.

1. 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/<package_name>/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;

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);

}

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ả :

lap trinh co so du lieu android

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é

0 comments:

Post a Comment

Tags

Thủ thuật pc Góc Làm Đẹp Làm Đẹp Da Thủ Thuật Blogspot - Wordpress - Joomla Thủ Thuật Network Giải trí Thủ Thuật Hay thu-thuat-blogspot ASP.NET Danh bạ Lập trình CSDL Thủ Thuật Blog Lập trình Thủ thuật Excel Phần Mềm Góc Phụ Nữ SEO TT Windows Lý Thuyết CCNA Dịch Vụ Hot CCNA Sức Khỏe - Đời Sống Office Thủ Thuật Mobile Thủ Thuật Win 8 Download Xây dựng liên kết Android Thủ thuật Word Website thu-thuat-internet Forum PHP Tư Vấn Làm Đẹp Mẹo Vặt tien-ich-widget Đọc báo ASP.NET MVC Ca nhạc Hỏi Đáp Thơ Vui Thủ Thuật Game vui-nhon Download Phần Mềm - Crack VBA Excel thu-thuat-facebook Cuộc sống Download Game Photoshop Thủ thuật Blogspot VBA trong Excel Widget Blogspot Địa Điểm Hot C# CSS Giới Tính Tài Liệu Đại học Chuyện lạ Clip Hài - Video Hot Góc Kỹ Năng Góc Sinh Viên Liên Minh Huyền Thoại Sao Sức Khỏe Giới Tính Thủ Thuật Tin Học template-blogger Chuyện Của Sao Design Pattern Kiến thức cơ bản PM hệ thống Thủ thuật Facebook Tin nổi bật Đề thi LAB CCNA Love story Học và hỏi Môn toán Spring.NET Tủ Sách Video lam-quen-voi-blogger Ảnh Vui Bảng Giá Con trai Cẩm nang du học Dependency Injection Hình ảnh Kinh nghiệm học Kỹ Năng Xin Việc Luật Pháp ORM Tin nóng Tiện ích Truyện cười Việt Nam hinh-anh-hai-huoc tho-vui-con-coc thu-thuat-phan-mem Blogspot Distributed Technologies Hợp Tác Kinh Doanh Khám phá MVP NHibernate Photoshop Action Thủ Thuật Win 7 Trẻ Tư Vấn Tiêu Dùng VietYeah TV Xã Hội thu-thuat-SEO Blogger Templates Game flash Khối B Nghịch Nhân vật Phong Cách Slider Thư giãn Thủ thuật Youtube WCF facebook hinh-anh-dep thu-thuat-may-tinh Đời Sống 2010 Con gái Download Game Mobile Drivers External Post Học Nấu Ăn Học vui Làm Đẹp Tóc MVC N-Tier PM hệ điều hành Sao Quốc tế Thủ thuật internet Thông Tin Tin Tức Hot Tivi Truyện Hay Tuyển Dụng Xả Stress Youtube anh-bia-facebook san-pham-google ung-dung-website Đáp án Đề thi thử AOP Abstract Factory Cool stuffs Design Principles Khối A Thông tin mạng Tình yêu lập trình viên phan-mem-van-phong thu-thuat-windows-7 thu-thuat-windows-8 Điện Tử Ảnh Nghệ Thuật 2009 2011 2012 Adapter Pattern Công Nghệ Factory Method Game Hình sự Khối D Kiếm Tiền Qua Mạng Kỹ Năng Nơi Công Sở LinQ Menu Miễn phí Photoshop PSD Sexy Singleton Sành điệu Thủ Thuật Di Động Tin nhắn SMS phan-mem-do-hoa phan-mem-tien-ich Đọc xong vọc liền .NET Remoting 10-thing series 2013 Ajax Bridge Pattern Bóng đá Castle Windsor Chơi Game Online Cover Facebook Có Thể Bạn Chưa Biết Download Phim Dịch vụ Fedora Garbage Collection Google Plus Góc Tâm Sự HTML Hibernate Hài hước IoC JSF Javascript Jquery Khối C Kỹ Năng Bán Hàng Kỹ Năng Thuyết Trình Lazy Load Linux Lock Log4Net MWC Memory Management Mock Multi-Thread MySQL Môn sử Mặc Đẹp Mẹ Và Bé Mỹ Tâm NUnit Ngọc Trinh Nhịp sống trẻ PM văn phòng POCO Passive View Photoshop tách ảnh Phạm Băng Băng Phầm Mềm Crack PostSharp Primefaces Shop Bít Tuốt Strategy Pattern Supervising Controller Sự kiện Thể thao Thủ Thuật Office Tin đặc biệt Toán Tình bạn Tình dục Tốt nghiệp Unit Testing VBA Word Virtual Server Văn WMC 2012 Windows Service acc fshare acc mien phi anh-nghe-thuat cntt di dong di động dropbox dung luong dropbox fshare hinh nen hinh nen dep hình nền job mac os mang xa hoi may ao mạng xã hội social tang dung luong dropbox thu-thuat-mobile thu-thuat-windows-xp tháng 2 top truyen-cuoi tăng dung lượng dropbox vmware Ảnh đẹp