最近看了mars老师的的视频的网络下载章节,下面就贴一下代码,备用。
android通过网络下载文件分2步:
1.建立网络连接获取数据流;
2.创建文件把数据流写到文件中即可。(简单吧)
废话不多说,上代码:
网络处理类 HttpDownloader.java
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/***
* 通过http协议下载文件
* ***/
public class HttpDownloader {
private URL url = null;
public InputStream getInputStreamFormUrl(String urlStr)
throws MalformedURLException,IOException{
url = new URL(urlStr);
HttpURLConnection httpc = (HttpURLConnection)url.openConnection();
return httpc.getInputStream();
}
public String downloadText(String urlStr){
StringBuffer sb = new StringBuffer();
String line = null;
BufferedReader breader = null;
try{
url = new URL(urlStr);
HttpURLConnection httpc = (HttpURLConnection)url.openConnection();
InputStream inputs = httpc.getInputStream();
breader = new BufferedReader(new InputStreamReader(inputs));
while((line=breader.readLine())!=null){
sb.append(line);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try {
breader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return sb.toString();
}
public int downloadFile(String urlStr,String path,String name){
InputStream input = null;
try{
FileUtils fu = new FileUtils();
if(fu.isFileExist(path+name)){ // 是否存在文件,如果存在返回1
return 1;
}else{
input = getInputStreamFormUrl(urlStr);
File f = fu.inputStream2File(path, name, input);
if(f==null){
return -1; // 数据有异常的时候返回-1
}
input.close();
}
}catch(Exception e){
e.printStackTrace();
return -1;
}
return 0; // 数据正常的时候返回0
}
}
文件处理类 FileUtils.java
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/***
* 通过http协议下载文件
* ***/
public class HttpDownloader {
private URL url = null;
public InputStream getInputStreamFormUrl(String urlStr)
throws MalformedURLException,IOException{
url = new URL(urlStr);
HttpURLConnection httpc = (HttpURLConnection)url.openConnection();
return httpc.getInputStream();
}
public String downloadText(String urlStr){
StringBuffer sb = new StringBuffer();
String line = null;
BufferedReader breader = null;
try{
url = new URL(urlStr);
HttpURLConnection httpc = (HttpURLConnection)url.openConnection();
InputStream inputs = httpc.getInputStream();
breader = new BufferedReader(new InputStreamReader(inputs));
while((line=breader.readLine())!=null){
sb.append(line);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try {
breader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return sb.toString();
}
public int downloadFile(String urlStr,String path,String name){
InputStream input = null;
try{
FileUtils fu = new FileUtils();
if(fu.isFileExist(path+name)){ // 是否存在文件,如果存在返回1
return 1;
}else{
input = getInputStreamFormUrl(urlStr);
File f = fu.inputStream2File(path, name, input);
if(f==null){
return -1; // 数据有异常的时候返回-1
}
input.close();
}
}catch(Exception e){
e.printStackTrace();
return -1;
}
return 0; // 数据正常的时候返回0
}
}
// 方法调用代码
HttpDownloader httpd = new HttpDownloader();
String txt = httpd.downloadText("http://192.168.1.41/Temp.txt");// 下载文本文件
int state = httpd.downloadFile("http://192.168.1.41/temp.mp3", "ch", "temp.mp3"); //下载mp3文件
顺便说一个本人的android群85506951欢迎大家加入!
分享到:
相关推荐
8. **切换播放源**:当MP3下载完成并保存到SD卡后,需要更新`MediaPlayer`的播放源,从网络URL切换到本地文件路径,继续播放。 9. **异常处理**:在实现这些功能时,必须考虑到各种可能的异常情况,例如网络中断、...
本教程将深入探讨Android中常见的控件及其用法,通过实际的例子帮助开发者更好地理解和运用。 1. **TextView**:TextView是Android中最基础的控件,用于显示文本。你可以设置字体、颜色、大小以及对齐方式等属性。...
在Android开发领域,掌握经典代码例子对于提升编程技巧和理解平台特性的能力至关重要。这个"Android经典代码例子"集合提供了一系列实例,旨在帮助开发者深入学习Android应用开发的关键方面。以下是一些关键知识点的...
android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码
以上就是一个简单的Android获取MP3封面图片的例子。需要注意的是,不是所有的MP3文件都有专辑封面,所以在实际应用中,你可能需要提供默认图片作为备选。此外,考虑到性能和内存管理,通常会在获取图片后将其缩放至...
Android 下载图片 简单 例子 Android Image DownLoader
以上就是Android中在图片上添加文字的基本步骤和相关知识点,实际应用中可能需要根据具体需求进行调整和优化。在描述中的地图上A-Z字母的图片创建,可能是为了预先准备一系列带有字母标识的图片,便于后续在地图上...
在Android应用程序开发中,我们经常会遇到各种各样的小例子,这些例子可以帮助开发者更好地理解和掌握Android SDK中的各种功能和API。本篇文章将详细探讨"android应用程序小例子"这一主题,涵盖从基础概念到实际应用...
在Android开发中,多线程是一项关键技能,特别是在处理耗时操作如下载任务时。本示例"android 多线程 ...通过学习这个例子,开发者可以掌握到处理并发和UI更新的关键技术,这对于任何Android开发者来说都是必备的技能。
在Android开发中,自定义字体和文字倒影是常见的需求,可以为应用提供独特的视觉体验。这个例子源码就是专门针对这两个功能的实现,通过它我们可以深入理解Android中如何操作字体以及实现文字倒影效果。 首先,让...
这里我们探讨的是一个"android商城例子源码下载"的主题,它为开发者提供了一个学习和实践的平台。通过下载并分析这个源码,我们可以深入了解Android商城应用的实现细节。 首先,源码中的核心模块可能包括用户界面...
Android BLE蓝牙例子(包括android版Lightblue)实例源码: 源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_...
在Android开发的学习过程中,创建第一个界面例子程序是至关重要的步骤,它能让你对Android应用程序的基本结构和工作原理有一个直观的理解。本教程将深入探讨如何在Android环境中构建一个简单的用户界面,我们将称之...
批量下载则意味着同时处理多个下载任务,这可以通过多线程技术实现,比如使用线程池或者Android的AsyncTask。线程池可以更有效地管理多个并发任务,防止因大量并发导致的系统资源浪费。 接着,图片缓存是提高应用...
Android 自动翻页-文字自动换行的例子,测试自动换行,设置文字自动换行,得到字符串的信息,通过绘制TextUtil:实现自动换行,包括:行数、页数等信息,内部调用,本源码演示了文字自动换行的同时,还告诉初学者,...
"ANDROID 小例子"这个压缩包提供了一些基础但实用的示例,帮助开发者深入理解Android系统的工作原理和应用开发技巧。以下是其中涉及的一些关键知识点: 1. **JNI(Java Native Interface)**:JNI是Java平台的一...
在Android开发领域,实例教程和例子是学习新技能和理解各种控件功能的关键。本教程主要针对Android平台,提供了一系列的实例,旨在帮助开发者更好地掌握Android应用开发。 首先,我们来了解一下Android平台的基础。...
在Android开发中,构建用户界面是一项关键任务,而“android树,带图标、文字、按钮例子”是一个典型的UI设计需求,通常用于展示层次结构的数据。在这个案例中,开发者使用了ListView和BaseAdapter来创建一个带有...
通过学习并实践这些例子,开发者不仅可以深入理解Android框架,还能掌握解决实际问题的技能,为开发出更具创新性和用户体验良好的应用打下坚实基础。对于每个章节,开发者都应该逐一研究,逐步完善自己的Android开发...
在Android开发领域,经典代码例子是开发者学习和提升技能的重要资源。...在压缩包中的"例子"可能包含了这些知识点的具体实现,通过分析和学习这些代码,开发者可以更好地理解和掌握Android开发技术。