7

Tôi có một listview có ba lĩnh vực, nhưng tôi không biết làm thế nào để lưu listview của tôi trong android và lấy lại nó khi người dùng mở ứng dụng và hiển thị nó.Làm thế nào để lưu listview trong Android và lấy lại nó khi cần thiết?

Tôi muốn hiển thị dữ liệu được lưu trong chế độ xem danh sách và tôi phải lưu dữ liệu mới mà người dùng nhập vào danh sách xem của tôi.

+0

sử dụng cơ sở dữ liệu thay thế ... –

Trả lời

1

Theo requirment của bạn, không có cách nào trực tiếp để lưu trữ xem danh sách nhưng bạn có thể lưu trữ số liệu trong giao diện danh sách và bạn có thể đặt nó vào ListView sau, cho rằng bạn phải sử dụng Cơ sở dữ liệu Sqlite, tham khảo tài liệu chính thức của sqlite here, cũng xem ví dụ this.

đọc this dụ quá (ListView của dữ liệu từ SQLiteDatabase)

3

Tôi khuyên bạn nên có một số loại cơ sở dữ liệu trên máy chủ lưu thông tin đó và bạn sẽ cần phải lấy thông tin đó từ cơ sở dữ liệu để hiển thị nó trong ứng dụng. Tuy nhiên, android cũng có một cái gì đó được gọi là sharedpref cho phép bạn lưu nội dung trong ứng dụng khi ứng dụng bị đóng. Liên kết dưới đây. Tuy nhiên đây không phải là cách tốt nhất mà cơ sở dữ liệu sẽ là, nhưng nó có thể phù hợp với nhu cầu của bạn.

http://developer.android.com/reference/android/content/SharedPreferences.html

+0

Nếu bạn cố gắng làm bất cứ điều gì phức tạp với SharedPreferences, hãy nhanh chóng trở nên rất tẻ nhạt; bạn chỉ có thể lưu trữ các kiểu nguyên thủy và đó là một hệ thống khóa/giá trị đơn giản. Vì vậy, SharedPreferences có nghĩa là để lưu trữ nhẹ dữ liệu đơn giản. – droidev

1

Nó phụ thuộc vào mục đích và yêu cầu của ứng dụng của bạn. Nếu bạn đang phát triển một ứng dụng ngoại tuyến, thì bạn nên lưu dữ liệu đã nhập trong listview.

Một lần nữa, có nhiều cách để người dùng nhập dữ liệu. Bạn có thể sử dụng một FAB (thanh hành động nổi) hoặc có một hộp văn bản trong mục listview cuối cùng.

Khi người dùng nhập dữ liệu, bạn nên lưu nó vào cơ sở dữ liệu SQLite trong một thread nền và gọi số() phương pháp trên adapter listview để những thay đổi suy nghĩ về quan điểm notifyDatasetChanged.

Nếu bạn phải gửi qua mạng để lưu trữ trong máy chủ, bạn nên thực hiện nối mạng trên chuỗi nền bằng mô hình chuỗi AysncTask hoặc Handler hoặc sử dụng các thư viện như volley hoặc picasso để dễ dàng .

Hy vọng điều này sẽ hữu ích!

PS: Sử dụng mẫu ViewHolder để cải thiện hiệu suất trong một ListView. Hoặc có RecyclerView từ Android 5.0.

+0

RecyclerView từ Lollipop? – droidev

+0

Đã cập nhật câu trả lời. RecyclerView từ 5.0 (cũng có sẵn trên thư viện hỗ trợ V7) – Srinivas

Các vấn đề liên quan