0

私は、JSON オブジェクトをサーバーに投稿し、応答として返される Android アプリケーションに取り組んでいます。サーバーが応答する 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;
    }
}
4

1 に答える 1

0

最初にデータを取得する必要があります。そのためのアダプターを作成しましたか?

jsonを使用して何かを取得したい場合、タイトルの例では、これがどのように見えるかです..データを表示するには、メインアクティビティに(Javaが表示するものに応じて)書き込む必要もあります。

私はこれがあなたを助けるのを助けます。子:

//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;
}
于 2013-10-31T02:56:46.620 に答える