Networks Business Online Việt Nam & International VH2

Nhiệm vụ của hệ điều hành android – Tài liệu text

Đăng ngày 03 October, 2022 bởi admin

Nhiệm vụ của hệ điều hành android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (595.27 KB, 11 trang )

3. Nhiệm vụ của Hệ Điều Hành.
 Điều khiển và quản lý trực tiếp các phần cứng như bo mạch chủ, bo mạch đồ 

họa và bo mạch âm thanh,…
 Thực hiện một số thao tác cơ bản trong máy tính như các thao tác đọc, viết tập 
tin, quản lý hệ thống tập tin (file system) và các kho dữ liệu.
 Cung ứng một hệ thống giao diện sơ khai cho các ứng dụng thường là thông 
qua một hệ thống thư viện các hàm chuẩn để điều hành các phần cứng mà từ đó
các ứng dụng có thể gọi tới.
 Cung ứng một hệ thống lệnh cơ bản để điều hành máy. Các lệnh này gọi là lệnh 
hệ thống (system command).
 Ngoài ra hệ điều hành, trong vài trường hợp, cũng cung cấp các dịch vụ cơ bản 
cho các phần mềm ứng dụng thông thường như chương trình duyệt 
Web, chương trình soạn thảo văn bản….
Trong đó:

Thực hiện một số thao tác cơ bản trong máy tính như các 
thao tác đọc, viết tập tin, quản lý hệ thống tập tin (file 
system) và các kho dữ liệu.
Những cách lưu trữ dữ liệu có sẵn mà Android cung cấp:
Internal file storage: Lưu trữ các file riêng tư của ứng dụng (app­private files)
trong hệ thống file của thiết bị.
External file storage: Lưu trữ file trên hệ thống file chia sẻ ra được bên ngoài.
Thường dùng cho các file mà người dùng được chia sẽ, chẳng hạn như hình 
ảnh, video.
Shared Preferences: Lưu trữ dữ liệu nguyên thủy bởi các cặp key­value.
Database: Lưu trữ các dữ liệu có cấu trúc trong cơ sở dữ liệu private.

Ngoại trư một số loại file trên External Storage, thì tất cả các cách lưu trữ này 
dành cho dữ liệu riêng tư của ứng dụng ­ dữ liệu không thể truy cập tự nhiên 

vào các ứng dụng khác. Nếu bạn muốn chia sẻ file với các ứng dụng khác bạn
nên sử dụng FileProvider API
Nếu bạn muốn chia sẻ dữ liệu cho ứng dụng khác sử dụng bạn có thể dùng 
Content Provider. Content Provider đưa cho bạn toàn quyền kiểm soát quyền 
read/write có sẵn cho các ứng dụng khác, bất kể các thức bạn đã lưu trữ dữ 
liệu (mặc dù thường là database).
1. Internal storage.

Theo mặc định thì các files được lưu vào Internal Storage (bộ nhớ trong) sẽ là 
private đối với ứng dụng của bạn, và các ứng dụng khác sẽ không kết nối 
được (người dùng cũng không được trừ khi chúng có quyền truy cập root). 
Điều này làm cho Internal Storage là một nơi lưu trữ dữ liệu tốt mà người dùng
không cần truy cập trực tiếp. Hệ thống cung cấp một private directory trong hệ 
thống file cho mỗi ứng dụng, nơi bạn có thể sắp xếp bất kì tệp nào mà ứng 
dụng của bạn cần.
Khi người dùng gỡ cài đặt ứng dụng của bạn, các file 
được lưu trữ trong Internal Storage được xóa bỏ. Bởi do hành vi này mà bạn 

không nên dùng Internal Storage để lưu trữ dữ liệu mà người dùng dự kiến 
muốn sử dụng độc lập với ứng dụng của bạn. Ví dụ ứng dụng của bạn cho 
phép chụp ảnh, người dùng sẽ mong đơi sẽ sử dụng những bức ảnh đó sau 
khi gỡ bỏ ứng dụng của bạn. Vì vậy bạn nên lưu các loại file đó ở External 
Storage.
Internal cache file:
Nếu bạn muốn lưu trữ một số dữ liệu tạm thời, thay vì duy trì lưu dữ liệu liên 
tục, bạn nên sử dụng cache directory để lưu trữ dữ liệu. Mỗi ứng dụng có một 
bộ nhớ cache riêng dành riêng cho các loại file này. Khi ứng dụng đang hoạt 
động nhưng hệ thống thiếu bộ nhớ, Android có thể xoá các file trong bộ nhớ 
cache này để khôi phục dung lượng. Tuy nhiên bạn không nên dự vào hệ 

thống để dọn dẹp các tệp này cho bạn. Bạn nên luôn tự duy trì các file trong 
bộ nhớ cache ở trong giới hạn không gian hợp lý được tiêu thụ, chẳng hạn 
như 1MB. Khi người dùng gỡ các cài đặt của ứng dụng, các file này cũng bị 
xóa.
2. External storage.

Mọi thiết bị Android đều hỗ trợ không gian lưu trữ External Storage (bộ nhớ 
ngoài) mà bạn có thể sử dụng để lưu file. Vùng nhớ này được gọi là External 
(ngoài) là bởi vì nói không phải chắc chắn là một vùng nhớ có thể truy cập 
được mà nó là một không gian lưu trữ. Là vùng nhớ mà người dùng có thể kết
nối với máy tính, thậm chí có thể tháo lắp vật lý, ví dụ như các thẻ nhớ SD. 
Các file trên External Storage có thể được đọc ở mọi nơi và có thể được 

người dùng sửa đổi khi chúng cho phép như là một USB để có thể chuyển đổi 

dữ liệu sang máy tính.
Vì vậy trước khi bạn cố gắng truy cập truy cập một file trong External Storage 
trong ứng dụng của bạn, bạn nên kiểm tra tính khả dụng của các thu mục này 
cũng như các file trong chúng
Thông thường, bạn nên sử dụng bộ nhớ ngoài cho dữ liệu mà có thể truy cập 
vào các ứng dụng khác và vẫn còn lưu khi ứng dụng của bạn bị người dùng 
gỡ cài đặt. Chăng hạn như những bức ảnh được chụp hoặc những file đã 
được download xuống trước đó. Hệ thống sẽ cung cấp các thư mục pubic 
chuẩn cho các loại file này, do đó người dùng có các vị trí cho photos, 
ringtones, music, …
Bạn cũng có thể lưu file vào External Storage trong thư mục dành riêng cho 
ứng dụng của bạn mà hệ thống sẽ xóa khi người dùng gỡ cài đặt ứng dụng 
này trên điện thoại. Đây có thể là giải pháp thay thế cho bộ nhớ trong nếu cần 
thêm dung lượng, nhưng các file ở đây không đảm bảo có thể truy cập được 

bởi vì người dùng có thể xóa, hay tháo thẻ nhớ SD. Và các file này có thể đọc 

được mọi nơi, chúng chỉ sao lưu vào một nơi mà không được chia sẽ với các 
ứng dụng khác.
3. Shared Preferences

Nếu bạn không lưu nhiều dữ liệu và dữ liệu đó không yêu cầu cấu trúc, bạn 
nên sử dụng Shared Preferences. Loại lưu trữ này cho phép bạn đọc và ghi 
các cặp key­value của các kiểu dữ liệu nguyên thủy: booleans, floats, ints, 
longs và strings
Các cặp key­value này được ghi vào các tệp XML, luôn tồn tại khi ứng dụng 
được sử dụng và kể các khi ứng dụng bị kill. Bạn có thể chỉ định tên cho file 
đó theo cách thủ công cho mỗi hành động để lưu trữ dữ liệu của bạn.
Tên Shared Preferences đôi khi gây ra một chút hiểu lầm bởi vì nó không phải 
hoàn toàn để lưu những tùy chọn của người dùng, chẳng hạn như nhạc 
chuông mà người dùng đã chọn. Bạn chỉ có thể dùng Shared Preferences để 
lưu bất kì loại dữ liệu đơn giản nào, chẳng hạn như điểm số cao của người 
dùng. Tuy nhiên nếu bạn muốn lưu tùy chon người dùng cho ứng dụng của 
mình bạn có thể dùng PreferenceActivity.

4. Databases

Android cung cấp hỗ trợ đầy đủ cho SQLite Database. Bất kì cơ sở dữ liệu mà
bạn tạo chỉ có thể truy cập được bởi ứng dụng của bạn. Tuy nhiên thay vì sử 
dụng các SQLite API trực tiếp, thì hiện tại Android khuyến khích các 
Developers tên tạo và tương tác với cơ sở dữ liệu của mình với Room 
Databse, một component trong Android Architecture của gói Jetpack.

Room cung cấp một abstract class ánh xạ đối tượng cho phép truy cập cơ sở 
dữ liệu nhanh chóng, tốc độ trong khi đã phát huy khai thác toàn bộ sức mạnh 
của SQLite Database.
Mặc dù bạn có thể sử dụng với SQLite Database nhưng hiện thì đã xem như 
tốn rất nhiều thời gian và công sức để sử dụng ^^:
1. Các truy vấn cứng SQL thì không được Compiler time checking.
2. Khi cấu trúc cơ sở dữ liệu thay đổi thì bạn phải update một cách thủ 
công. Quá trình này gây tốn thời gian vã dễ bị lỗi.
3. Bạn phải viết nhiều mã để chuyển đổi giữa các truy vấn SQL và các đối 
tượng dữ liệu java.
Thư viện Room sẽ giải quyết hết những vấn đề này trong khi cung cấp một lớp
trừu tượng trên SQLite.

5.Tổng kết.

Bài viết này đã liệt kê ra những cách lưu trữ dữ liệu mà Android cung cấp cho 
ứng dụng. Ngoài ra cũng có thể lưu trữ dữ liệu bằng cách sử dụng Network 
Connection. Để làm việc với internet thì có thể sử dụng các 
gói java.net và android.net được cung cấp.

Cung ứng một hệ thống lệnh cơ bản để điều hành máy. Các 
lệnh này gọi là lệnh hệ thống (system command).
Trong Android có  công cụ dòng lệnh là: 

Những gói DSK Android được yêu cầu để phát triển ứng dụng.
Có thể cài đặt và cập nhật từng gói bằng Trình quản lý SDK của Android 
Studio hoặc sdkmanager công cụ dòng lệnh.
Tất cả các gói được tải xuống thư mục SDK Android của bạn, nơi bạn có thể định vị như

sau:
o Trong Android Studio, bấm vào File > Project Structure.
o Chọn SDK Location trong khung bên trái. Đường dẫn được hiển thị
dưới Android SDK location.

Công cụ SDK Android 
Nằm trong: android_sdk/tools/bin/
Gói này độc lập với nền tảng và được yêu cầu cho dù bạn đang phát triển nền tảng 
Android nào.
apkanalyzer

Cung cấp cái nhìn sâu sắc về thành phần APK của bạn sau khi quá trình xây 
dựng hoàn tất.
avdmanager

Cho phép bạn tạo và quản lý Thiết bị ảo Android (AVD) từ dòng lệnh.
jobb

Cho phép bạn xây dựng các tệp mở rộng APK được mã hóa và không được mã 
hóa ở định dạng Opaque Binary Blob (OBB).
lint

Một công cụ quét mã có thể giúp bạn xác định và khắc phục các sự cố với chất 
lượng cấu trúc của mã.
monkeyrunner

Cung cấp giao diện dòng lệnh để chạy chương trình có thể cài đặt ứng dụng 
Android hoặc gói thử nghiệm, chạy nó, gửi tổ hợp phím đến nó, chụp ảnh màn 
hình và hơn thế nữa.

sdkmanager

Cho phép bạn xem, cài đặt, cập nhật và gỡ cài đặt các gói cho SDK Android.
Gói này bao gồm các công cụ khác mà bạn không cần phải gọi từ dòng lệnh (chẳng 
hạn như ProGuard để thu nhỏ mã và mã hóa ).
 Trong đó, Android Debug Bridge (adb) là một công cụ dòng lệnh linh hoạt cho phép 
bạn giao tiếp với một thiết bị. Lệnh adb tạo điều kiện cho nhiều hành động của thiết bị, 
chẳng hạn như cài đặt và gỡ lỗi ứng dụng và nó cung cấp quyền truy cập vào hệ vỏ 
Unix mà bạn có thể sử dụng để chạy nhiều loại lệnh trên thiết bị. Đây là một chương 
trình máy khách­máy chủ bao gồm ba thành phần:

Một khách hàng , sẽ gửi lệnh. Máy khách chạy trên máy phát triển của bạn. Bạn
có thể gọi một máy khách từ thiết bị đầu cuối dòng lệnh bằng cách phát lệnh 
adb.

Một daemon (adbd) , chạy các lệnh trên thiết bị. Trình nền chạy như một quá 
trình nền trên mỗi thiết bị.

Một máy chủ , quản lý giao tiếp giữa máy khách và daemon. Máy chủ chạy như 
một quá trình nền trên máy phát triển của bạn.

adbđược bao gồm trong gói Công cụ nền tảng SDK Android. Bạn có thể tải xuống gói 
này với Trình quản lý SDK , cài đặt nó tại android_sdk/platform­tools/ .

Công cụ xây dựng SDK Android 

Nằm trong:  android_sdk/build­tools/version/
Gói này là cần thiết để xây dựng ứng dụng Android. Hầu hết các công cụ ở đây được 
gọi bởi các công cụ xây dựng và không dành cho bạn. Tuy nhiên, các công cụ dòng 
lệnh sau có thể hữu ích:
aapt2

Phân tích cú pháp, lập chỉ mục và biên dịch tài nguyên Android thành định dạng nhị 
phân được tối ưu hóa cho nền tảng Android và đóng gói các tài nguyên được biên dịch 
thành một đầu ra duy nhất.
apksigner

Dấu hiệu APK và kiểm tra xem chữ ký APK sẽ được xác minh thành công trên tất cả các
phiên bản nền tảng mà APK cụ thể hỗ trợ.
zipalign

Tối ưu hóa các tệp APK bằng cách đảm bảo rằng tất cả dữ liệu không nén được bắt đầu
bằng một căn chỉnh cụ thể liên quan đến phần bắt đầu của tệp.
Lưu ý: Bạn có thể có nhiều phiên bản công cụ xây dựng để xây dựng ứng dụng của mình cho các 
phiên bản Android khác nhau.

Công cụ nền tảng SDK Android 
Nằm trong: android_sdk/platform­tools/
Các công cụ này được cập nhật cho mọi phiên bản mới của nền tảng Android để hỗ trợ
các tính năng mới (và đôi khi thường xuyên hơn để sửa chữa hoặc cải thiện các công 
cụ) và mỗi bản cập nhật tương thích ngược với các phiên bản nền tảng cũ hơn.
adb
Cầu gỡ lỗi Android (adb) là một công cụ đa năng cho phép bạn quản lý trạng thái của 
một phiên bản giả lập hoặc thiết bị hỗ trợ Android. Bạn cũng có thể sử dụng nó để cài 
đặt APK trên thiết bị.

etc1tool
Một tiện ích dòng lệnh cho phép bạn mã hóa hình ảnh PNG thành chuẩn nén ETC1 và 
giải mã hình ảnh nén ETC1 trở lại PNG.
fastboot
Flash một thiết bị với nền tảng và hình ảnh hệ thống khác. Để biết hướng dẫn nhấp 
nháy, hãy xem Hình ảnh gốc cho các thiết bị Nexus và Pixel .
logcat
Đây là một công cụ được gọi qua adb để xem nhật ký ứng dụng và hệ thống.

Trình giả lập Android 
Nằm trong: android_sdk/emulator/
Gói này là bắt buộc để sử dụng Trình giả lập Android. Nó bao gồm những điều sau 
đây :.
emulator
Công cụ mô phỏng thiết bị dựa trên QEMU mà bạn có thể sử dụng để gỡ lỗi và kiểm tra 
các ứng dụng của mình trong môi trường thời gian chạy Android thực tế.
mksdcard
Giúp bạn tạo một hình ảnh đĩa mà bạn có thể sử dụng với trình giả lập, để mô phỏng sự
hiện diện của thẻ lưu trữ ngoài (chẳng hạn như thẻ SD).
Lưu ý: Trước khi sửa đổi 25.3.0, các công cụ giả lập đã được bao gồm trong gói Công cụ SDK

Jetifier  
Jetifier đọc một thư viện sử dụng các lớp Thư viện hỗ trợ và xuất ra một thư viện tương đương 
sử dụng các lớp AndroidX mới hơn.

Cung ứng một hệ thống giao diện sơ khai cho các ứng dụng 
thường là thông qua một hệ thống thư viện các hàm chuẩn 
để điều hành các phần cứng mà từ đó các ứng dụng có thể 
gọi tới.

Ứng dụng Android được viết bằng ngôn ngữ lập trình Java. Bộ công cụ SDK Android sẽ
biên dịch mã của bạn—cùng với bất kỳ tệp dữ liệu và tài nguyên nào—vào một APK: 
một gói Android, đó là một tệp lưu trữ có hậu tố .apk. Một tệp APK chứa tất cả nội dung 
của một ứng dụng Android và là tệp mà các thiết bị dựa trên nền tảng Android sử dụng 
để cài đặt ứng dụng.
Sau khi được cài đặt lên một thiết bị, từng ứng dụng Android sẽ ở bên trong hộp cát 
bảo mật của chính nó:

Hệ điều hành Android là một hệ thống Linux đa người dùng trong đó mỗi ứng
dụng là một người dùng khác nhau.

Theo mặc định, hệ thống gán cho từng ứng dụng một ID người dùng Linux 
duy nhất (ID chỉ được sử dụng bởi hệ thống và không xác định đối với ứng 
dụng). Hệ thống sẽ đặt quyền cho tất cả tệp trong một ứng dụng sao cho chỉ 
ID người dùng được gán cho ứng dụng đó mới có thể truy cập chúng.

Mỗi tiến trình có máy ảo (VM) riêng của mình, vì thế mã của một ứng dụng sẽ
chạy độc lập với các ứng dụng khác.

Theo mặc định, mọi ứng dụng chạy trong tiến trình Linux của chính nó. 
Android khởi động tiến trình khi bất kỳ thành phần nào của ứng dụng cần 
được thực thi, sau đó tắt tiến trình khi không còn cần nữa hoặc khi hệ thống 

phải khôi phục bộ nhớ cho các ứng dụng khác.

Bằng cách này, hệ thống Android triển khai nguyên tắc đăc quyền ít nhất. Cụ thể, theo 
mặc định, mỗi ứng dụng chỉ có thể truy cập vào các thành phần mà nó cần để thực hiện
công việc của mình và không hơn. Điều này tạo ra một môi trường rất bảo mật mà 
trong đó một ứng dụng không thể truy cập các bộ phận của hệ thống mà nó không 
được cấp quyền.
Tuy nhiên, có nhiều cách để một ứng dụng chia sẻ dữ liệu với các ứng dụng khác và để
một ứng dụng truy cập vào các dịch vụ của hệ thống:

Có thể sắp xếp để hai ứng dụng chia sẻ cùng ID người dùng Linux, trong 
trường hợp đó chúng có thể truy cập các tệp của nhau. Để tiết kiệm tài 
nguyên của hệ thống, các ứng dụng có cùng ID người dùng cũng có thể sắp 
xếp để chạy trong cùng tiến trình Linux và chia sẻ cùng VM (các ứng dụng 
cũng phải được ký bằng cùng chứng chỉ).

Một ứng dụng có thể yêu cầu quyền truy cập dữ liệu của thiết bị chẳng hạn 
như danh bạ của người dùng, tin nhắn SMS, thiết bị lưu trữ gắn được (thẻ 
SD), máy ảnh, Bluetooth và nhiều nữa. Tất cả quyền ứng dụng đều phải 
được cấp bởi người dùng tại thời điểm cài đặt.

vào những ứng dụng khác. Nếu bạn muốn san sẻ file với những ứng dụng khác bạnnên sử dụng FileProvider APINếu bạn muốn san sẻ tài liệu cho ứng dụng khác sử dụng bạn hoàn toàn có thể dùngContent Provider. Content Provider đưa cho bạn toàn quyền trấn áp quyềnread / write có sẵn cho những ứng dụng khác, bất kể những thức bạn đã tàng trữ dữliệu ( mặc dầu thường là database ). 1. Internal storage. Theo mặc định thì những files được lưu vào Internal Storage ( bộ nhớ trong ) sẽ làprivate so với ứng dụng của bạn, và những ứng dụng khác sẽ không kết nốiđược ( người dùng cũng không được trừ khi chúng có quyền truy vấn root ). Điều này làm cho Internal Storage là một nơi tàng trữ tài liệu tốt mà người dùngkhông cần truy vấn trực tiếp. Hệ thống phân phối một private directory trong hệthống file cho mỗi ứng dụng, nơi bạn hoàn toàn có thể sắp xếp bất kể tệp nào mà ứngdụng của bạn cần. Khi người dùng gỡ thiết lập ứng dụng của bạn, những fileđược tàng trữ trong Internal Storage được xóa bỏ. Bởi do hành vi này mà bạnkhông nên dùng Internal Storage để tàng trữ tài liệu mà người dùng dự kiếnmuốn sử dụng độc lập với ứng dụng của bạn. Ví dụ ứng dụng của bạn chophép chụp ảnh, người dùng sẽ mong đơi sẽ sử dụng những bức ảnh đó saukhi gỡ bỏ ứng dụng của bạn. Vì vậy bạn nên lưu những loại file đó ở ExternalStorage. Internal cache file : Nếu bạn muốn tàng trữ một số ít tài liệu trong thời điểm tạm thời, thay vì duy trì lưu dữ liệu liêntục, bạn nên sử dụng cache directory để tàng trữ tài liệu. Mỗi ứng dụng có mộtbộ nhớ cache riêng dành riêng cho những loại file này. Khi ứng dụng đang hoạtđộng nhưng mạng lưới hệ thống thiếu bộ nhớ, Android hoàn toàn có thể xoá những file trong bộ nhớcache này để Phục hồi dung tích. Tuy nhiên bạn không nên dự vào hệthống để quét dọn những tệp này cho bạn. Bạn nên luôn tự duy trì những file trongbộ nhớ cache ở trong số lượng giới hạn khoảng trống hài hòa và hợp lý được tiêu thụ, chẳng hạnnhư 1MB. Khi người dùng gỡ những setup của ứng dụng, những file này cũng bịxóa. 2. External storage. Mọi thiết bị Android đều tương hỗ khoảng trống tàng trữ External Storage ( bộ nhớngoài ) mà bạn hoàn toàn có thể sử dụng để lưu file. Vùng nhớ này được gọi là External ( ngoài ) là do tại nói không phải chắc như đinh là một vùng nhớ hoàn toàn có thể truy cậpđược mà nó là một khoảng trống tàng trữ. Là vùng nhớ mà người dùng hoàn toàn có thể kếtnối với máy tính, thậm chí còn hoàn toàn có thể tháo lắp vật lý, ví dụ như những thẻ nhớ SD.Các file trên External Storage hoàn toàn có thể được đọc ở mọi nơi và hoàn toàn có thể đượcngười dùng sửa đổi khi chúng được cho phép như thể một USB để hoàn toàn có thể chuyển đổidữ liệu sang máy tính. Vì vậy trước khi bạn cố gắng nỗ lực truy vấn truy vấn một file trong External Storagetrong ứng dụng của bạn, bạn nên kiểm tra tính khả dụng của những thu mục nàycũng như những file trong chúngThông thường, bạn nên sử dụng bộ nhớ ngoài cho tài liệu mà hoàn toàn có thể truy cậpvào những ứng dụng khác và vẫn còn lưu khi ứng dụng của bạn bị người dùnggỡ setup. Chăng hạn như những bức ảnh được chụp hoặc những file đãđược tải về xuống trước đó. Hệ thống sẽ cung ứng những thư mục pubicchuẩn cho những loại file này, do đó người dùng có những vị trí cho photos, ringtones, music, … Bạn cũng hoàn toàn có thể lưu file vào External Storage trong thư mục dành riêng choứng dụng của bạn mà mạng lưới hệ thống sẽ xóa khi người dùng gỡ setup ứng dụngnày trên điện thoại thông minh. Đây hoàn toàn có thể là giải pháp sửa chữa thay thế cho bộ nhớ trong nếu cầnthêm dung tích, nhưng những file ở đây không bảo vệ hoàn toàn có thể truy vấn đượcbởi vì người dùng hoàn toàn có thể xóa, hay tháo thẻ nhớ SD. Và những file này hoàn toàn có thể đọcđược mọi nơi, chúng chỉ sao lưu vào một nơi mà không được chia sẽ với cácứng dụng khác. 3. Shared PreferencesNếu bạn không lưu nhiều tài liệu và tài liệu đó không nhu yếu cấu trúc, bạnnên sử dụng Shared Preferences. Loại tàng trữ này được cho phép bạn đọc và ghicác cặp key ­ value của những kiểu tài liệu nguyên thủy : booleans, floats, ints, longs và stringsCác cặp key ­ value này được ghi vào những tệp XML, luôn sống sót khi ứng dụngđược sử dụng và kể những khi ứng dụng bị kill. Bạn hoàn toàn có thể chỉ định tên cho fileđó theo cách bằng tay thủ công cho mỗi hành vi để tàng trữ tài liệu của bạn. Tên Shared Preferences nhiều lúc gây ra một chút ít hiểu nhầm chính do nó không phảihoàn toàn để lưu những tùy chọn của người dùng, ví dụ điển hình như nhạcchuông mà người dùng đã chọn. Bạn chỉ hoàn toàn có thể dùng Shared Preferences đểlưu bất kỳ loại tài liệu đơn thuần nào, ví dụ điển hình như điểm số cao của ngườidùng. Tuy nhiên nếu bạn muốn lưu tùy chon người dùng cho ứng dụng củamình bạn hoàn toàn có thể dùng PreferenceActivity. 4. DatabasesAndroid phân phối tương hỗ vừa đủ cho SQLite Database. Bất kì cơ sở tài liệu màbạn tạo chỉ hoàn toàn có thể truy vấn được bởi ứng dụng của bạn. Tuy nhiên thay vì sửdụng những SQLite API trực tiếp, thì hiện tại Android khuyến khích cácDevelopers tên tạo và tương tác với cơ sở tài liệu của mình với RoomDatabse, một component trong Android Architecture của gói Jetpack. Room cung ứng một abstract class ánh xạ đối tượng người dùng được cho phép truy vấn cơ sởdữ liệu nhanh gọn, vận tốc trong khi đã phát huy khai thác hàng loạt sức mạnhcủa SQLite Database. Mặc dù bạn hoàn toàn có thể sử dụng với SQLite Database nhưng hiện thì đã xem nhưtốn rất nhiều thời hạn và công sức của con người để sử dụng ^ ^ : 1. Các truy vấn cứng SQL thì không được Compiler time checking. 2. Khi cấu trúc cơ sở tài liệu đổi khác thì bạn phải update một cách thủcông. Quá trình này gây tốn thời hạn vã dễ bị lỗi. 3. Bạn phải viết nhiều mã để quy đổi giữa những truy vấn SQL và những đốitượng dữ liệu java. Thư viện Room sẽ xử lý hết những yếu tố này trong khi phân phối một lớptrừu tượng trên SQLite. 5. Tổng kết. Bài viết này đã liệt kê ra những cách tàng trữ tài liệu mà Android phân phối choứng dụng. Ngoài ra cũng hoàn toàn có thể tàng trữ tài liệu bằng cách sử dụng NetworkConnection. Để thao tác với internet thì hoàn toàn có thể sử dụng cácgói java.net và android.net được phân phối. Cung ứng một mạng lưới hệ thống lệnh cơ bản để điều hành máy. Cáclệnh này gọi là lệnh mạng lưới hệ thống ( system command ). Trong Android có công cụ dòng lệnh là : Những gói DSK Android được nhu yếu để tăng trưởng ứng dụng. Có thể setup và update từng gói bằng Trình quản trị SDK của AndroidStudio hoặc sdkmanager công cụ dòng lệnh. Tất cả những gói được tải xuống thư mục SDK Android của bạn, nơi bạn hoàn toàn có thể xác định nhưsau : o Trong Android Studio, bấm vào File > Project Structure. o Chọn SDK Location trong khung bên trái. Đường dẫn được hiển thịdưới Android SDK location. Công cụ SDK AndroidNằm trong : android_sdk / tools / bin / Gói này độc lập với nền tảng và được nhu yếu mặc dầu bạn đang tăng trưởng nền tảngAndroid nào. apkanalyzerCung cấp cái nhìn thâm thúy về thành phần APK của bạn sau khi quy trình xâydựng hoàn tất. avdmanagerCho phép bạn tạo và quản trị Thiết bị ảo Android ( AVD ) từ dòng lệnh. jobbCho phép bạn thiết kế xây dựng những tệp lan rộng ra APK được mã hóa và không được mãhóa ở định dạng Opaque Binary Blob ( OBB ). lintMột công cụ quét mã hoàn toàn có thể giúp bạn xác lập và khắc phục những sự cố với chấtlượng cấu trúc của mã. monkeyrunnerCung cấp giao diện dòng lệnh để chạy chương trình hoàn toàn có thể thiết lập ứng dụngAndroid hoặc gói thử nghiệm, chạy nó, gửi tổng hợp phím đến nó, chụp ảnh mànhình và hơn thế nữa. sdkmanagerCho phép bạn xem, setup, update và gỡ setup những gói cho SDK Android. Gói này gồm có những công cụ khác mà bạn không cần phải gọi từ dòng lệnh ( chẳnghạn như ProGuard để thu nhỏ mã và mã hóa ). Trong đó, Android Debug Bridge ( adb ) là một công cụ dòng lệnh linh động cho phépbạn tiếp xúc với một thiết bị. Lệnh adb tạo điều kiện kèm theo cho nhiều hành vi của thiết bị, ví dụ điển hình như setup và gỡ lỗi ứng dụng và nó cung ứng quyền truy vấn vào hệ vỏUnix mà bạn hoàn toàn có thể sử dụng để chạy nhiều loại lệnh trên thiết bị. Đây là một chươngtrình máy khách ­ sever gồm có ba thành phần : Một người mua, sẽ gửi lệnh. Máy khách chạy trên máy tăng trưởng của bạn. Bạncó thể gọi một máy khách từ thiết bị đầu cuối dòng lệnh bằng cách phát lệnhadb. Một daemon ( adbd ), chạy những lệnh trên thiết bị. Trình nền chạy như một quátrình nền trên mỗi thiết bị. Một sever, quản trị tiếp xúc giữa máy khách và daemon. Máy chủ chạy nhưmột quy trình nền trên máy tăng trưởng của bạn. adbđược gồm có trong gói Công cụ nền tảng SDK Android. Bạn hoàn toàn có thể tải xuống góinày với Trình quản trị SDK, setup nó tại android_sdk / platform ­ tools /. Công cụ thiết kế xây dựng SDK AndroidNằm trong : android_sdk / build ­ tools / version / Gói này là thiết yếu để kiến thiết xây dựng ứng dụng Android. Hầu hết những công cụ ở đây đượcgọi bởi những công cụ thiết kế xây dựng và không dành cho bạn. Tuy nhiên, những công cụ dònglệnh sau hoàn toàn có thể hữu dụng : aapt2Phân tích cú pháp, lập chỉ mục và biên dịch tài nguyên Android thành định dạng nhịphân được tối ưu hóa cho nền tảng Android và đóng gói những tài nguyên được biên dịchthành một đầu ra duy nhất. apksignerDấu hiệu APK và kiểm tra xem chữ ký APK sẽ được xác định thành công xuất sắc trên tổng thể cácphiên bản nền tảng mà APK đơn cử tương hỗ. zipalignTối ưu hóa những tệp APK bằng cách bảo vệ rằng tổng thể tài liệu không nén được bắt đầubằng một chỉnh sửa đơn cử tương quan đến phần khởi đầu của tệp. Lưu ý : Bạn hoàn toàn có thể có nhiều phiên bản công cụ thiết kế xây dựng để thiết kế xây dựng ứng dụng của mình cho cácphiên bản Android khác nhau. Công cụ nền tảng SDK AndroidNằm trong : android_sdk / platform ­ tools / Các công cụ này được update cho mọi phiên bản mới của nền tảng Android để hỗ trợcác tính năng mới ( và đôi lúc liên tục hơn để thay thế sửa chữa hoặc cải tổ những côngcụ ) và mỗi bản update thích hợp ngược với những phiên bản nền tảng cũ hơn. adbCầu gỡ lỗi Android ( adb ) là một công cụ đa năng được cho phép bạn quản trị trạng thái củamột phiên bản giả lập hoặc thiết bị tương hỗ Android. Bạn cũng hoàn toàn có thể sử dụng nó để càiđặt APK trên thiết bị. etc1toolMột tiện ích dòng lệnh được cho phép bạn mã hóa hình ảnh PNG thành chuẩn nén ETC1 vàgiải mã hình ảnh nén ETC1 trở lại PNG.fastbootFlash một thiết bị với nền tảng và hình ảnh mạng lưới hệ thống khác. Để biết hướng dẫn nhấpnháy, hãy xem Hình ảnh gốc cho những thiết bị Nexus và Pixel. logcatĐây là một công cụ được gọi qua adb để xem nhật ký ứng dụng và mạng lưới hệ thống. Trình giả lập AndroidNằm trong : android_sdk / emulator / Gói này là bắt buộc để sử dụng Trình giả lập Android. Nó gồm có những điều sauđây :. emulatorCông cụ mô phỏng thiết bị dựa trên QEMU mà bạn hoàn toàn có thể sử dụng để gỡ lỗi và kiểm tracác ứng dụng của mình trong thiên nhiên và môi trường thời hạn chạy Android trong thực tiễn. mksdcardGiúp bạn tạo một hình ảnh đĩa mà bạn hoàn toàn có thể sử dụng với trình giả lập, để mô phỏng sựhiện diện của thẻ tàng trữ ngoài ( ví dụ điển hình như thẻ SD ). Lưu ý : Trước khi sửa đổi 25.3.0, những công cụ giả lập đã được gồm có trong gói Công cụ SDKJetifierJetifier đọc một thư viện sử dụng những lớp Thư viện tương hỗ và xuất ra một thư viện tương đươngsử dụng những lớp AndroidX mới hơn. Cung ứng một mạng lưới hệ thống giao diện sơ khai cho những ứng dụngthường là trải qua một mạng lưới hệ thống thư viện những hàm chuẩnđể điều hành những phần cứng mà từ đó những ứng dụng có thểgọi tới. Ứng dụng Android được viết bằng ngôn từ lập trình Java. Bộ công cụ SDK Android sẽbiên dịch mã của bạn — cùng với bất kể tệp tài liệu và tài nguyên nào — vào một APK : một gói Android, đó là một tệp tàng trữ có hậu tố. apk. Một tệp APK chứa toàn bộ nội dungcủa một ứng dụng Android và là tệp mà những thiết bị dựa trên nền tảng Android sử dụngđể thiết lập ứng dụng. Sau khi được thiết lập lên một thiết bị, từng ứng dụng Android sẽ ở bên trong hộp cátbảo mật của chính nó : Hệ điều hành Android là một mạng lưới hệ thống Linux đa người dùng trong đó mỗi ứngdụng là một người dùng khác nhau. Theo mặc định, mạng lưới hệ thống gán cho từng ứng dụng một ID người dùng Linuxduy nhất ( ID chỉ được sử dụng bởi mạng lưới hệ thống và không xác lập so với ứngdụng ). Hệ thống sẽ đặt quyền cho toàn bộ tệp trong một ứng dụng sao cho chỉID người dùng được gán cho ứng dụng đó mới hoàn toàn có thể truy vấn chúng. Mỗi tiến trình có máy ảo ( VM ) riêng của mình, vì vậy mã của một ứng dụng sẽchạy độc lập với những ứng dụng khác. Theo mặc định, mọi ứng dụng chạy trong tiến trình Linux của chính nó. Android khởi động tiến trình khi bất kể thành phần nào của ứng dụng cầnđược thực thi, sau đó tắt tiến trình khi không còn cần nữa hoặc khi hệ thốngphải Phục hồi bộ nhớ cho những ứng dụng khác. Bằng cách này, mạng lưới hệ thống Android tiến hành nguyên tắc đăc quyền tối thiểu. Cụ thể, theomặc định, mỗi ứng dụng chỉ hoàn toàn có thể truy vấn vào những thành phần mà nó cần để thực hiệncông việc của mình và không hơn. Điều này tạo ra một môi trường tự nhiên rất bảo mật thông tin màtrong đó một ứng dụng không hề truy vấn những bộ phận của mạng lưới hệ thống mà nó khôngđược cấp quyền. Tuy nhiên, có nhiều cách để một ứng dụng san sẻ tài liệu với những ứng dụng khác và đểmột ứng dụng truy vấn vào những dịch vụ của mạng lưới hệ thống : Có thể sắp xếp để hai ứng dụng san sẻ cùng ID người dùng Linux, trongtrường hợp đó chúng hoàn toàn có thể truy vấn những tệp của nhau. Để tiết kiệm chi phí tàinguyên của mạng lưới hệ thống, những ứng dụng có cùng ID người dùng cũng hoàn toàn có thể sắpxếp để chạy trong cùng tiến trình Linux và san sẻ cùng VM ( những ứng dụngcũng phải được ký bằng cùng chứng từ ). Một ứng dụng hoàn toàn có thể nhu yếu quyền truy vấn tài liệu của thiết bị chẳng hạnnhư danh bạ của người dùng, tin nhắn SMS, thiết bị tàng trữ gắn được ( thẻSD ), máy ảnh, Bluetooth và nhiều nữa. Tất cả quyền ứng dụng đều phảiđược cấp bởi người dùng tại thời gian setup .

Source: https://vh2.com.vn
Category : Ứng Dụng