开源项目XUtils实现多线程下载
2015-12-04 12:52
267 查看
##开源项目XUtils实现多线程下载 代码: import java.io.File; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import java.net.URL; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_path; private EditText et_threadCount; private static int threadCount = 3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_path = (EditText) findViewById(R.id.et_path); et_threadCount = (EditText) findViewById(R.id.et_threadCount); } public void download(View view){ String path = et_path.getText().toString().trim(); String tcStr = et_threadCount.getText().toString().trim(); if(TextUtils.isEmpty(path)){ Toast.makeText(this, "请输入下载文件的网络路径", 0).show(); return; }else{ if(!TextUtils.isEmpty(tcStr)){ threadCount = Integer.parseInt(tcStr); } HttpUtils http = new HttpUtils(); http.download(path, Environment.getExternalStorageDirectory() +"/temp.exe", new RequestCallBack<File>() { @Override public void onStart() { Toast.makeText(MainActivity.this, "开始下载...", 0).show(); } @Override public void onLoading(long total, long current, boolean isUploading) { System.out.println(current+"/"+total+"-------------"); } @Override public void onFailure(HttpException arg0, String arg1) { Toast.makeText(MainActivity.this, "下载失败...", 0).show(); } @Override public void onSuccess(ResponseInfo<File> arg0) { Toast.makeText(MainActivity.this, "下载完成,文件保存在" +arg0.result.getPath(), 0).show(); } }); } }
相关文章推荐
- RF+Jenkins构建持续集成
- [软件人生]关于同行竞业,你需要知道,你需要关注-2实例
- Fitbit仍为可穿戴设备龙头老大 苹果屈居第二
- 微软放弃手机版win10 技术支持时间表曝光
- 杭电ACM1250——Hat's Fibonacci
- Java 导入包正确依旧报错的处理方法
- 2015互联网秋招总结--后台开发岗位
- 使用jad批量反编译.class文件
- android studio 更新 Gradle错误解决方法
- 不通过App Store实现ios应用分发下载安装
- 针对博客的9款免费营销工具
- IIS 访问Json文件
- 杭电ACM1131——Count the trees
- RF接口测试本地环境部署
- UINavigationController的popViewControllerAnimated的控制器移除问题
- 周杰伦晒卖萌打球自拍 满脸胡茬笑得爽朗
- iOS通知的介绍
- 解决下载Android Build-tools 19.1.0失败
- 8款插件使你的网站移动响应
- Basic Calculator