Android 带有进度条的RESTlet ClientResource
我正在创建一个android应用程序,将文件上传到RESTlet服务器。我正在使用下面的代码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
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对象获取此变量?您不能。休息是单向沟通。你只能在决赛中看到结果。您可以使用不带百分比的进度对话框。