Lập trình di động - Lab 09: SQLite

Đăng ngày | Thể loại: | Lần tải: 0 | Lần xem: 0 | Page: 7 | FileSize: M | File type: PDF
of x

Lập trình di động - Lab 09: SQLite. Nội dung của tài liệu trình bày về thao tác với CSDL Sqlite, tạo/mở/đóng CSDL với CSDL Sqlite, xóa CSDL, tạo bảng lớp, class Lop, thêm lớp, sửa lớp, xóa lớp, truy vấn dữ liệu, thực nghiệm, thiết kế giao diện, xử lý sự kiện OnCreate, hàm load dữ liệu đổ vào ListView, sự kiện click lên một Item của ListView, xử lý nút Thêm, xử lý nút Xóa và xử lý nút sửa.. Giống những giáo án bài giảng khác được thành viên giới thiệu hoặc do tìm kiếm lại và giới thiệu lại cho các bạn với mục đích học tập , chúng tôi không thu phí từ người dùng ,nếu phát hiện nội dung phi phạm bản quyền hoặc vi phạm pháp luật xin thông báo cho website ,Ngoài tài liệu này, bạn có thể download Tải tài liệu luận văn,bài tập phục vụ nghiên cứu Có tài liệu download thiếu font chữ không xem được, có thể máy tính bạn không hỗ trợ font củ, bạn download các font .vntime củ về cài sẽ xem được.

https://tailieumienphi.vn/doc/lap-trinh-di-dong-lab-09-sqlite-xymbuq.html

Nội dung


Ver 1.0 – 2016, FIT - HCMUP Lab 09: SQLite 1 Thao tác với CSDL Sqlite 1.1 Tạo/Mở/Đóng CSDL //Tạo mới CSDL SQLiteDatabase db = null; public void CreateDatabase() { db = openOrCreateDatabase("QLSV.db", MODE_PRIVATE, null); } public void CloseDatabase() { if(db.isOpen()) db.close(); } QLSV.db là tên database lưu trong thư mục: /data/data//databases 1.2 Xóa CSDL public void DeleteDatabase() { String thongbao = ""; if(deleteDatabase("QLSV.db")) { thongbao = "Đã xóa thành công QLSV.db!!!"; } else { thongbao = "Không thể xóa QLSV.db!"; } Toast.makeText(MainActivity.this, thongbao, Toast.LENGTH_SHORT).show(); } Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM 1 Ver 1.0 – 2016, FIT - HCMUP 1.3 Lab 09: SQLite Tạo bảng lớp public void CreateTableLop() { String sql = "CREATE TABLE Lop(MaLop TEXT PRIMARY KEY, " + "TenLop TEXT, siso INTEGER) "; db.execSQL(sql); } Lưu ý: Tất cả các thao tác lệnh SQL bao gồm: CREATE, INSERT, UPDATE, DELETE, SELECT đều có thể thực hiện thông qua phương thức execSQL. Tuy nhiên một số thao tác có phương thức riêng. 1.4 Class Lop Để thuận tiện cho các thao tác quản lý, tạo class Lop tương ứng với bảng Lop. package com.mobileapp.hienlth.mysqlite; /** * Created by HIENLTH on 5/27/2016. */ public class Lop { public Lop(String maLop, String tenLop) { MaLop = maLop; TenLop = tenLop; } public Lop(String maLop, String tenLop, int siSo) { MaLop = maLop; SiSo = siSo; TenLop = tenLop; } private String MaLop; private String TenLop; private int SiSo; @Override public String toString() { return getMaLop() + " : " + getTenLop() + " : " + getSiSo() + "SV"; } Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM 2 Ver 1.0 – 2016, FIT - HCMUP Lab 09: SQLite public String getMaLop() { return MaLop; } public void setMaLop(String maLop) { MaLop = maLop; } public String getTenLop() { return TenLop; } public void setTenLop(String tenLop) { TenLop = tenLop; } public int getSiSo() { return SiSo; } public void setSiSo(int siSo) { SiSo = siSo; } } 1.5 Thêm lớp public void AddLop(Lop lop) { ContentValues values = new ContentValues(); try { values.put("MaLop", lop.getMaLop()); values.put("TenLop", lop.getTenLop()); values.put("SiSo", lop.getSiSo()); }catch (Exception ex) { Toast.makeText(MainActivity.this, ex.getMessage(), Toast.LENGTH_SHORT).show(); } if(db.insert("Lop", null, values) == -1) Toast.makeText(MainActivity.this, "Thất bại", Toast.LENGTH_SHORT).show(); Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM 3 Ver 1.0 – 2016, FIT - HCMUP Lab 09: SQLite else Toast.makeText(MainActivity.this, "Thành công!", Toast.LENGTH_SHORT).show(); } 1.6 Sửa lớp public void UpdateLop(Lop lop) { ContentValues values = new ContentValues(); values.put("TenLop", lop.getTenLop()); values.put("SiSo", lop.getSiSo()); db.update("Lop", values, "MaLop=?", new String[]{lop.getMaLop()}); } 1.7 Xóa lớp public void XoaLop(String MaLop) { //Xóa tất cả if(MaLop == null) db.delete("Lop", null, null); else db.delete("Lop", "MaLop=?", new String[]{MaLop}); } 1.8 Truy vấn dữ liệu Sử dụng đối tượng Cursor để duyệt qua tập kết quả truy vấn: public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) trong đó:       table : tên bảng truy vấn columns : danh sách các cột cần lấy. selection : điều kiện lọc (ví dụ: TenCot = ? hay TenCot1 = ? AND TenCot2 = ?) selectionArgs : tham số lọc groupBy : biểu thức GROUPBY having : biểu thức HAVING Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM 4 Ver 1.0 – 2016, FIT - HCMUP Lab 09: SQLite orderBy : biểu thức ORDERBY  limit : số dòng kết quả cần giới hạn. Các thao tác:       .moveToFirst() : về record đầu .moveToLast() : về record cuối .moveToNext() : ra record kế .isAfterLast() : sau cùng??? .isBeforeFirst() : đầu tiên??? 2 Thực nghiệm 2.1 Thiết kế giao diện 2.2 Xử lý sự kiện OnCreate CreateDatabase(); //Tạo bảng cho lần chạy đầu tiên // CreateTableLop(); Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM 5 1114231