我正在尝试使用齐射向服务器发出请求,并检查返回的值是否包含特定值。当我使用单独的类并使用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,如果不显示,则显示可用更新。
谢谢。
答案 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);