存储值对象后,将Null值从1类传递到其他类

时间:2016-10-06 14:10:13

标签: android json android-studio android-volley

我有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());
    }
}

我附上了可能有助于理解的Log.e图像。 enter image description here

1 个答案:

答案 0 :(得分:1)

您可以在日志中看到应用程序在请求完成之前尝试获取请求的结果。网络请求是异步的,它是在后台线程上完成的。

在某种回调请求完成后,你应该得到结果。