我已采用this Stack Overflow answer中的代码将JSON从我的Android应用程序成功发布到Python / Django服务器。这是我(非常接近)改编的POST代码:
data
我现在想要访问服务器返回的HttpResponse,我认为它包含在data
中(但我对此并不确定)。如果data
确实包含HttpResponse,我想在Toast中打印它。
InputStream
是否已包含来自服务器的HttpResponse,还是我需要采取其他步骤才能从Toast.makeText
获取它?如果它已经存在,我应该在哪里放置data
代码来打印Toast中的HttpResponse(即{{1}})?
答案 0 :(得分:0)
变量data
是一个String
,其中包含来自服务器的响应正文,您可以在UI线程上使用方法result
中的变量onPostExecute
有许多模式可以从异步任务中获取结果。这是一种简单的方法,尝试这种方法来祝酒。
按如下方式编写您的任务执行:
// In your activity's onCreate method
try {
JSONObject obj = new JSONObject(strJSON);
new postJSON() {
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
}
}.execute("https://www.placeholder.com/generate_json", obj.toString());
} catch (Throwable t) {
Log.e("JSON Error", "Could not parse malformed JSON: " + strJSON);
}