最近看了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中如何操作字体以及实现文字倒影效果。 首先,让...
这里我们探讨的是一个"android商城例子源码下载"的主题,它为开发者提供了一个学习和实践的平台。通过下载并分析这个源码,我们可以深入了解Android商城应用的实现细节。 首先,源码中的核心模块可能包括用户界面...
Android BLE蓝牙例子(包括android版Lightblue)实例源码: 源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_...
在Android开发的学习过程中,创建第一个界面例子程序是至关重要的步骤,它能让你对Android应用程序的基本结构和工作原理有一个直观的理解。本教程将深入探讨如何在Android环境中构建一个简单的用户界面,我们将称之...
Android 自动翻页-文字自动换行的例子,测试自动换行,设置文字自动换行,得到字符串的信息,通过绘制TextUtil:实现自动换行,包括:行数、页数等信息,内部调用,本源码演示了文字自动换行的同时,还告诉初学者,...
"ANDROID 小例子"这个压缩包提供了一些基础但实用的示例,帮助开发者深入理解Android系统的工作原理和应用开发技巧。以下是其中涉及的一些关键知识点: 1. **JNI(Java Native Interface)**:JNI是Java平台的一...
在Android开发中,构建用户界面是一项关键任务,而“android树,带图标、文字、按钮例子”是一个典型的UI设计需求,通常用于展示层次结构的数据。在这个案例中,开发者使用了ListView和BaseAdapter来创建一个带有...
通过学习并实践这些例子,开发者不仅可以深入理解Android框架,还能掌握解决实际问题的技能,为开发出更具创新性和用户体验良好的应用打下坚实基础。对于每个章节,开发者都应该逐一研究,逐步完善自己的Android开发...
在Android开发领域,经典代码例子是开发者学习和提升技能的重要资源。...在压缩包中的"例子"可能包含了这些知识点的具体实现,通过分析和学习这些代码,开发者可以更好地理解和掌握Android开发技术。
总结,通过Service实现Android后台文件下载涉及多个步骤,包括Service的创建、下载逻辑实现、进度监控、通知创建以及权限管理。理解这些概念并正确实施,将有助于构建稳定、高效的后台下载功能。
首先,Android提供了多种定位方式,包括GPS(全球定位系统)、网络定位(通过Wi-Fi和移动网络)、蓝牙Beacon等。其中,GPS是最精确但可能耗能较高的定位方式。网络定位则相对节能,但精度可能会受到影响,尤其在室内...
Android SipDemo是一个示例应用,它展示了如何在Android平台上实现网络电话功能,特别是针对Android 2.3(Gingerbread)及以上版本。这个项目基于Android的SIP(Session Initiation Protocol)API,这是一种用于...