2011-09-14 3 views
0

내 응용 프로그램에서 SharedPreferences를 사용하려고하고 있는데 그냥 사용하기 시작하기 때문에 약간의 hep가 필요합니다. 기본적으로 내가하고 싶은 것은 다음과 같습니다. 내 기본 활동에 SharedPreference 객체를 만든 다음 두 번째 활동 내가 목록보기 및 항목을 클릭하면 putInt(); 정수를 넣어 텍스트를 보낼 수 있습니다. 새로운 활동에 나는 adroid 시스템에서 sharedpreference를 추가하는 버튼이 있습니다.SharedPreferences 안드로이드 문제

주요 활동 :

SharedPreferences faves = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
     SharedPreferences.Editor editor = faves.edit(); 
     editor.putInt("favorites",0); 
     editor.commit(); 

두 번째 활동

그리고 마지막으로 내가 활동 번호 3. 여기

다른 텍스트를 표시 할 두 번째 활동에 전송 된 ID에 따라서 약간의 코드

SharedPreferences favs= PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
     final SharedPreferences.Editor editor = favs.edit(); 
항목을 클릭하는 내가 텍스트를 표시 할

세 번째 활동 달려 :

favs.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       editor.putInt("favorites", getIntent().getIntExtra("id", 0)); 
      } 
     }); 

해결 방법은 무엇입니까?

+0

왜 최종 편집기로 표시합니까? – Rich

답변

0

SharedPreference 객체를 실제로 만들 필요는 없으며 API Activity.getSharedPreference (name, mode)가이를 수행합니다.

기본적으로 응용 프로그램의 고유 폴더 아래에 xml 파일을 만들고 모든 put ...()은 xml에 항목을 추가하여 나중에 업데이트하고 읽을 수 있도록합니다. 올바른 이름.

전역 편집기를 사용하는 것은 좋지 않은 아이디어입니다. 때로는 데이터가 손실 될 수 있으므로 sharedPreference를 읽고 쓸 때마다 편집기를 사용하십시오.

0

좋아, 먼저 질문을 이해하기 어렵다. 예제 코드에서는 주 활동 및 세 번째 활동에 값을 저장하려고 시도하지만 값을 읽지는 않습니다. 그런 다음 마지막에 "어떤 제안을 어떻게 수정해야합니까?"라고 묻습니다. "그"는 무엇을 나타 냅니까? 오류가 있거나 예상치 못한 결과가 있습니까? 내가 사용하는 몇 가지 샘플 코드는 다음과 같습니다. 내 애플 리케이션의 다른 부분에서 재사용 일부 값으로 정적 상수 클래스를 가지고 있지만 당신은 아이디어를 얻을.

ApplicationContext context = ApplicationContext.getInstance(); //I use a custom app context but any context will do. 
SharedPreferences prefs = context.getSharedPreferences(
Constants.PREFS_FILE_NAME, Activity.MODE_PRIVATE); 
prefs.getString("favorites", null);//or any other getter you want to use