2013-08-26 19 views
5

Tôi chỉ tự hỏi điều gì sẽ là cách tốt hơn để xử lý dữ liệu trong một số hoạt động trong Android.Có tốt hơn khi truyền dữ liệu thông qua ý định hoặc truy vấn cơ sở dữ liệu khi cần không?

Giả sử tôi có hai hoạt động, A và B, giữ một số chế độ xem. Đầu tiên tôi tải một số dữ liệu từ một cơ sở dữ liệu SQL và thổi phồng các khung nhìn trong A. Bây giờ, tôi muốn bắt đầu hoạt động B, sử dụng cùng một tập hợp dữ liệu như A đã làm.

Tốt hơn là chuyển dữ liệu qua Intent (putExtra()) rồi tăng lượt xem hoặc tốt hơn là truy vấn cơ sở dữ liệu một lần nữa và sau đó thổi phồng.

Tôi không chắc chắn về điều đó, bởi vì cả hai phương pháp dường như có nhược điểm của họ:

  • Truy vấn cơ sở dữ liệu mất nhiều thời gian/thêm nguồn lực
  • Đưa dữ liệu bổ sung cho các mục đích làm cho nó phức tạp hơn, vì đưa và nhận dữ liệu (đặc biệt là khi làm việc với nhiều hoạt động hơn)

Ai đó có thể cho tôi một số lời khuyên về thực hành tốt nhất là gì?

+0

ứng dụng sử dụng CLA ss http://developer.android.com/reference/android/app/Application.html – Raghunandan

Trả lời

2

Khi so sánh với mục đích sử dụng truy vấn DB.

Và một cách khác là sử dụng một lớp chung sẽ giữ dữ liệu của bạn tạm thời.

0

Có nhiều cách khác nhau để chuyển và nhận dữ liệu. Sẽ hữu ích hơn nếu sử dụng truy vấn Intent so với DB.

Nhưng có một cách hữu ích khác được chia sẻ ưu tiên. Thông qua đó bạn có thể tạo, chỉnh sửa, xóa dữ liệu cũng như có thể tìm nạp dữ liệu từ bất kỳ hoạt động nào.

Để tạo hoặc chỉnh sửa tùy chọn chia sẻ:

String share_pref_file = "your_file_name";  
SharedPreferences prefs1 = getSharedPreferences(
     share_pref_time_file, Context.MODE_PRIVATE); 
SharedPreferences.Editor editor1 = prefs1.edit(); 
editor1.putString("your_data", data); //data is your variable 
editor1.commit(); 

Để lấy dữ liệu:

String share_pref_file = "your_file_name"; 
SharedPreferences prefs = getSharedPreferences(share_pref_file, 
    Context.MODE_PRIVATE); 
String strJson = prefs.getString("your_data", ""); 

Để xóa:

String share_pref_file = "your_file_name"; 
SharedPreferences prefs1 = getSharedPreferences(
      share_pref_file, Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = prefs1.edit(); 
    editor.remove(share_pref_file); 
    editor.clear(); 
    editor.commit(); 
+0

Tùy chọn được chia sẻ là tốt khi bạn có ít dữ liệu hơn và nó sẽ chỉ được sử dụng khi bạn cần sử dụng dữ liệu đó thông qua ứng dụng và thường đã sử dụng. Nó không phải là cách tốt hơn bởi vì dữ liệu sở thích được chia sẻ sẽ được lưu trữ trong bộ nhớ RAM thiết bị, do đó, ứng dụng sẽ làm việc chậm và có thể nó sẽ bị rơi vì vấn đề bộ nhớ. –

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