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

Android Programing Bài 8: Asset (part 1)

5 65 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 21,34 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1.2 Khai báo và sử dụng Khai báo truy xuất: ◦ Có thể sử dụng một trong hai phương thức sau  getSharePreferences: sử dụng truy vấn đến tập tin.. ◦ Mặc định tập tin presference được lưu t

Trang 1

BÀI 8: Asset - Shared preference - Memory Device

1 Khái niệm lưu trữ

SharedPreference cho phép thực hiện lưu trữ và truy xuất dữ liệu theo cặp khóa key-value cho phép các kiểu dữ liệu cơ bản

Có thể lưu trữ các kiểu dữ liệu cơ bản sau:

Boolean

Float

Int

Long

String

Dữ liệu vẫn được bảo toàn ngay cả khi ứng dụng bị đóng hoàn toàn

1.2 Khai báo và sử dụng

Khai báo truy xuất:

◦ Có thể sử dụng một trong hai phương thức sau

 getSharePreferences: sử dụng truy vấn đến tập tin Preferences đã lưu trữ bằng cách truyền vào tập tin

 getPreferences: truy xuất đến tập tin Preference mặc định tương ứng với Activity gọi thực thi

◦ Mặc định tập tin presference được lưu trữ theo đường dẫn:

Data/data/

1.2 Khai báo và sử dụng

 Khai báo truy xuất:

◦ Các định dạng mở tập tin khi truy xuất Preference:

 MODE_PRIVATE

 MODE_APPEND

 MODE_WORLD_READABLE(Deprecated in API 17)

 MODE_WORLD_WRITEABLE(Deprecated in API 17)

 MODE_MULTI_PROCESS

 Lưu trữ dữ liệu:

◦ Tạo đối tượng Editor từ phương thức edit() của preferece

◦ Lưu trữ dữ liệu vào preference thông qua phương thức put<KDL>

 putBoolean(Key,Value)

 putFloat(Key,value)

 putInt(Key,value)

 putLong(Key,value)

Trang 2

 putString(Key,Value)

Ví dụ:

boolean wifi_status=checkBoxWifi.isChecked()

SharePreference share_pref=getPreferences(MODE_PRIVATE);

Editor editor=shared_pref.edit();

Editor.putBoolean(“Wifi_Status”, wifi_status);

Editor.apply();

 Khai báo truy xuất

◦ Các giá trị lưu trữ được truy xuất thông qua phương thức get<KDL>:

 getBoolean(Key, DefValue)

 getFloat(Key,DefValue)

 getInt(Key,DefValue)

 getLong(Key,DefValue)

 getString(Key,DefValue)

◦ Ví dụ:

boolean wifi_status=

getPreferences(MODE_PRIVATE).getBoolean(“Wifi_Status”);

checkBoxWifi.setChecked(wifi_status);

2.1 Bộ nhớ trong

 Bộ nhớ trong được cấp phát khi ứng dụng được cài đặt trên thiết bị, trên một thư mục riêng biệt:

 Chỉ có ứng dụng mới có thể truy xuất được bộ nhớ của ứng dụng đó

◦ Đường dẫn của các tập tin được lưu trữ:

 Data/data/<pakage_name_app>/files

◦ Phương thức truy xuất:

 getFilesDir_File

 Truy xuất ghi tập tin:

◦ Gọi phương thức openFileOutput() nhận về dữ liệu stream cho đối tượng FileOutStream

◦ Đọc dữ liệu với phương thức write()

◦ Đóng stream bằng phương thức close()

◦ Ví dụ:

String hello=“Hello Android!”;

FileOutStream fos=openFileOutput(“Hello_file.txt”, MODE_APPEND); fos.write(hello.getBytes());

fos.close();

Trang 3

 Truy xuất đọc tập tin:

◦ Gọi phương thức openFileInput() nhận về dữ liệu stream cho đối tượng FileInputStream

◦ Đọc dữ liệu với phương thức read()

◦ Đọc stream bằng phương thức close()

◦ Ví dụ:

FileInputStream fis=openFileInput(“Hello_file.txt”);

int b=0; String s=“”;

While((b=fis.read())!=0)

s +=(char)b;

Fis.close();

Log.d(“HTSI”,s);

2.2 Bộ nhớ ngoài

 Mỗi thiết bị Android cung cấp bộ nhớ ngoài cho phép người dùng có thể luuw trữ và truy xuất trực tiếp trên thiết bị hoặc thông qua máy tính khi kết nối USB Storage

 Bộ lưu trữ ngoài bao gồm hai dạng:

◦ Bộ nhớ thiết bị(non-removeable)

◦ Bộ nhớ ngoài(sd-card, usb…)

 Cần xin cấp quyền truy cập bộ nhớ này

 Ứng dụng được cấp phát bộ nhớ ngoài để lưu trữ dữ liệu, mặc định không thể truy xuất như tập tin Media

◦ Địa chỉ lưu trữ:

/mnt/sdcard/Android/<package_name>/files

◦ Phương thức truy xuất:

 getExternalFilesDir(String)-File

 getExternalFilesDir(String)-File[](API 19 – KITKAT)

 ContextCompat.getExternalFilesDirs(String)-File[](Support Library)

 Cấu hình cài đặt ứng dụng trên bộ nhớ trong hoặc ngoài thông qua cặp thể

<mainifest/> trong AndroidManifest

◦ Instalocation

 internalOnly

 Auto

 preferExternal

 Kiểm tra tình trạng bộ nhớ:

Trang 4

◦ Cần kiểm tra tình trạng bộ nhớ ngoài trước khi thực hiện các thao tác.

◦ Truy xuất trạng thái bộ nhớ ngoài thông qua phương thức

getExternalStorageState trong đối tượng Environment

◦ Các thông số được trả vè bao gồm:

◦ MEDIA_UNKNOWN

◦ MEDIA_REMOVED

◦ MEDIDA_UNMOUNTED

◦ MEDIA_CHECKING

◦ MEDIA_NOFS

◦ MEDIA_MOUNTED

◦ MEDIA_MOUNTED_READ_ONLY

◦ MEDIA_SHARED

◦ MEDIA_BAD_REMOVAL

◦ MEDIA_UNMOUNTEDABLE

 Kiểm tra tình bộ nhớ

◦ Ví dụ kiểm tra có thể đọc ghi trên bộ nhớ ngoài

Public boolean isExternalStorageWritable(){

String state=Enviroment.getExternalStorageState();

If(Enviroment.MEDIA_MOUNTED.equals(state))

return true;

return false;

}

 Một số phương thức hỗ trợ duyệt tập tin trong bộ nhớ

◦ isFile()-boolean

◦ isDirectory()-boolean

◦ getAbsolutePath()-String

◦ getPath()-String

◦ list()-String

◦ mkdir()-boolean

◦ mkdirs()-boolean

◦ delete()-boolean

 Một số thư mục dùng chung:

◦ Thư mục

 DIRECTORY_ALARMS

 DIRECTORY_DCIM

 DIRECTORY_DOCUMENTS (API 19)

 DIRECTORY_DOWNLOADS

Trang 5

 DIRECTORY_MOVIES

 DIRECTORY_MUSIC

 DIRECTORY_NOTIFYCATIONS

 DIRECTORY_PICTURE

 DIRECTORY_POSCASTS

 DIRECTORY_RINGTONES

3 Asset

 Thư mục được sử dụng chứa các tập tin không biên dịch của Project

◦ Truy xuất đối tượng quản lý:

 getAssets()-AssetManager

◦ Các phương thức xử lý chính

 List(string path)-String[]

 Open(String fileName)-InputStream

 Open(String fileName, int mode

 Truy xuất phông chữ thông qua thư mục Asset

◦ Sử dụng phương thức createFromAsset

◦ Ví dụ:

Typeface arial=Typeface.create.createFromAsset(getAssets(), “font/arial.ttf”); TextView.set Typeface(arial)

Ngày đăng: 22/07/2019, 14:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w