我正在开发一个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;
}
}
答案 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;
}