私のプロジェクトで私のサーバーから "Volley" libを使ってデータを受け取りました。私はJSONのエンコードされた値を返すPHPファイルを作ったので、私のコードStringRequest、私のStringRequestからデータを返します - Volleyのlib
の内側にそれを処理です:
public static void getStatus(final String id, final Marker marker1)
{
// Tag used to cancel the request
String tag_string_req = "req_register";
temp="";
StringRequest strReq = new StringRequest(
Request.Method.POST,
"http://URL/file.php",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jObj = new JSONObject(response);
String status = jObj.getString("string");
temp = status;
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() {
// Posting parameters to getData url
Map<String, String> params = new HashMap<String, String>();
params.put("id", id);
return params;
}
};
// Adding request to request queue
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
}
私は、このメソッドから文字列「状態」を返すことができますどのように? (もし私がStringからvoidへのメソッドを変更しても、onResponse(idkはなぜ...))の内部から値を返すことができませんでしたか?なぜ私はそれを動作させることができますか?
後の行に値を期待して、上部の温度を割り当てるStringRequest以内にそれを設定することができないということですreturn to –