android发布并接收json Asyc

时间:2013-10-31 02:21:11

标签: java android json http

我正在开发一个Android应用程序,它将一个JSON对象发布到一个服务器,并在响应中返回一个。我陷入了如何获取服务器响应主线程的JSON。下面是我到目前为止的代码。即使在我运行后台进程后,当我调用getResponse时它返回null。

import java.io.UnsupportedEncodingException;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONObject;

import android.os.AsyncTask;

public class AsyncHttpPost extends AsyncTask<String, String, HttpResponse> {
    private JSONObject mData = null;// post data
    private HttpResponse response = null;
    /**
     * constructor
     */
    public AsyncHttpPost(JSONObject json) {
        mData = json;
    }

    public HttpResponse getResponse() {
        return response;
    }
    /**
     * background
     */
    @Override
    protected HttpResponse doInBackground(String... params) {

        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost(params[0]);
        try {
            post.setEntity(new StringEntity(mData.toString()));
            response = client.execute(post);

        }catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        catch (Exception e) {
        }
        return response;
    }
}

1 个答案:

答案 0 :(得分:0)

你需要先获取数据吗,你有没有为它创建一个适配器?

当你想用json获取某些东西时,作为示例标题 这就是它如何...你还需要在你的主要活动中写一下(取决于java用来显示什么)来显示数据。

我帮助这对你有所帮助。 C:

//Declare variables
String title;


// call out the variables
public (ClasName) (String title) {

    this.title = title;
                }
public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}