You can use GSON to convert Object -> JSON(.toJSON) and JSON -> Object(.fromJSON).
1.build.gradle
dependencies {
...
compile 'com.google.code.gson:gson:2.7'
}
2.MainActivity.java
public class Main2Activity extends AppCompatActivity {
private final String PREFS_TAG = "APP_PRE";
private final String PRODUCT_TAG = "APP_DATA";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
private List<MatchItem> getDataFromSharedPreferences(){
Gson gson = new Gson();
SharedPreferences sharedPref = getApplicationContext().getSharedPreferences(PREFS_TAG, Context.MODE_PRIVATE);
String jsonPreferences = sharedPref.getString(PRODUCT_TAG, "[]");
Type type = new TypeToken<List<MatchItem>>() {}.getType();
return gson.fromJson(jsonPreferences, type);
}
private void setDataFromSharedPreferences(List<MatchItem> list){
Gson gson = new Gson();
String jsonString = gson.toJson(list);
SharedPreferences sharedPref = getApplicationContext().getSharedPreferences(PREFS_TAG, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString(PRODUCT_TAG, jsonString).apply();
editor.commit();
}
}
No comments:
Post a Comment