2016-09-05 19 views
-4

私は辞書のアプリケーションに取り組んでいます 私は単語を含むファイルを持っており、それは行ファイルに翻訳されています。それらの間で分割することなく。 単語の翻訳を検索するためにそれらをMapに保存したいと思います。 マップにファイルを保存するにはどうすればよいですか? と地図の仕組みは?どのようにマップにファイルを保存できますか?

private void saveMap(Map<String,Boolean> inputMap){ 
    SharedPreferences pSharedPref = getApplicationContext().getSharedPreferences("MyVariables", Context.MODE_PRIVATE); 
    if (pSharedPref != null){ 
    JSONObject jsonObject = new JSONObject(inputMap); 
    String jsonString = jsonObject.toString(); 
    Editor editor = pSharedPref.edit(); 
    editor.remove("My_map").commit(); 
    editor.putString("My_map", jsonString); 
    editor.commit(); 
    } 
} 

をそして、このようにマップをロードします:

答えて

0

あなたはこのようsharedPreferencesとしてマップを保存することができMyVariablesはユニークな静的な文字列値である必要があり、こと

private Map<String,Boolean> loadMap(){ 
    Map<String,Boolean> outputMap = new HashMap<String,Boolean>(); 
    SharedPreferences pSharedPref = getApplicationContext().getSharedPreferences("MyVariables", Context.MODE_PRIVATE); 
    try{ 
    if (pSharedPref != null){  
     String jsonString = pSharedPref.getString("My_map", (new JSONObject()).toString()); 
     JSONObject jsonObject = new JSONObject(jsonString); 
     Iterator<String> keysItr = jsonObject.keys(); 
     while(keysItr.hasNext()) { 
     String key = keysItr.next(); 
     Boolean value = (Boolean) jsonObject.get(key); 
     outputMap.put(key, value); 
     } 
    } 
    }catch(Exception e){ 
    e.printStackTrace(); 
    } 
    return outputMap; 
} 

注意を。

+0

私は、コードの任意の行は、どのファイルからデータを読み取るコンパイラに教えてください? –

+0

SharedPreferences Apiは、データを保存して読み込むために、キーと値のペアを設定する必要があります。公式のドキュメントhttps://developer.android.com/guide/topics/data/data-storage.htmlとhttps://developer.android.com/training/basics/data-storage/shared-preferences.htmlを確認してください – ziLk

関連する問題