我有Authentication类,其方法Auth有2个参数。 在调用该方法之后,由于aSync,生成了一个齐射请求并且响应通过其他函数捕获。该对象是一个静态对象,可以在其他类中访问,但在创建对象或在onCreate of activity上初始化它之后始终显示null。
让我们检查我的Authenticate类:
showResume
final finalresult 在我调用Auth()方法时有价值但在我的Login类中显示{}
让我检查我的方法调用:
public class Authenticate {
private static final String URL = "http://allskkc/zaigham/idsrs_authentication.php";
public static JSONObject finalresult;
public Authenticate() {
}
public static void Auth(String IEMI, String PIN) throws TimeoutException {
final JSONObject params = new JSONObject();
finalresult = new JSONObject();
RequestQueue queue = Volley.newRequestQueue(Splash.context);
try {
params.put("iemi", IEMI);
params.put("pin", PIN);
} catch (JSONException e) {
e.printStackTrace();
}
Log.e("params to server", params.toString());
JsonObjectRequest jsOBJRequest = new JsonObjectRequest
(Request.Method.POST, URL, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.e("response from server", response.toString());
ftn(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Response error",error.toString());
}
});
queue.add(jsOBJRequest);
}
public static void ftn(JSONObject jsonObject) {
finalresult = jsonObject;
Log.e("as", "Response in ftn() = " + finalresult.toString());
}
}
答案 0 :(得分:1)
您可以在日志中看到应用程序在请求完成之前尝试获取请求的结果。网络请求是异步的,它是在后台线程上完成的。
在某种回调请求完成后,你应该得到结果。