Android 将jsonarray从活动A传递到活动B?

Android 将jsonarray从活动A传递到活动B?,android,android-intent,android-intent-chooser,Android,Android Intent,Android Intent Chooser,我有两个活动A和B。我在活动A中调用API,在JsonArray中得到响应。现在我需要从活动A中获取活动B中的整个JsonArray。我如何才能做到这一点?如果您不是从第一个活动开始第二个活动;将该Json声明为公共静态 否则,只需将其作为意图中的bundle传递。如果您不是从第一个活动开始第二个活动;将该Json声明为公共静态 否则只需将其作为意图中的bundle传递。@mohsinmemon 将JsonArray转换为字符串,然后将其附加到Intent并发送 JSONObject jObje

我有两个活动A和B。我在活动A中调用API,在JsonArray中得到响应。现在我需要从活动A中获取活动B中的整个JsonArray。我如何才能做到这一点?

如果您不是从第一个活动开始第二个活动;将该Json声明为公共静态
否则,只需将其作为意图中的bundle传递。

如果您不是从第一个活动开始第二个活动;将该Json声明为公共静态 否则只需将其作为意图中的bundle传递。

@mohsinmemon

将JsonArray转换为字符串,然后将其附加到Intent并发送

JSONObject jObject = new JSONObject("Json Response");
Intent obj_intent = new Intent(ActivityA.this, ActivityB.class);
Bundle b = new Bundle();                
b.putString("Array",jObject.toString());
obj_intent.putExtras(b);
在活动B中

Bundle b = getIntent().getExtras();
String Array=b.getString("Array");
@莫西尼蒙

将JsonArray转换为字符串,然后将其附加到Intent并发送

JSONObject jObject = new JSONObject("Json Response");
Intent obj_intent = new Intent(ActivityA.this, ActivityB.class);
Bundle b = new Bundle();                
b.putString("Array",jObject.toString());
obj_intent.putExtras(b);
在活动B中

Bundle b = getIntent().getExtras();
String Array=b.getString("Array");

首先,您应该将数据转换为活动A中的ArrayList,如下所示:

    ArrayList<YourCustomDataModel> dataArrayList= null;
    String jsonInternets = //"Your Json Response"

    if (jsonInternets != null && !jsonInternets.isEmpty()) {
        Gson gson = new Gson();
        YourCustomDataModel[] dataModels= gson.fromJson(jsonInternets,
                YourCustomDataModel[].class);

        dataArrayList= new ArrayList<YourCustomDataModel>(Arrays.asList(dataModels));
    }
    Intent intent=new Intent(ActivityA.this,ActiviyB.class);
    intent.putExtra("data",dataArrayList);
    startActivity(intent);
现在,完成活动B中的这些步骤后,您可以将数据作为ArrayList获取,如下所示:

 if (getIntent().getExtras()!=null&&getIntent().getExtras().getSerializable("data")!=null)
    {
        ArrayList<YourCustomDataModel> dataArrayList=getIntent().getExtras().getSerializable("data");
    }
if(getIntent().getExtras()!=null&&getIntent().getExtras().getSerializable(“数据”)!=null)
{
ArrayList dataArrayList=getIntent().getExtras().getSerializable(“数据”);
}

首先,您应该在活动A中将数据转换为ArrayList,如下所示:

    ArrayList<YourCustomDataModel> dataArrayList= null;
    String jsonInternets = //"Your Json Response"

    if (jsonInternets != null && !jsonInternets.isEmpty()) {
        Gson gson = new Gson();
        YourCustomDataModel[] dataModels= gson.fromJson(jsonInternets,
                YourCustomDataModel[].class);

        dataArrayList= new ArrayList<YourCustomDataModel>(Arrays.asList(dataModels));
    }
    Intent intent=new Intent(ActivityA.this,ActiviyB.class);
    intent.putExtra("data",dataArrayList);
    startActivity(intent);
现在,完成活动B中的这些步骤后,您可以将数据作为ArrayList获取,如下所示:

 if (getIntent().getExtras()!=null&&getIntent().getExtras().getSerializable("data")!=null)
    {
        ArrayList<YourCustomDataModel> dataArrayList=getIntent().getExtras().getSerializable("data");
    }
if(getIntent().getExtras()!=null&&getIntent().getExtras().getSerializable(“数据”)!=null)
{
ArrayList dataArrayList=getIntent().getExtras().getSerializable(“数据”);
}
试试这个

    In Activity A:

    Intent intent = new Intent(ActivityA.this, ActivityB.class);
    intent.putExtra("jsonArray", jsonArray.toString());
    startActivity(intent);

    In Activity B:

    Intent intent = getIntent();
    String jsonArray = intent.getStringExtra("jsonArray");

    try {
        JSONArray array = new JSONArray(jsonArray);

    } catch (JSONException e) {
        e.printStackTrace();
    }
试试这个

    In Activity A:

    Intent intent = new Intent(ActivityA.this, ActivityB.class);
    intent.putExtra("jsonArray", jsonArray.toString());
    startActivity(intent);

    In Activity B:

    Intent intent = getIntent();
    String jsonArray = intent.getStringExtra("jsonArray");

    try {
        JSONArray array = new JSONArray(jsonArray);

    } catch (JSONException e) {
        e.printStackTrace();
    }

到目前为止你尝试了什么?我在Response jsonArray中没有得到列和行的数量。从列和行的数量中,我在活动B中水平和垂直显示按钮。@GaneshPatilpass jsonArray通过活动A到B的意图,你到目前为止尝试了什么?我在Response jsonArray中没有得到列和行的数量。从列和行的数量中,我没有得到列和行的数量在活动B中水平和垂直显示按钮。@GaneshPatilpass JsonArray通过意图从活动A到Bno不使用静态我需要通过任何方法从活动A到B,putExtra,getExtra()但是整个数组?然后只使用toString(),它会将其转换为一个字符串,您可以将其作为附加项传递,然后您只需使用新的JsonArray(“此处的字符串”)。不需要使用static,我需要通过任何方法从活动a到B,putExtra,getExtra(),但是整个数组?然后只需使用toString(),它将把它转换成一个字符串,您可以将其作为附加项传递,然后您只需使用新的JsonArray(“这里的字符串”)。