Ứng dụng của tôi cần cấu trúc dữ liệu tương tự như hàng đợi: đặt dữ liệu vào đó, nhận dữ liệu từ đó, như kiểu FIFO. Với dữ liệu tôi có nghĩa là các chuỗi đơn giản bây giờ, sau này có lẽ là các đối tượng phức tạp hơn. Vấn đề là hàng đợi và nội dung của nó phải liên tục, bất kể Android đang làm gì. Nếu ứng dụng bị đóng và mở lại (hoặc thậm chí khởi động lại Android), hàng đợi phải có cùng trạng thái và dữ liệu trước khi ứng dụng bị đóng.Cách nhận hàng đợi liên tục trên Android
Tôi cho rằng hàng đợi phải sử dụng một số loại bộ nhớ dưới mui xe, tốt nhất là bộ nhớ trong của thiết bị. Có lẽ bạn có thể làm một số động não làm thế nào để nhận ra điều này. Hàng đợi không nhất thiết phải chạy trong ứng dụng của tôi, nó cũng có thể là một loại dịch vụ nền được ghép đôi yếu nếu có thể trong Android (nhưng riêng tư cho ứng dụng của tôi).
Tôi sử dụng phương pháp này để xử lý mã vạch được quét của đồng bộ hóa ngoại tuyến trong một ứng dụng mà gần đây tôi đã viết cho công việc. Bạn thậm chí có thể tạo ra một lớp serializable để lưu trữ nhiều khối dữ liệu của các loại khác nhau, và chèn nó vào cơ sở dữ liệu. Vì nó nằm trong cơ sở dữ liệu, nó liên tục, bạn chỉ cần tìm nó và kéo nó ra. Một tùy chọn khác là lưu trữ nó như là một serializable trong một tập tin văn bản trong thư mục lưu trữ riêng cho các ứng dụng nếu bạn về cơ bản chỉ nói chuyện lưu trữ trạng thái ứng dụng. Nó dễ dàng hơn lưu trữ db cho một loạt dữ liệu duy nhất cho trạng thái ứng dụng. –
Ồ thật trùng hợp.Ý định của tôi gần như giống nhau - quét mã vạch và những thứ tương tự và giữ chúng trên thiết bị trong một thời gian, ví dụ nếu thiết bị ở trong vùng không có tín hiệu nơi nó không thể gửi dữ liệu đến máy chủ. Bạn có nghĩ rằng điều này cũng có thể làm việc đáng tin cậy với các tập tin trong lưu trữ nội bộ hoặc là cơ sở dữ liệu sqlite một giải pháp tốt hơn nhiều ở đây? – ceran
Cơ sở dữ liệu. Sau đó, bạn không phải viết và viết lại tệp mỗi khi bạn có thay đổi. Bạn không phải lo lắng về việc phân tích cú pháp tệp. Sử dụng các lớp trợ giúp Sqlite cũng không khó. – Frohnzie