带有进度条的 RESTlet ClientResource

RESTlet ClientResource with progress bar

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

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);

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

使用异步任务来完成。

看这里一个简单的例子:

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");
     }
 }

你可以看到一个更一致和完整的例子here