2017-06-02 11 views
0

SharedPreferenceでデータを暗号化する際に問題が発生しました。これは現在のSharedPreferenceで、データは暗号化されません。私はデータを暗号化するものは何か分かりません。SharedPreferenceへのリストデータの暗号化方法

public class MySharedPreference { 

//this is name PREFS_NAME 
     public static final String PREFS_NAME = "LIST_CARD"; 
//this is CARD where are save data Card 
     public static final String CARD = "CARD"; 

     public MySharedPreference() { 
      super(); 
     } 

//this is functon witch save array list to Sharepreference 

    public void saveCardToSharedPreference(Context context, ArrayList<Card> cardList) { 
     SharedPreferences settings; 
     SharedPreferences.Editor editor; 
     settings = context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE); 
     editor = settings.edit(); 
     Gson gson = new Gson(); 
     String jsonString = gson.toJson(cardList); 
     editor.putString(CARD, jsonString); 
     editor.commit(); 
    } 

}

答えて

0

あなたが暗号化について知っている場合、あなたはurselfでそれを書くことができ、そのようSHA、AESまたは何か他のもののように双方向の暗号化アルゴリズム/ハッシュ多くの種類のことで、それだけで処理暗号化データ。いいえの場合は、 "secured SharedPreference"を検索することができます。多くのライブラリやサポートクラスがそこにありました。次

0

はあなた

static SharedPreferences.Editor editor; 

public static ArrayList<Card> getListSharedPref(Context context) { 
    SharedPreferences sharedPref= PreferenceManager.getDefaultSharedPreferences(context); 
    String json=sharedPref.getString("LIST_PREF",null); 
    Gson gson=new Gson(); 
    Type type=new TypeToken<ArrayList<Card>>(){}.getType(); 

    ArrayList<Card> beans = null ; 
    try { 
     beans = gson.fromJson(json, type); 
    } catch(Exception e) { 
     return null ; 
    } 
    return beans; 
} 

public static void setListSharedPref(Context context, ArrayList<Card> cardList) { 
    SharedPreferences sharedPref= PreferenceManager.getDefaultSharedPreferences(context); 
    editor = sharedPref.edit(); 
    Gson gson=new Gson(); 
    String json=gson.toJson(cardList); 
    editor.putString("LIST_PREF",json); 
    editor.commit(); 

} 
のに役立ちます
関連する問題