1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình di động - Bài 6: Các phương pháp lưu trữ trong android và làm việc với SQLite

71 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 1,52 MB

Nội dung

Bài giảng Lập trình di động - Bài 6: Các phương pháp lưu trữ trong android và làm việc với SQLite, cung cấp cho người học những kiến thức như: Tổng quan về lữu trữ trong android; Shared Preferences; Làm quen với SQLite. Mời các bạn cùng tham khảo!

LẬP TRÌNH DI ĐỘNG Bài 6: phương pháp lưu trữ android làm việc với SQLite Nội dung Tổng quan lữu trữ android Shared Preferences Files File internal storage File tạm File external storage File nội (trong file apk) Làm quen với SQLite Phần Tổng quan lưu trữ android Tổng quan: loại lưu trữ ▪Android có nhiều phương pháp lưu trữ liệu ▪ Mỗi phương pháp có mục đích sử dụng khác (vì cần hiểu xác để sử dụng hợp lý nhất) ▪ Cơ chế phân quyền kiểm soát truy cập kiểu Linux ▪Local storages: ▪ Raw: File services (memory, cached, internal card, sdcard,…) ▪ OS services: Shared preferences, SQLite, Content providers ▪ Extra services: Content providers ▪Remote storages: Internet services Tổng quan: trình cài ứng dụng ▪Ứng dụng android dạng apk ▪Từ API 8, đặt ứng dụng sdcard: thêm đoạn mã android:installLocation="preferExternal" vào file AndroidManifest.xml ▪Quá trình ứng dụng cài đặt vào hệ thống: ▪ ▪ ▪ ▪ ▪ Kiểm tra toàn vẹn file apk dựa chữ kí số Chép file apk vào thư mục ứng dụng Tạo thư mục riêng cho ứng dụng (theo tên package) Thiết lập quyền phù hợp cho thư mục riêng Cập nhật CSDL thành phần ứng dụng Tổng quan: số folder ▪Theo thiết lập chuẩn Android OS: ▪ ▪ ▪ ▪ Ứng dụng hệ thống: /system/app Ứng dụng thường: /data/app Ứng dụng sdcard: /storage/sdcard0/.android_secure Dữ liệu ứng dụng: /data/data/ • Folder “shared_prefs”: chứa share preferences • Folder “cache”: chứa file tạm • Folder “databases”: chứa CSDL SQLite ▪ Dữ liệu sdcard: /Android/data//files/ ▪Cần lấy folder API hệ thống 10 Phần Shared Preferences 11 Shared Preferences ▪Shared Preferences cho phép lưu trữ liệu theo cặp key/value với kiểu liệu ▪File lưu dạng XML, chia sẻ với ứng dụng khác (mục tiêu để chia sẻ) ▪Các kiểu liệu hỗ trợ: String, float, int, long boolean ▪Cách làm việc: Lấy đối tượng SharedPreferences: dùng phương thức getSharedPreferences(string, int) getPreferences(int mode) Sử dụng phương thức class SharedPreferences để thao tác với liệu bên 12 getSharedPreferences ▪Phương thức “public abstract SharedPreferences getSharedPreferences(String xml, int mode)” ▪ Đây phương thức context ▪ Phương thức lấy đối tượng SharedPreferences để đọc ghi liệu lên file xml với tên định tham số truyền vào ▪ File XML phải nằm folder shared_prefs data ▪ Tham số mode dùng để thiết lập quyền truy xuất đến file xml mà đối tượng SharedPreferences tham chiếu đến 13 getSharedPreferences ▪Có ba loại mode: ▪ MODE_PRIVATE: truy xuất bên ứng dụng tạo ▪ MODE_WORLD_READABLE: đọc ứng dụng khác ▪ MODE_WORLD_WRITEABLE: ghi ứng dụng khác ▪Chú ý: ▪ Có quyền root đọc liệu dù thiết lập chế độ MODE_PRIVATE ▪ Có quyền ghi đương nhiên có quyền đọc 14 Ví dụ đơn giản • Sự kiện click nút LOAD DATA 42 Ví dụ đơn giản • Sự kiện click nút LOAD DATA • Hàm loadAllData “giải thích cursor” 42 Ví dụ đơn giản • Sự kiện click nút UPDATE DATA 42 Ví dụ đơn giản • Sự kiện click nút DELETE 42 Ví dụ đơn giản • Sự kiện click nút PRE 42 Ví dụ đơn giản • Sự kiện click nút NEXT 42 Ví dụ đơn giản • Xem Demo 42 SQLiteDatabase – Insert • Phương thức insert : Thêm liệu insert(String table, String nullColumnHack, ContentValues values) • "table": tên bảng muốn insert liệu • "nullColumnHack": tên cột nhận giá trị NULL (dùng trường hợp values = null) • "values": danh sách cặp - chèn vào dịng • Chú ý: hàm trả giá trị row ID dòng vừa chèn vào, không thành công trả -1 42 SQLiteDatabase – Insert • Sự kiện click INSERT DATA viết lại 42 SQLiteDatabase – Update • Phương thức update : cập nhật liệu update(String table, ContentValues values, String whereClause, String[] whereArgs) • table: tên bảng muốn update • values: cặp key/value – tên cột/giá trị muốn cập nhật • whereClause: điều kiện để dịng chọn • whereArgs: mảng giá trị ứng với whereClause • Giá trị trả về: số ghi cập nhật 42 SQLiteDatabase – Update • Sự kiện UPDATE DATA viết lại 42 SQLiteDatabase – Delete • Phương thức delete : xóa liệu delete(String table, String whereClause, String[] whereArgs) • • • • table: tên bảng muốn xóa whereClause: điều kiện xóa whereArgs: mảng giá trị ứng với whereClause Giá trị trả về: số ghi xóa 42 SQLiteDatabase – Delete • Sự kiện DELETE DATA viết lại 42 SQLiteDatabase – Select • Phương thức rawQuery : trả đối tượng Cursor – Một Cursor đại diện cho kết truy vấn, – Cursor đệm kết cách hiệu quả, mà không cần load tất liệu nhớ public Cursor rawQuery(String sql, String[] selectionArgs) • sql: câu lệnh truy vấn • selectionArgs: mảng giá trị tham số câu lệnh sql (nếu có) • Giá trị trả về: Đối tượng Cursor 42 SQLiteDatabase - Cursor • • • • Cursor trỏ tới dịng kết trả Dùng cursor để đọc giá trị cột dịng Khởi đầu cursor vị trí before-first Cursor có nhiều phương thức hỗ trợ: • Kiểm tra vị trí tại: isFirst(), isLast(), isBeforeFirst(), isAfterLast() • Dịch chuyển kết quả: moveToFirst(), moveToLast(), moveToNext(), moveToPrevious(), move(n) • Lấy liệu: getInt, getString, getFloat, getBlob, getDate,… • Lấy cấu trúc bảng: getCount, getColumnName, getColumnNames, getColumnIndex, getColumnCount,… 16 ... dụng SQLite chậm (làm việc text) thiếu uyển chuyển 39 SQLite API ▪Gói android. database .sqlite chứa class hỗ trợ làm việc với CSDL SQLite, class quan trọng: ▪ SQLiteDatabase: class giúp làm việc. .. thực thi 17 Ví dụ - thực thi 17 Ví dụ - thực thi 17 Ví dụ - thực thi 17 Ví dụ - vị trí lưu 17 Ví dụ - nội dung lưu 17 Phần Files 19 Files ? ?Android cung cấp nhiều cách để đọc lưu trữ liệu từ/xuống... lữu trữ android Shared Preferences Files File internal storage File tạm File external storage File nội (trong file apk) Làm quen với SQLite Phần Tổng quan lưu trữ android Tổng quan: loại lưu trữ

Ngày đăng: 09/12/2021, 10:06

TỪ KHÓA LIÊN QUAN