2010-10-16 34 views
7

Hiện giờ tôi đang cố gắng lưu biến khi tôi đóng ứng dụng và nhận lại biến khi tôi mở ứng dụng sao lưu. Tôi không biết liệu tôi có làm đúng không. Biến của tôi được gọi là đếm và muốn lưu và khôi phục nó. Thê nay đung không? Nếu vậy, tại sao nó không hoạt động? Nếu không, tôi cần phải thay đổi điều gì? (Tôi đang sử dụng rõ ràng SharedPreferences)Sự cố khi lưu các tùy chọn được chia sẻ trong Android

protected void onPause(){ 
    super.onPause(); 


    SharedPreferences settings = getSharedPreferences(PREFS_COUNT, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putInt("count", count); 
    editor.commit(); 
} 
@Override 
protected void onResume(){ 
    super.onResume(); 
    SharedPreferences settings = getSharedPreferences(PREFS_COUNT, 0); 
    count = settings.getInt("count", count); 
} 
+0

"tại sao nó không hoạt động?" -> bạn có thể chính xác hơn không? bạn đang nhận được một lỗi? Giá trị của bạn có đúng không? Bạn đã chạy trình gỡ lỗi của mình chưa? – JRL

+0

Vâng, ứng dụng tải tốt, nhưng không lưu biến. –

+0

Hoàn toàn không có lỗi, nhưng tôi đã nhận được nó để làm việc. –

Trả lời

6

Trông đúng trừ chắc chắn rằng bạn có một hằng số:

public static final String PREFS_COUNT = "MyPrefsFile"; 

tuyên bố vào đầu hoạt động của bạn. Đó là tất cả ngay tại đây trong tài liệu của Google:

http://developer.android.com/guide/topics/data/data-storage.html#pref

nên hoạt động tốt nếu bạn làm theo mà chính xác.

+1

Ah, tôi hiểu rồi. tôi đã quên tải các ưu đãi trong "gói Oncreate" ...... Cảm ơn –

+1

Hài hước giải quyết vấn đề của tôi, thậm chí tôi không hiểu tại sao, tôi đã sử dụng cuộc gọi như: getSharedPreferences (MyClass.getSimpleName(), 0) ; Điều đó không phải là khá liên tục ... – joecks

+0

Điểm không phải là bạn cần chuỗi tĩnh, vấn đề là bạn cần sử dụng một tệp tùy chọn chung trên ứng dụng của mình, đúng không? –

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