解析不同活动之间的数据

时间:2015-04-07 06:52:23

标签: android json

你好朋友我正在做一个项目,在这里我必须从json检索数据并在listview中显示项目点击它必须去下一个活动并在tab活动中显示一个大图像和数据。如何将数据解析为选项卡活动ta1 tab2和tab3。也到图像视图。我只在第一个活动中获取所有数据。现在我正在尝试将这些数据发送到下一个活动。

这是我的json代码。

if (status == 200) {
                    HttpEntity entity = response.getEntity();
                    String data = EntityUtils.toString(entity);

                    JSONArray arrJsonArray=new JSONArray(data);
                    for (int i = 0; i < arrJsonArray.length(); i++) {
                        JSONObject object = arrJsonArray.getJSONObject(i);
                        Car_Car data1=new Car_Car();

                        data1.setId(object.getString("ID"));
                        Log.d("id",data1.toString());
                        data1.setTitle(object.getString("title"));

                        JSONObject image1 = object.getJSONObject("featured_image").getJSONObject("attachment_meta").getJSONObject("sizes").getJSONObject("thumbnail");
                        data1.setImage(image1.getString("url"));
                        JSONObject image2 = object.getJSONObject("featured_image").getJSONObject("attachment_meta").getJSONObject("sizes").getJSONObject("medium");
                        image2.getString("url");
                        data1.setModel(object.getString("bm_model_no"));
                        data1.setPrice(object.getString("bm_car_price"));
                        data1.setYear(object.getString("bm_year_of_manufacture"));

                        CarList.add(data1);

2 个答案:

答案 0 :(得分:2)

有多种方法可以实现这一目标:

方法1: 使用静态类setter和getter方法:

创建静态类并从第一个活动设置值并从第二个活动中获取值

方法2:

通过意图发布你的价值

方法3:

使用数据库存储来自一个活动的数据并从其他活动中获取数据

方法4:

使用共享偏好

答案 1 :(得分:0)

如果您希望在第一次活动时收到的所有数据都进行第二次活动,那么您可以使用以下代码通过Intent发送数据

        Intent intent=new Intent(CurrentActivity.this,SecondActivity.class);
        intent.putExtra("id", iddata);
        intent.putExtra("title", titledata); 
        startActivity(intent);

代码接收通过SecondActivity中的Intent发送的数据

        Bundle b=getIntent().getExtras();
        String id=b.getString(id);

如果您希望在第一次活动时收到的所有数据都发送到整个应用程序,那么您可以使用SharedPreferences。 代码在SharedPreferences中保存数据

        SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
        Editor editor = pref.edit();
        editor.putString("id", "iddata");  
        editor.commit();

代码从SharedPreferences获取数据

         String id=pref.getString("id", null);