- 浏览: 7934749 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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 2234http://t.cn/RZcCwZS 最近,Google的 ... -
(收藏)在WebView中如何让JS与Java安全地互相调用
2014-11-11 09:59 869在WebView中如何让JS与Java安全地互相调用 http ... -
android中的两端对齐
2013-02-08 18:58 3143在android中的webview中,可以对文本内容进行对 ... -
jQuery Mobile十大常用技巧
2012-10-12 07:23 4271原文发表在: http://mobile.51cto.com/ ... -
Android中使用log4j
2012-10-09 20:22 18331如果要直接在android工程中使用log4j,是有点问题 ... -
收集android的三个小tip
2012-08-25 11:24 2147收集android的三个小tip 1)Android 开发中 ... -
andorid中的html.fromhtml方法
2012-08-19 21:24 8847在android中,有一个容易遗忘的Html.fromht ... -
一个不错的sencha touch MVC教程分享
2012-08-18 10:06 2865http://blog.csdn.net/fyq891014/ ... -
jquery mobile中的按钮大集合
2012-08-14 22:17 3936本文小结了jquery mobile ... -
Andrid中的plurals
2012-08-10 19:29 1750在Android中的字符串资源中,今天留意到一个很特别的东 ... -
Android中listview中的button
2012-08-08 12:56 1979在androd中的listview中,假如每一项是个buu ... -
如何有更好的Android应用创意--从一款新Android应用说起
2012-07-20 14:23 5718现在这个年头,Android ... -
android中判断网络是否连接
2012-07-12 23:19 2936在android中,如何监测网络的状态呢,这个有的时候也是十分 ... -
android中设置手机的语言系
2012-05-19 15:55 2759adb shell 进入Android的Shell,输入以下命 ... -
android 按钮设计中state_selected属性
2012-05-15 22:33 8498在android中,如果搞几个tab,然后想做到当移动到某个T ... -
android中从图库中选取图片
2012-05-11 21:03 10285在android中,如何从图库gallary中挑选图片呢, ... -
android 模拟器中启用相机API支持
2012-05-10 22:37 3185android 模拟器中启用相机支持,否则如果应用中用到相关的 ... -
(转)向android模拟器打电话发短信的简单方法
2012-04-13 13:00 1998http://blog.csdn.net/pku_androi ... -
android 中让activity全屏幕显示
2012-04-12 09:06 1685android 中让activity全屏幕显示,这是一个小ti ... -
在Android中加入GOOGLE统计系统
2012-03-31 20:43 3462Google的统计分析系统,不仅在传统WEB统计中应用很广 ...
相关推荐
AsyncTask是个不错的东西,可以使用它来做下载进度条。代码讲解如下: package com.example.downloadfile; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net....
在本示例中,我们将深入探讨如何使用`AsyncTask`来加载网络图片并实时更新进度条。 首先,我们需要理解`AsyncTask`的基本结构。`AsyncTask`有三个泛型参数:`Params`、`Progress`和`Result`。`Params`代表异步任务...
本篇文章将详细探讨如何使用`AsyncTask`来实现网络图片的下载,并且展示进度条提示。 `AsyncTask`有三个泛型参数,分别是Params、Progress和Result。Params表示后台任务接收的输入参数类型,Progress表示后台任务的...
先申明啊,我这个小功能使用的下载地址是使用自己电脑上的Tomacat做的服务器,不会搭建服务器不会看代码的人不要在这里叫不能运行啊 // 给统一列表项的下载、停止、暂停、继续、进度条控件设置相同的Tag btn_...
先申明啊,我这个小功能使用的下载地址是使用自己电脑上的Tomacat做的服务器,不会搭建服务器不会看代码的人不要在这里叫不能运行啊 // 给统一列表项的下载、停止、暂停、继续、进度条控件设置相同的Tag btn_start...
在Android开发中,创建一个与应用宝类似的下载进度条是一个常见的需求,这涉及到自定义View、多线程处理以及UI更新等技术。本项目"Android-Android仿应用宝下载进度条"旨在实现一个类似应用宝App中的下载进度条效果...
异步处理进度条 有代码注解~适合初学者~
10. **UI设计**:设计一个清晰的界面,展示每个文件的下载状态(如已完成、下载中、等待中)、进度和操作按钮(如暂停、取消、打开)。 综上所述,实现Android多文件下载并显示进度条涉及了网络请求、多线程、文件...
在Android开发中,创建一个下载进度条是提升用户体验的关键元素,它能让用户直观地了解应用程序后台下载或上传任务的进度。下面将详细讲解如何在Android中实现一个下载进度条案例。 首先,我们需要在布局文件(如`...
在Android应用开发中,AsyncTask是一个用于在后台线程执行耗时操作并更新UI的工具类,它是Android 1.5版本引入的。AsyncTask的设计初衷是为了简化异步编程,避免直接操作线程和Handler带来的复杂性。下面我们将详细...
在Android开发中,多线程下载以及UI进度条的实时刷新是常见的需求,尤其是在处理大文件下载时。本文将深入探讨如何实现这个功能,并参考了链接`http://blog.csdn.net/sky286753213/article/details/11770299`中的...
使用AsyncTask进行进度更新,可以在doInBackground()中调用publishProgress(Progress...)方法,这会触发onProgressUpdate(Progress...)方法在UI线程中执行,从而更新进度条。 **Handler** Handler是一种消息处理...
【Android点击下载时Button背景变化下载进度条Demo】是一个Android开发中的示例项目,它展示了如何在用户触发下载操作时,使Button的背景发生变化,并同时显示一个下载进度条。这个Demo对于开发者来说,是一个很好的...
通过这种方式,我们可以使用Android的AsyncTask实现断点下载功能,确保用户在任何时候都能无缝继续他们的下载。同时,注意AsyncTask仅适用于较短的后台操作,对于长时间运行的任务,考虑使用IntentService或Job...
1. `onPreExecute()`:这个方法在任务开始执行前运行在主线程中,常用来做一些准备工作,如显示进度条。 2. `doInBackground(Params...)`:这个方法在后台线程中运行,执行实际的耗时操作。在这个方法中,可以进行...
在Android应用开发中,异步任务(AsyncTask)是一个常用工具,用于在后台线程执行耗时操作,然后在UI线程更新结果,避免阻塞用户界面。AsyncTask的使用和内部机制对于任何Android开发者来说都至关重要。让我们深入...
在Android中,直接在主线程进行网络操作会导致应用无响应,因此,`AsyncTask`被广泛用于下载、上传等网络相关的任务。 下面是一个使用`AsyncTask`下载网页图片的详细代码清单: 首先,我们需要导入必要的库,包括...
在Android开发中,当涉及到与用户界面交互的耗时操作,如网络下载、数据库操作等,我们通常会使用异步任务(AsyncTask)来避免主线程阻塞导致的UI无响应问题。`AsyncTask`是Android提供的一个轻量级框架,用于在后台...
在Android开发中,实现“点击下载的进度条”功能涉及到几个关键知识点,包括网络请求、文件下载、进度更新以及UI反馈。以下是对这些知识点的详细解释: 1. **网络请求**: 在Android中,我们可以使用多种方式发起...