- 浏览: 7866355 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
AsyncTask是个不错的东西,可以使用它来做下载进度条。代码讲解如下:
配置文件
注意打开文件保存权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.downloadfile"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".DownloadFile"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
package com.example.downloadfile; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.app.Activity; import android.app.Dialog; import android.app.ProgressDialog; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.widget.TextView; public class DownloadFile extends Activity { public static final String LOG_TAG = "test"; private ProgressDialog mProgressDialog; public static final int DIALOG_DOWNLOAD_PROGRESS = 0; File rootDir = Environment.getExternalStorageDirectory(); //定义要下载的文件名 public String fileName = "test.jpg"; public String fileURL = "https://lh4.googleusercontent.com/-HiJOyupc-tQ/TgnDx1_HDzI/AAAAAAAAAWo/DEeOtnRimak/s800/DSC04158.JPG"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = new TextView(this); tv.setText("Android Download File With Progress Bar"); //检查下载目录是否存在 checkAndCreateDirectory("/mydownloads"); //执行asynctask new DownloadFileAsync().execute(fileURL); } class DownloadFileAsync extends AsyncTask<String, String, String> { @Override protected void onPreExecute() { super.onPreExecute(); showDialog(DIALOG_DOWNLOAD_PROGRESS); } @Override protected String doInBackground(String... aurl) { try { //连接地址 URL u = new URL(fileURL); HttpURLConnection c = (HttpURLConnection) u.openConnection(); c.setRequestMethod("GET"); c.setDoOutput(true); c.connect(); //计算文件长度 int lenghtOfFile = c.getContentLength(); FileOutputStream f = new FileOutputStream(new File(rootDir + "/my_downloads/", fileName)); InputStream in = c.getInputStream(); //下载的代码 byte[] buffer = new byte[1024]; int len1 = 0; long total = 0; while ((len1 = in.read(buffer)) > 0) { total += len1; //total = total + len1 publishProgress("" + (int)((total*100)/lenghtOfFile)); f.write(buffer, 0, len1); } f.close(); } catch (Exception e) { Log.d(LOG_TAG, e.getMessage()); } return null; } protected void onProgressUpdate(String... progress) { Log.d(LOG_TAG,progress[0]); mProgressDialog.setProgress(Integer.parseInt(progress[0])); } @Override protected void onPostExecute(String unused) { //dismiss the dialog after the file was downloaded dismissDialog(DIALOG_DOWNLOAD_PROGRESS); } } public void checkAndCreateDirectory(String dirName){ File new_dir = new File( rootDir + dirName ); if( !new_dir.exists() ){ new_dir.mkdirs(); } } @Override protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_DOWNLOAD_PROGRESS: //we set this to 0 mProgressDialog = new ProgressDialog(this); mProgressDialog.setMessage("Downloading file..."); mProgressDialog.setIndeterminate(false); mProgressDialog.setMax(100); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setCancelable(true); mProgressDialog.show(); return mProgressDialog; default: return null; } } }
配置文件
注意打开文件保存权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.downloadfile"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".DownloadFile"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
发表评论
-
『Google发布移动Web性能工具PCAP Web Performance Analyzer』
2015-01-06 14:17 2185http://t.cn/RZcCwZS 最近,Google的 ... -
(收藏)在WebView中如何让JS与Java安全地互相调用
2014-11-11 09:59 834在WebView中如何让JS与Java安全地互相调用 http ... -
android中的两端对齐
2013-02-08 18:58 3105在android中的webview中,可以对文本内容进行对 ... -
jQuery Mobile十大常用技巧
2012-10-12 07:23 4227原文发表在: http://mobile.51cto.com/ ... -
Android中使用log4j
2012-10-09 20:22 18283如果要直接在android工程中使用log4j,是有点问题 ... -
收集android的三个小tip
2012-08-25 11:24 2121收集android的三个小tip 1)Android 开发中 ... -
andorid中的html.fromhtml方法
2012-08-19 21:24 8804在android中,有一个容易遗忘的Html.fromht ... -
一个不错的sencha touch MVC教程分享
2012-08-18 10:06 2840http://blog.csdn.net/fyq891014/ ... -
jquery mobile中的按钮大集合
2012-08-14 22:17 3917本文小结了jquery mobile ... -
Andrid中的plurals
2012-08-10 19:29 1719在Android中的字符串资源中,今天留意到一个很特别的东 ... -
Android中listview中的button
2012-08-08 12:56 1952在androd中的listview中,假如每一项是个buu ... -
如何有更好的Android应用创意--从一款新Android应用说起
2012-07-20 14:23 5678现在这个年头,Android ... -
android中判断网络是否连接
2012-07-12 23:19 2903在android中,如何监测网络的状态呢,这个有的时候也是十分 ... -
android中设置手机的语言系
2012-05-19 15:55 2729adb shell 进入Android的Shell,输入以下命 ... -
android 按钮设计中state_selected属性
2012-05-15 22:33 8438在android中,如果搞几个tab,然后想做到当移动到某个T ... -
android中从图库中选取图片
2012-05-11 21:03 10261在android中,如何从图库gallary中挑选图片呢, ... -
android 模拟器中启用相机API支持
2012-05-10 22:37 3160android 模拟器中启用相机支持,否则如果应用中用到相关的 ... -
(转)向android模拟器打电话发短信的简单方法
2012-04-13 13:00 1958http://blog.csdn.net/pku_androi ... -
android 中让activity全屏幕显示
2012-04-12 09:06 1662android 中让activity全屏幕显示,这是一个小ti ... -
在Android中加入GOOGLE统计系统
2012-03-31 20:43 3431Google的统计分析系统,不仅在传统WEB统计中应用很广 ...
相关推荐
主要介绍了Android中使用AsyncTask做下载进度条实例代码的相关资料,这里附有实例代码,具有一定参考价值,需要的朋友可以参考下
Android Async异步操作实例---加载网络图片,实现进度条的更新
先申明啊,我这个小功能使用的下载地址是使用自己电脑上的Tomacat做的服务器,不会搭建服务器不会看代码的人不要在这里叫不能运行啊 // 给统一列表项的下载、停止、暂停、继续、进度条控件设置相同的Tag btn_...
异步处理进度条 有代码注解~适合初学者~
先申明啊,我这个小功能使用的下载地址是使用自己电脑上的Tomacat做的服务器,不会搭建服务器不会看代码的人不要在这里叫不能运行啊 // 给统一列表项的下载、停止、暂停、继续、进度条控件设置相同的Tag btn_start...
AsyncTask 网络加载图片及进度条的加载示例
Android Asynctask 先小试牛刀,了解一下各个方法执行过程,关注博客http://himici.com/
这篇文章给大家介绍Android使用AsyncTask下载图片并显示进度条功能。 AsyncTask下载图片并显示下载进度,异步类AsyncTask配合进度条,简练! public class AsyncTaskActivity2 extends Activity { private Button ...
AsyncTask (API level 3,所以几乎所有目前在市面上流通的 Android 版本皆可使用) 是除 Thread 外的另一种选择,Android 团队鼓励主执行绪(UI thread) 专注于操作 & 画面的流畅呈现, 其余工作 (如网络资料传输、...
AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单,本篇文章主要介绍了Android中使用AsyncTask实现文件下载以及进度更新提示,有兴趣的可以了解一下。
主要介绍了AsyncTask用法解析-下载文件动态更新进度条,需要的朋友可以参考下
Android中显示在标题上的进度条,里面用到了AsyncTask异步线程类
主要讲AsyncTask一些主要方法的使用和有关进度条的一个简单例子,对应我的博客《Android专题之AsyncTask(三)异步方法操作之进度条》,有问题欢迎留言讨论。。。
http://blog.csdn.net/yx0628/article/details/10054851 这个是AsyncTask异步上传文件我的博文。 很简单的小demo,在android端程序中把文件路径和服务器IP改成自己的就行。
利用android.os.AsyncTask类完成MP3下载,采用进度条动态显示下载的百分比。是学习AsyncTask不错的例子。