栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在分段上传请求中实现ProgressDialog

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在分段上传请求中实现ProgressDialog

上这堂课:

public class SingleUploadBroadcastReceiver extends UploadServiceBroadcastReceiver {    public interface Delegate {        void onProgress(int progress);        void onProgress(long uploadedBytes, long totalBytes);        void onError(Exception exception);        void onCompleted(int serverResponseCode, byte[] serverResponseBody);        void onCancelled();    }    private String mUploadID;    private Delegate mDelegate;    public void setUploadID(String uploadID) {        mUploadID = uploadID;    }    public void setDelegate(Delegate delegate) {        mDelegate = delegate;    }    @Override    public void onProgress(String uploadId, int progress) {        if (uploadId.equals(mUploadID) && mDelegate != null) { mDelegate.onProgress(progress);        }    }    @Override    public void onProgress(String uploadId, long uploadedBytes, long totalBytes) {        if (uploadId.equals(mUploadID) && mDelegate != null) { mDelegate.onProgress(uploadedBytes, totalBytes);        }    }    @Override    public void onError(String uploadId, Exception exception) {        if (uploadId.equals(mUploadID) && mDelegate != null) { mDelegate.onError(exception);        }    }    @Override    public void onCompleted(String uploadId, int serverResponseCode, byte[] serverResponseBody) {        if (uploadId.equals(mUploadID) && mDelegate != null) { mDelegate.onCompleted(serverResponseCode, serverResponseBody);        }    }    @Override    public void onCancelled(String uploadId) {        if (uploadId.equals(mUploadID) && mDelegate != null) { mDelegate.onCancelled();        }    }}

然后在您的活动中:

public class YourActivity extends Activity implements SingleUploadBroadcastReceiver.Delegate {    private static final String TAG = "AndroidUploadService";    private final SingleUploadBroadcastReceiver uploadReceiver =        new SingleUploadBroadcastReceiver();    @Override    protected void onResume() {        super.onResume();        uploadReceiver.register(this);    }    @Override    protected void onPause() {        super.onPause();        uploadReceiver.unregister(this);    }    public void uploadMultipart(final Context context) {        try { String uploadId = UUID.randomUUID().toString(); uploadReceiver.setDelegate(this); uploadReceiver.setUploadID(uploadId); new MultipartUploadRequest(context, uploadId, "http://upload.server.com/path")     .addFileToUpload("/absolute/path/to/your/file", "your-param-name")     .setNotificationConfig(new UploadNotificationConfig())     .setMaxRetries(2)     .startUpload();        } catch (Exception exc) { Log.e(TAG, exc.getMessage(), exc);        }    }    @Override    public void onProgress(int progress) {        //your implementation    }    @Override    public void onProgress(long uploadedBytes, long totalBytes) {        //your implementation    }    @Override    public void onError(Exception exception) {        //your implementation    }    @Override    public void onCompleted(int serverResponseCode, byte[] serverResponseBody) {        //your implementation    }    @Override    public void onCancelled() {        //your implementation    }}

现在,您将在成功上传/失败后触发适当的回调。

资源



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464061.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号