使用 android volley 发出两个请求
Making two requests with android volley
我需要用不同的参数、响应和参数发出两个请求,并使用 volley。下面是我的代码
private void LoadFirst() {
pDialog = new ProgressDialog(getActivity());
// Showing progress dialog before making http request
pDialog.setMessage("Loading...");
pDialog.show();
final StringRequest userReq = new StringRequest(Method.POST,
AppConfig.URL_REGISTER, jsonSubjectListener, errorSubjectListener) {
@Override
protected Map<String, String> getParams() {
// Posting params to register url
Map<String, String> params = new HashMap<String, String>();
params.put("tag", "retrieveFirst");
return params;
}
};
AppController.getInstance().addToRequestQueue(userReq);
}
}
private void LoadSecond(final String user_type) {
// Session manager
session = new SessionManager(getActivity().getApplicationContext());
// initialising progress dialog
pDialog = new ProgressDialog(getActivity());
// Showing progress dialog before making http request
pDialog.setMessage("Loading...");
pDialog.show();
StringRequest userReq = new StringRequest(Method.POST,
AppConfig.URL_REGISTER, jsonListener, errorListener) {
@Override
protected Map<String, String> getParams() {
// Posting params to register url
Map<String, String> params = new HashMap<String, String>();
params.put("tag", "retrieveSecond");
params.put("user_type", user_type);
return params;
}
};
AppController.getInstance().addToRequestQueue(userReq);
}
然后我在片段的onActivityCreated 下调用了这两个函数。但它一直在无限期地加载。我在 RequestFuture 上阅读了一些内容,但看不到它如何通过两个不同的参数 errorListeners 和 ResponseListeners 帮助我。谢谢
我的看法是这样的。您正在调用两种方法,每个方法都这样做:
pDialog = new ProgressDialog(getActivity());
第二次在同一引用上实例化进度对话框时,无法再访问仍在显示的旧进度对话框。所以并不是请求永远加载。只是您不能再关闭第一个进度对话框。
我认为您只需要在两种方法之前在外部实例化一次此进度对话框。
我需要用不同的参数、响应和参数发出两个请求,并使用 volley。下面是我的代码
private void LoadFirst() {
pDialog = new ProgressDialog(getActivity());
// Showing progress dialog before making http request
pDialog.setMessage("Loading...");
pDialog.show();
final StringRequest userReq = new StringRequest(Method.POST,
AppConfig.URL_REGISTER, jsonSubjectListener, errorSubjectListener) {
@Override
protected Map<String, String> getParams() {
// Posting params to register url
Map<String, String> params = new HashMap<String, String>();
params.put("tag", "retrieveFirst");
return params;
}
};
AppController.getInstance().addToRequestQueue(userReq);
}
}
private void LoadSecond(final String user_type) {
// Session manager
session = new SessionManager(getActivity().getApplicationContext());
// initialising progress dialog
pDialog = new ProgressDialog(getActivity());
// Showing progress dialog before making http request
pDialog.setMessage("Loading...");
pDialog.show();
StringRequest userReq = new StringRequest(Method.POST,
AppConfig.URL_REGISTER, jsonListener, errorListener) {
@Override
protected Map<String, String> getParams() {
// Posting params to register url
Map<String, String> params = new HashMap<String, String>();
params.put("tag", "retrieveSecond");
params.put("user_type", user_type);
return params;
}
};
AppController.getInstance().addToRequestQueue(userReq);
}
然后我在片段的onActivityCreated 下调用了这两个函数。但它一直在无限期地加载。我在 RequestFuture 上阅读了一些内容,但看不到它如何通过两个不同的参数 errorListeners 和 ResponseListeners 帮助我。谢谢
我的看法是这样的。您正在调用两种方法,每个方法都这样做:
pDialog = new ProgressDialog(getActivity());
第二次在同一引用上实例化进度对话框时,无法再访问仍在显示的旧进度对话框。所以并不是请求永远加载。只是您不能再关闭第一个进度对话框。 我认为您只需要在两种方法之前在外部实例化一次此进度对话框。