在我的应用程序中,我正在将图像和文本响应上传到我的服务器。我想在上传时显示包含百分比的进度对话框。 这是我的代码, 代码调用齐射功能:
//look at send data to server
// Send to server .calling my volley function
new NetworkController(context).sendAuditData(row, URL_Config.SAVE_AUDIT);
我要编写代码来向服务器发送数据,
public void sendAuditData(final HashMap<String,String> audit_data,final String url)
{
// HttpsTrustManager.allowAllSSL();
createProgressDialog();
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
String val[] = response.split(",");
if(val[0].equalsIgnoreCase("success")){
Toast.makeText(context,"Data submitted successly",Toast.LENGTH_SHORT).show();
CheckSuiteDAOI dao = new CheckSuiteDAO(context);
ContentValues cv = new ContentValues();
cv.put("sync_status","true");
dao.update_data(cv,"date_time=?",new String[] {val[1]},"CONTAINER_MASTER");
successDialog(audit_data);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
dismisProgressDialog();
}
}){
@Override
protected Map<String,String> getParams(){
return audit_data;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(context);
int socketTimeout = 5000;//7seconds - change to what you want
RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
stringRequest.setRetryPolicy(policy);
requestQueue.add(stringRequest);
}
答案 0 :(得分:0)
我想显示一个进度对话框 - 可能
上传时的百分比 - 不可能。这是由大块数据上传的一部分。还需要Api支持。
想一下上传的10 MB文件,你设置5个线程,上传2 mb。因此上传2个线程的成功发生了40%。它的工作原理就是这样。