我下载文件时,需要访问网络,在这里,添加了个线程
package com.action;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Main extends Activity {
private Button btn;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.btn1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new Thread(runnable).start();
}
});
}
private Runnable runnable = new Runnable() {
@Override
public void run() {
try {
String fileName = Environment.getExternalStorageDirectory()
.getAbsolutePath()
+ "/img3.jpg";
System.out.println("fileName:" + fileName);
String url = "http://hiphotos.baidu.com/%B7%E5%B7%E5%CD%C3/pic/item/769ab3eec5ce730c2cf534a1.jpg";
URL Url = new URL(url);
URLConnection conn = Url.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
int fileSize = conn.getContentLength();
if (fileSize <= 0) { // 获取内容长度为0
throw new RuntimeException("无法获知文件大小 ");
}
if (is == null) { // 没有下载流
throw new RuntimeException("无法获取文件");
}
FileOutputStream fos = new FileOutputStream(fileName); // 创建写入文件内存流,通过此流向目标写文件
byte buf[] = new byte[1024];
int downLoadFilePosition = 0;
int numread;
while ((numread = is.read(buf)) != -1) {
fos.write(buf, 0, numread);
downLoadFilePosition += numread;
}
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
};
}
下载文件时,需要访问网络,需要配置访问网络权限
分享到:
相关推荐
通过以上步骤,你可以实现一个完整的Android文件下载功能,让应用具备将网络资源保存到SD卡的能力。在实际开发中,可能还需要考虑更多细节,如下载速度限制、多线程下载、网络状况判断等,以提供更好的用户体验。
在Android平台上,将文件存储到SD卡中是应用程序常见的需求之一。这主要涉及到Android的文件系统、权限管理以及外部存储的使用。以下是一些关于如何在Android中存储文件到SD卡的关键知识点: 1. **Android文件系统*...
在Android平台上,开发人员经常需要处理与媒体文件交互的任务,比如读取SD卡中的MP3音乐文件。这个过程涉及到文件系统的操作、权限管理以及多媒体数据的处理。以下是一些关于如何在Android中读取SD卡中MP3文件的关键...
在Android开发中,有时我们需要将应用内部的资源文件,如图片、文本或配置文件等,复制到外部存储(如SD卡)以便于后续的操作,比如读取大文件以减轻内存负担,或者创建用户可访问的数据目录。`android:assets`是...
本篇文章将详细介绍如何在Android中将下载的MP3文件存放到虚拟SD卡中。 首先,理解Android的存储权限至关重要。自Android 6.0(API级别23)开始,应用需要在运行时请求`WRITE_EXTERNAL_STORAGE`和`READ_EXTERNAL_...
在Android开发中,有时我们需要将预置的数据库文件与应用一起发布,并在应用程序首次启动时将其复制到外部存储(如SD卡)或内部存储(内存)中,以便于后续的操作和使用。这样的需求通常出现在那些需要提供初始数据...
在Android开发中,有时我们需要将应用内部的RAW资源文件复制到外部存储(如SD卡)以便于用户访问或保存数据。这个"Android之将RAW资源文件写入SD卡工具类"是一个实用的功能,可以帮助开发者轻松完成这个任务。下面将...
在Android系统中,将文件写入SD卡是一个常见的任务,特别是在开发涉及数据存储或资源管理的应用时。Android的安全模型对存储权限有严格的控制,因此在Android应用中访问外部存储(如SD卡)需要遵循特定的步骤。以下...
这个压缩包文件"Android代码-文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar"包含了几个关键的Android文件操作知识点。下面我们将详细探讨这些内容。 首先,让我们从...
### Android读取SD卡中音乐文件列表 在Android开发中,常常需要实现的功能之一就是读取设备中的音乐文件。这通常用于音乐播放器类的应用程序,以便用户可以浏览并选择他们想要播放的歌曲。本文将详细介绍如何通过...
在使用SD卡存储时,需要注意权限问题。自Android 6.0(API级别23)以来,应用需要在运行时请求`WRITE_EXTERNAL_STORAGE`和`READ_EXTERNAL_STORAGE`权限。 **2. data下文件存储** 内部data目录下的文件存储主要用于...
在Android系统中,读取和存储SD卡是应用程序与外部存储交互的重要部分,尤其是在处理大量数据或者需要离线可用内容时。本示例项目“StorageManageDemo”将帮助开发者了解如何在Android应用中有效地实现这一功能。...
Android中的文件路径有两种类型:内部存储路径和外部存储路径(即SD卡)。内部存储路径通常用于保存应用私有的数据,外部存储则用于共享数据或大文件。内部存储路径可以通过`getFilesDir()`或`getCacheDir()`获取,...
在Android系统中,SD卡是用于扩展设备存储空间的一个重要组成部分,它允许用户存储大量数据,如音乐、图片、视频等。在这个特定的项目中,我们的目标是将SD卡中的MP3文件显示在一个ListView中。ListView是Android UI...
在Android系统中,将文件保存到SD卡是应用程序常见的需求之一,特别是在处理大量数据或多媒体文件时。Android提供了多种方式来实现这一功能,包括使用Java I/O流、Android的File类以及ContentProvider。下面我们将...
综上所述,"Android sd卡音频文件列表显示+歌曲播放"的Demo涵盖了Android文件操作、UI设计、媒体播放、服务以及权限管理等多个关键知识点,是学习Android应用开发过程中不可或缺的一部分。通过对这个Demo的深入理解...
在Android操作系统中,SD卡作为扩展存储空间,常常存储着大量的用户数据,包括照片、音乐、文档等。为了方便用户管理和访问这些文件,Android SD卡文件浏览器应运而生。本文将深入探讨这一主题,包括其工作原理、...
在Android平台上,对SD卡文件进行浏览是一项常见的需求,尤其对于开发者来说,这涉及到文件系统的交互和用户界面的实现。Android系统提供了丰富的API接口来访问和操作文件,包括SD卡上的文件。以下将详细讲解如何...
在Android平台上,遍历SD卡中的视频文件是开发视频播放器等应用的常见需求。这个过程涉及到了文件系统的操作、多媒体信息的获取以及性能优化等多个方面。以下将详细讲解这个主题。 首先,Android系统提供了`java.io...
在Android开发中,有时我们需要对文件进行...以上就是Android中创建文件夹、将`raw`和`assets`目录中的文件保存到SD卡、解压缩文件以及删除文件的基本操作。在实际应用中,还需要考虑异常处理、权限管理等细节问题。