如何将大型json字符串传递给下一个活动

时间:2014-06-20 11:06:29

标签: android json

我正在发送大型JSON字符串,其中JSON数组长度的记录为800,但是当我启动Activity时,应用程序退出时没有任何崩溃消息,但是当我将记录减少到100时,它就有效完美。

我在做如下

Intent myIntent = new Intent(getActivity(),
        ActivityName.class);
myIntent.putExtra("jsondata", respUserData);
getParentFragment().startActivityForResult(myIntent,
        pick_plan);
getActivity().overridePendingTransition(
        R.anim.lefttorightanim, R.anim.righttoleftanim);

那么将大型JSON发送到下一个Activity的正确方法是什么?

提前致谢。

4 个答案:

答案 0 :(得分:1)

You can Declare that json string as public variable and use that json string activityname.varname

答案 1 :(得分:0)

不要直接将大字符串或大数据传递给intent,您必须使用Application Class。 在应用程序类中设置变量和方法。 要获取有关Application Class的更多信息,请查看此answer

答案 2 :(得分:0)

由于它可能不是你传递的全局状态,我建议不要使用Application Class。如果是您一直使用的数据,您可以轻松地将其存储在那里。

使用putExtra()提供的方式传递大量数据应该可以正常工作。显然,Bundle无法正确处理您的JSONObject。您可以尝试将其转换为String,将其传递给Intent.putExtra(),然后从String重构JSONObject。这会对性能产生一些影响,但应该可以作为一种解决方法。

答案 3 :(得分:-1)

您可以按照提到的方式传递值。它将作为一个捆绑包,因此它也可以容纳大量数据。 我们可以使用意图传递Arraylist,模型类等。