将数据发送到服务器后如何在下一个活动中打印响应?

时间:2014-12-05 10:07:39

标签: android json android-listview httpresponse

我正在尝试向服务器发送数据,作为回应,我正在使用listview获取一些我需要在下一个活动中显示的数据,是否可以告诉我如何执行此操作?

6 个答案:

答案 0 :(得分:3)

使用bundle将您的回复从一个活动转移到另一个活动

-create实现Parcelable

的类
  public class ResponseData implements Parcelable{}

- 接下来将其保存在意图中:

intent.putExtra(key, new ResponseData(someDataFromServer));

- 最后一步 - 重温它:

Bundle data = getIntent().getExtras();
ResponseData response= (ResponseData ) data.getParcelable(key);

之后将其添加到适配器以显示给用户

在其他情况下,您可以将其保存在应用程序上下文或数据库中(不推荐)

答案 1 :(得分:1)

我强烈建议您使用Bundle 将必要参数传递给下一个活动,并使用从下一个活动本身拨打电话到服务器接收和显示必要的信息。

答案 2 :(得分:0)

  • 使用AsyncTask

  • 将数据发送到服务器
  • 在doInBackground中获得结果后,继续 onPostexecute()

  • 在onPostexecute()
  • 中开始下一个活动

答案 3 :(得分:0)

尝试使用事件总线库,例如greenrobot EventBus。有了它,这个过程将用4行代码完成:

(在发件人活动中)

EventBus.getDefault().register(this);
EventBus.getDeafult().postSticky(myDataObject);

(在接受活动时)

DataObject passedData = EventBus.getDefault().getStickyEvent(DataObject.class);

您还需要一个POJO数据类:

public static class DataObject{
    private String data;

    public String getData(){
        return data;
    }

    public void setData(String data){
        this.data = data;
    }

}

清洁,快速和优雅: - )

答案 4 :(得分:0)

  1. 将数据发送到服务器
  2. 获取回复

  3. 在Intent中将该字符串设置为Extra并启动活动

      

    Intent i = new Intent(this,YourNextActivityName.class);
      i.putExtra( “RES”,response.toString);
      i.startActivity();

  4. 在下一个活动中获取该数据并显示。

     Bundle extras = getIntent().getExtras();
     if (extras != null) {
        String response= extras.getString("res");
    }
    

答案 5 :(得分:0)

步骤:

 1)Send data.
 2)Get Response
 3)if respose is ok, save that in a static string and fire intent and on the next 
   activity get the respose using classname.your string. simple and best way.