Android多线程下载
来源:互联网 发布:java短信群发源码 编辑:程序博客网 时间:2024/05/01 16:25
android的应用程序支持多线程,多线程编程为我们充分利用系统资源提供了便利,同时也为设计复杂UI和耗时操作提供了途径,提升了安卓用户的使用体验。
废话不多说,直接上源码
package com.android.downloader;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.os.Looper;import android.util.Log;import android.view.MotionEvent;import android.widget.Toast;import com.download.apk.DownloadManager.CallBack;/** * 多线程下载任务 * * @author Michael ku * * 2014-11-18下午3:00:57 */public class MainActivity extends Activity implements CallBack, Runnable {public boolean onTouchEvent(MotionEvent event) {super.onTouchEvent(event);if (event.getAction() == MotionEvent.ACTION_DOWN) {test();return true;}return false;}private void test() {if (!isStarting) {new Thread(this).start();}}public void downLoadOver(String filePath) {System.out.println("filePath=" + filePath);}private File file;boolean isStarting = false;public void run() {Looper.prepare();final String fileName = "gg.apk";file = new File("sdcard" + File.separator + "android" + File.separator+ fileName);String path = "http://gdown.baidu.com/data/wisegame/ea7bf48f2e9dff9d/shoujiguanjia_1009.apk";try {URL url = new URL(path);try {HttpURLConnection conn = (HttpURLConnection) url.openConnection();InputStream is = conn.getInputStream();FileOutputStream fos = new FileOutputStream(file);byte[] buf = new byte[256];conn.connect();double count = 0;if (conn.getResponseCode() >= 400) {Toast.makeText(MainActivity.this, "连接超时",Toast.LENGTH_SHORT).show();Log.i("Michael", "time exceed");} else {while (count <= 100) {if (is != null) {int numRead = is.read(buf);if (numRead <= 0) {break;} else {fos.write(buf, 0, numRead);}} else {break;}}}conn.disconnect();fos.close();is.close();isStarting = true;} catch (IOException e) {e.printStackTrace();isStarting = false;}} catch (MalformedURLException e) {e.printStackTrace();isStarting = false;} finally {Log.e("Michael", "game over");Looper.loop();}}}// end
0 0
- Android -- 多线程下载, 断点下载
- Android断点下载,多线程下载
- android 多线程下载
- Android 多线程文件下载
- android多线程断点下载
- Android 多线程下载
- Android 多线程下载
- android多线程下载详解
- android多线程下载详解
- android多线程下载详解
- android多线程下载详解
- android多线程下载图片
- android多线程下载
- Android学习 多线程 下载
- android 多线程断点续传下载
- android多线程下载器
- android 多线程断点下载
- android实现多线程下载
- android学习一---搭建开发环境
- Android Looper详解
- 1《大话操作系统——做坚实的工程实践派》(8.1)(指令集未完待续)
- NSRange 用法
- JavaWeb_JavaEE_命名规则
- Android多线程下载
- nginx中时间的管理
- [PHP技术]“加入收藏”代码
- javascript中keyCode与charCode属性
- 使用soupUI5.0测试 SOAP WebService入门
- tabBar隐藏、选择
- 新人遇到问题了怎么办
- rpm和yum的使用
- linux i2c驱动笔记