android jsonobject intent,android - Passing JSONObject to another activity via Intent - Stack Overfl...

try this, you can also get object from one activity to another activity using ComplexPrefereces class

Add ComplexPreferences.java class in your project

import android.content.Context;

import android.content.SharedPreferences;

import com.google.gson.Gson;

import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;

/**

* This class helps to store class object in the shared preferences

*

*/

public class ComplexPreferences {

private static ComplexPreferences complexPreferences;

private Context context;

private SharedPreferences preferences;

private SharedPreferences.Editor editor;

private static Gson GSON = new Gson();

Type typeOfObject = new TypeToken() {

}.getType();

private ComplexPreferences(Context context, String namePreferences, int mode) {

this.context = context;

if (namePreferences == null || namePreferences.equals("")) {

namePreferences = "complex_preferences";

}

preferences = context.getSharedPreferences(namePreferences, mode);

editor = preferences.edit();

}

public static ComplexPreferences getComplexPreferences(Context context,

String namePreferences, int mode) {

if (complexPreferences == null) {

complexPreferences = new ComplexPreferences(context,

namePreferences, mode);

}

return complexPreferences;

}

public void putObject(String key, Object object) {

if(object == null){

throw new IllegalArgumentException("object is null");

}

if(key.equals("") || key == null){

throw new IllegalArgumentException("key is empty or null");

}

editor.putString(key, GSON.toJson(object));

}

public void commit() {

editor.commit();

}

public T getObject(String key, Class a) {

String gson = preferences.getString(key, null);

if (gson == null) {

return null;

} else {

try{

return GSON.fromJson(gson, a);

} catch (Exception e) {

throw new IllegalArgumentException("Object storaged with key " + key + " is instanceof other class");

}

}

}

}

Store object in shared preference like this:

ComplexPreferences complexPreferences = ComplexPreferences.getComplexPreferences(getActivity(), "store_object", 0);

complexPreferences.putObject("class_name", className);

complexPreferences.commit();

For retrieving back object like this:

ComplexPreferences complexPreferences = ComplexPreferences.getComplexPreferences(DrawerActivity.this, "store_object", 0);

ClassName className=complexPreferences.getObject("class_name", ClassName.class);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值