2011-02-10 3 views

답변

5

정말 감사하지만 같은 일이 공유 환경 기술을 사용하여 수행 할 수 있습니다. 다음은 공유 환경 설정에 데이터를 추가하고 이미 존재하는지 확인하는 코드입니다.

SharedPreferences preferences = getSharedPreferences(
       PREF_FILE_NAME, MODE_PRIVATE); 
     if (value.equals("")) { 

      boolean storedPreference = preferences.contains(key); 
      if (storedPreference) { 
       SharedPreferences.Editor editor = preferences.edit(); 
       editor.remove(key); // value to store 
       Log.d("KEY",key); 
       editor.commit(); 
      } 
     }else{ 

      SharedPreferences.Editor editor = preferences.edit(); 
      editor.putString(key, value); // value to store 
      Log.d("KEY",key); 
      editor.commit(); 
     } 

우리는

SharedPreferences preferences = getSharedPreferences(
       PREF_FILE_NAME, MODE_PRIVATE); 
     Map<String, String> map = (Map<String, String>) preferences.getAll(); 
     if(!map.isEmpty()){ 
      Iterator<Entry<String, String>> iterator = map.entrySet().iterator(); 
      while(iterator.hasNext()){ 
       Map.Entry pairs = (Map.Entry)iterator.next(); 
        pairs.getKey()+pairs.getValue(); 
          //write code here 
      } 
     } 
를 사용하여 액세스 할 수
1

일련 번호를 지정하고 공유 환경 설정 또는 파일에 저장하십시오. 물론 이것을 할 수 있는지 여부는 매핑되는 데이터 유형에 따라 다릅니다. (당신이보기를 직렬화하려고하면이, 예를 들면, 작동하지 않습니다.)

7

를 다시 시작하기 전에 당신의 해시 맵 객체를 직렬화하고 다시 시작하면 직렬화 복원 ... 여기

직렬화 샘플 코드입니다 ..

public void serializeMap(HashMap<String,String> hm) { 
    try { 
     FileOutputStream fStream = openFileOutput(namefile.bin, Context.MODE_PRIVATE) ; 
     ObjectOutputStream oStream = new ObjectOutputStream(fStream); 

     oStream.writeObject(hm);   
     oStream.flush(); 
     oStream.close(); 

     Log.v("Serialization success", "Success"); 
    } catch (Exception e) { 
     Log.v("IO Exception", e.getMessage()); 
    } 
} 

당신이 유사를 직렬화 복원하여 읽을 수 있습니다 ....
감사합니다 ....

관련 문제