使用截击进行请求时没有收到资源

时间:2019-04-21 06:46:26

标签: java android xmlhttprequest android-volley

我正在尝试使用齐射向服务器发出请求,并检查返回的值是否包含特定值。当我使用单独的类并使用onCreate中的intent从Mainactivity调用时,它可以工作。

但是当我从片段中单击按钮时,我想手动拨打电话,但是当单击按钮时,什么也没发生。

这是我的代码:

 mCeload = (FloatingActionButton) view.findViewById(R.id.Update);
    mCeload.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String url = "https://cmprc.edu.np/batch/update.json";
            StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                    if(response != null ) {
                        boolean resp = response.contains("1");

                        if (!resp) {

                            Toast.makeText(getActivity(), "Contacts are Updated", Toast.LENGTH_SHORT).show();

                        } else {
                            Toast.makeText(getActivity(), "No Updates Availaible", Toast.LENGTH_SHORT).show();
                        }
                    }
                }
            }, new com.android.volley.Response.ErrorListener(){
                @Override
                public void onErrorResponse(VolleyError volleyError) {
                    volleyError.printStackTrace();
                }
            });

           Toast.makeText(getActivity(), "You clicked the Button", Toast.LENGTH_SHORT).show();

        }
    });

我很肯定,自从我收到上一次敬酒消息以来,单击了按钮,但是在此之前什么也没有发生,并且我也没有收到关于响应是肯定还是否定的任何敬酒。

另外,我该如何以字符串形式获取响应并将其存储在本地数据库中,以便在用户检查更新时是否可以将保存的值与新值进行比较,如果两个值都匹配,则显示没有可用更新的Toast,如果不显示,则显示可用更新。

谢谢。

1 个答案:

答案 0 :(得分:0)

以这种方式在RequestQueue上添加您的请求:

final RequestQueue requestQueue = Volley.newRequestQueue(getActivity);
                String url = "https://cmprc.edu.np/batch/update.json";
                    // Initialize a new StringRequest
                    StringRequest stringRequest = new StringRequest(
                            Request.Method.GET,
                            url,
                            new Response.Listener<String>() {
                                @Override
                                public void onResponse(String response) {
                                     if(response != null ) {
                        boolean resp = response.contains("1");

                        if (!resp) {

                            Toast.makeText(getActivity(), "Contacts are Updated", Toast.LENGTH_SHORT).show();

                        } else {
                            Toast.makeText(getActivity(), "No Updates 
                            Availaible", Toast.LENGTH_SHORT).show();
                        } } 

                            },
                            new Response.ErrorListener() {
                                @Override
                                public void 
                                onErrorResponse(VolleyError error) {
                                volleyError.printStackTrace();                               
                                }
                            }
                    );

                    // Add StringRequest to the RequestQueue
                    requestQueue.add(stringRequest);