Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带有进度条的RESTlet ClientResource_Android_File Upload_Restlet_Android Progressbar_Clientresource - Fatal编程技术网

Android 带有进度条的RESTlet ClientResource

Android 带有进度条的RESTlet ClientResource,android,file-upload,restlet,android-progressbar,clientresource,Android,File Upload,Restlet,Android Progressbar,Clientresource,我正在创建一个android应用程序,将文件上传到RESTlet服务器。我正在使用下面的代码 Representation file = new FileRepresentation(filePath, MediaType.IMAGE_ALL); FormDataSet form = new FormDataSet(); form.setMultipart(true); form.getEntries().add(new FormData("file", file)); ClientResour

我正在创建一个android应用程序,将文件上传到RESTlet服务器。我正在使用下面的代码

Representation file = new FileRepresentation(filePath, MediaType.IMAGE_ALL);
FormDataSet form = new FormDataSet();
form.setMultipart(true);
form.getEntries().add(new FormData("file", file));
ClientResource cr = new ClientResource(url);
cr.post(form);

问题是:如何监控上传过程?

使用asynk任务来完成

这里有一个简单的例子:

private class UploadFilesTask extends AsyncTask<URL, Integer, Long> {
    protected Long doInBackground(URL... urls) {
        // Your upload code with rest client
     }

     protected void onProgressUpdate(Integer... progress) {
         setProgressPercent(progress[0]);
     }

     protected void onPostExecute(Long result) {
         showDialog("Downloaded " + result + " bytes");
     }
 }
私有类UploadFilesTask扩展了AsyncTask{
受保护的长doInBackground(URL…URL){
//使用rest客户端上载代码
}
受保护的void onProgressUpdate(整数…进度){
setProgressPercent(进度[0]);
}
受保护的void onPostExecute(长结果){
showDialog(“下载的”+结果+“字节”);
}
}

您可以看到一个更加一致和完整的示例

也许我不清楚。我必须将进度参数传递给publishProgress()方法,但如何从ClientResource对象获取此变量?您不能。休息是单向沟通。你只能在决赛中看到结果。您可以使用不带百分比的进度对话框。