Storage/emulated ở đâu – Kết Quả Là Gì ?

1. Mở đầu.

Xin chào các bạn!

Nếu như các bạn thế hệ tìm hiểu về Android thì các bạn mang biết rằng Android phân phối một số trong những tùy tìm để các bạn lưu data ứng dụng của tớ ko?. Bản thân xin bảo rằng giải pháp nhưng mà các bạn tìm tùy nằm trong vào ý định rõ ràng của các bạn, ví dụ như dung tích data của các bạn yêu cầu, loại data các bạn cần để lưu trữ, và data mang phải là private cho ứng dụng của các bạn thường ứng dụng khác hoặc người sử dụng mang thể truy vấn?

Tại đây bản thân sẽ trình làng cho các bạn những phương pháp lưu trữ data mang sẵn nhưng mà Android phân phối nhé:

Internal file storage: Lưu trữ những file riêng tư của ứng dụng (app-private files) trong khối hệ thống file của vũ trang.

External file storage: Lưu trữ file trên khối hệ thống file san sẻ ra được phía ngoài. Thường xuyên sử dụng cho những file nhưng mà người sử dụng được chia sẽ, ví dụ như hình ảnh, video.

Shared Preferences: Lưu trữ data nguyên thủy do những cặp key-value.

Database: Lưu trữ những data mang cấu trúc trong cơ sở data private.

fc09f6cd a821 48e6 ab44 ccd326ec926c

Ngoại trư một số trong những loại file trên External Storage, thì toàn bộ những phương pháp lưu trữ này giành cho data riêng tư của ứng dụng – data ko thể truy vấn ngẫu nhiên vào những ứng dụng khác. Nếu các bạn mong muốn san sẻ file với những ứng dụng khác các bạn nên dùng FileProvider API

Nếu các bạn mong muốn san sẻ data cho ứng dụng khác dùng các bạn mang thể sử dụng Nội dung Provider. Nội dung Provider đưa cho các bạn toàn quyền làm chủ quyền read/write mang sẵn cho những ứng dụng khác, bất kể những thức các bạn vẫn lưu trữ data (Tuy thường xuyên là database).

2. Internal storage.

Theo khoác định thì những files được lưu vào Internal Storage (bộ lưu trữ trong) sẽ là private so với ứng dụng của các bạn, và những ứng dụng khác sẽ ko connect được (người sử dụng cũng ko được trừ lúc chúng mang quyền truy vấn root). Như vậy làm cho Internal Storage là 1 trong những nơi lưu trữ data tốt nhưng mà người sử dụng ko cần truy vấn trực tiếp. Khối hệ thống phân phối một private directory trong khối hệ thống file cho từng ứng dụng, nơi các bạn mang thể sắp xếp bất kì tệp nào nhưng mà ứng dụng của các bạn cần. alt Lúc người sử dụng gỡ thiết đặt ứng dụng của các bạn, những file được lưu trữ trong Internal Storage được xóa sổ. Bởi vì do hành vi này nhưng mà các bạn ko nên sử dụng Internal Storage để lưu trữ data nhưng mà người sử dụng dự kiến mong muốn dùng độc lập với ứng dụng của các bạn. Ví dụ ứng dụng của các bạn cho phép tự sướng, người sử dụng sẽ mong đơi sẽ dùng những tấm hình đấy sau lúc gỡ bỏ ứng dụng của các bạn. Vì thế vậy các bạn nên lưu những loại file đấy ở External Storage.

Internal cache file:

Nếu các bạn mong muốn lưu trữ một số trong những data tạm thời, thay vì như thế duy trì lưu data thường xuyên, các bạn nên dùng cache directory để lưu trữ data. Mỗi ứng dụng mang một bộ lưu trữ cache riêng dành riêng cho những loại file này. Lúc ứng dụng đang sinh hoạt nhưng khối hệ thống thiếu thốn bộ lưu trữ, Android mang thể xoá những file trong bộ lưu trữ cache này để bình phục dung tích. Tuy rằng nhiên các bạn ko nên dự vào khối hệ thống để thu dọn những tệp này cho các bạn. Hành khách nên luôn luôn tự duy trì những file trong bộ lưu trữ cache ở trong giới hạn ko gian phù hợp được hấp thụ, ví dụ như 1MB. Lúc người sử dụng gỡ những thiết đặt của ứng dụng, những file này cũng trở thành xóa.

3. External storage.

Mọi vũ trang Android đều cung ứng ko gian lưu trữ External Storage (bộ lưu trữ ngoài) nhưng mà các bạn mang thể dùng để lưu file. Vùng ghi nhớ này được gọi là External (ngoài) là do vì như thế nói ko phải kiên cố là 1 trong những vùng ghi nhớ mang thể truy vấn được nhưng mà nó là 1 trong những ko gian lưu trữ. Là vùng ghi nhớ nhưng mà người sử dụng mang thể connect với máy tính, ngoài ra mang thể tháo lắp đặt cơ vật lý, ví dụ như những thẻ ghi nhớ SD. Những file trên External Storage mang thể được xem thêm thông tin ở mọi nơi và mang thể được người sử dụng sửa đổi lúc chúng cho phép như là 1 trong những USB để mang thể gửi đổi data thanh lịch máy tính. alt

Vì thế vậy trước lúc các bạn nỗ lực truy vấn truy vấn một file trong External Storage trong ứng dụng của các bạn, các bạn nên rà soát tính khả dụng của những thu mục này hao hao những file trong chúng

Thường thì, các bạn nên dùng bộ lưu trữ ngoài cho data nhưng mà mang thể truy vấn vào những ứng dụng khác và vẫn tồn tại lưu lúc ứng dụng của các bạn bị người sử dụng gỡ thiết đặt. Chăng hạn tựa như những tấm hình được chụp hoặc những file vẫn được tải về xuống trước đấy. Khối hệ thống sẽ phân phối những thư mục pubic chuẩn chỉnh cho những loại file này, bởi vậy người sử dụng mang những mùi vị trí cho photos, ringtones, music, …

Hành khách cũng mang thể lưu file vào External Storage trong thư mục dành riêng cho ứng dụng của các bạn nhưng mà khối hệ thống sẽ xóa lúc người sử dụng gỡ thiết đặt ứng dụng này trên smartphone. Đây mang thể là giải pháp thay thế cho bộ lưu trữ trong nếu cần thêm dung tích, nhưng những file ở đây ko đảm bảo mang thể truy vấn được do vì như thế người sử dụng mang thể xóa, thường tháo thẻ ghi nhớ SD. Và những file này mang thể xem thêm thông tin được mọi nơi, chúng chỉ sao lưu vào một trong những nơi nhưng mà ko được chia sẽ với những ứng dụng khác.

4. Shared Preferences

Nếu các bạn ko lưu nhiều data và data đấy ko yêu cầu cấu trúc, các bạn nên dùng Shared Preferences. Loại lưu trữ này cho phép độc giả và ghi những cặp key-value của những kiểu data nguyên thủy: booleans, floats, ints, longs và strings

Những cặp key-value này được ghi vào những tệp XML, luôn luôn tồn tại lúc ứng dụng được dùng và kể những lúc ứng dụng bị kill. Hành khách mang thể điều khiển tên cho file đấy theo phương pháp thủ công cho từng hành vi để lưu trữ data của các bạn.

Tên Shared Preferences thỉnh thoảng tạo nên một tí hiểu lầm do vì như thế nó ko phải trọn vẹn để lưu những tùy tìm của người sử dụng, ví dụ như nhạc chuông nhưng mà người sử dụng vẫn tìm. Hành khách chỉ mang thể sử dụng Shared Preferences để lưu bất kì loại data đơn thuần nào, ví dụ như điểm số cao của người sử dụng. Tuy rằng nhiên nếu các bạn mong muốn lưu tùy chon người sử dụng cho ứng dụng của tớ các bạn mang thể sử dụng PreferenceActivity External Storage Explanation In Android Studio mang thời kì bản thân sẽ trình diễn sau nhé.

5. Databases

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

Room phân phối một abstract class ánh xạ nhân vật cho phép truy vấn cơ sở data nhanh chóng chóng, vận tốc trong lúc vẫn đẩy mạnh khai quật toàn thể sức khỏe của SQLite Database.

Tuy các bạn mang thể dùng với SQLite Database nhưng hiện thì vẫn coi như tốn rất nhiều thời kì và sức lực để dùng ^^:

Tủ sách Room sẽ khắc phục không còn những vấn đề này trong lúc phân phối một lớp trừu tượng trên SQLite.

6.Tổng kết.

Qua nội dung bài viết này bản thân vẫn liệt kê ra những phương pháp lưu trữ data nhưng mà Android phân phối cho ứng dụng. Ngoài ra các bạn cũng mang thể lưu trữ data của tớ bằng phương pháp dùng Network Connection. Để thao tác với internet thì những các bạn mang thể dùng những gói java.net và android.net được phân phối.

Mong nội dung bài viết vẫn mang một mẫu trông tổng quan cho những các bạn mở đầu tìm hiểu về Storage trong Android. Xin cám ơn rất nhiều!

7.Tài liệu tìm hiểu thêm.

https://developer.android.com/guide/topics/data/data-storage