2012-11-17 3 views
0

나는 arraylist를 보유하고 있으며 응용 프로그램이 닫히거나 종료되거나 파괴 될 때 데이터를 저장하려고합니다.공유 환경 설정에 데이터를 저장하는 방법

//Class SimpleBookManager.java is a singleton 

private ArrayList<Book> allBooks = new ArrayList<Book>(); 

public Book getBook(int index){ 
    return allBooks.get(index); 
} 
public void saveChanges(){ 
    //Save the allBooks into memory 
} 
public void loadBooks(){ 
    //Load the allBooks into memory to the variable allBooks; 
} 

이 패키지의 다른 모든 클래스에 SimpleBookManager.getSimpleBookManager().saveChanges();를 작성하여 도달.

saveChanges() 및 loadBooks() 메서드를 구현하는 가장 좋은 방법은 무엇입니까? 아마도 간단한 예를 들려 주시겠습니까?

다음

답변

0

당신이 찾고있는 코드를 가진 SO 질문) = 나는 안드로이드의 공유 환경 설정에 대해 뭔가를 읽었지만, 불행히도 나는 확실히 그것을 얻을하지 마십시오

에서 공유 환경 설정에서 배열을 저장하려면

은 이쪽을 봐 -

그러나 앱은 책을 많이, 또는 SQLite 데이터베이스를 사용하는 것이 더 좋을 것이다 각 책에 대한 많은 정보가있는 경우

당신은 당신의 응용 프로그램 내에서 어떤 맥락에서 된 SharedPreferences의 인스턴스를 얻을 수
+0

다른 질문에만 연결되어 있고 공급자는 답변을 제공하지 않았기 때문에 주석으로 더 좋습니다. – Sam

0

.

다음 코드는 your_preference_file_name는 "

SharedPreferences prefs = context.getSharedPreferences("your_preference_file_name", MODE_APPEND); 
    SharedPreferences.Editor editor = prefs.edit(); 
    editor.putString("some_pref_key", "some_pref_value"); 
    editor.commit(); 

당신이 다른 데이터 유형을 저장해야 할 경우"라는 이름의 파일에 "키"some_pref_key 및 가치 "some_pref_value와 기본 설정을 저장의 SharedPreferences.editor 설명서를 확인

0

하나의 데이터를 10 개 이하로 저장하려는 경우 공유 환경 설정을 사용할 수 있습니다. 예 : bookid를 저장하려면 공유 환경 설정으로 충분합니다.

그러나 객체/데이터의 배열을 저장하려는 경우 데이터베이스에만 저장해야합니다. 많은 양의 데이터를 처리 할 때 편리합니다.

관련 문제