Android _文件下载
Android 文件下载,在Android开发中很长用到,经常需要在应用程序中下载所需要的文件比如电子书,MP3格式的音乐文件,电影等。我在这里总结了一下,以后要用时可以直接拷贝,
代码分析:
有两个工具类,HttpDownloader.java类中定义两个下载方法,download(String urlstr)下载纯文本文件,downfile(String urlStr,String path,String fileName)下载字节文件类。FileUtils.java类定义了写入sd卡的操作。Download.java类为主线程类,两个按钮,监听下载事件。
注意:
在AndroidManifest.xml中添加网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>
在AndroidManifest.xml中加入访问SDCard的权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
代码:
main.xml
[java] <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Android_hello word"
/>
<Button
android:id="@+id/buttontxt"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="单击下载txt文件"
/>
<Button
android:id="@+id/buttonmp3"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="单击下载mp3文件"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Android_hello word"
/>
<Button
android:id="@+id/buttontxt"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="单击下载txt文件"
/>
<Button
android:id="@+id/buttonmp3"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="单击下载mp3文件"
/>
</LinearLayout>
Download.java
[java] package com.example.download;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Download extends Activity {
private Button buttontxt;
private Button buttonmp3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_download);
buttontxt = (Button) findViewById(R.id.buttontxt);
buttontxt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
// 创建一个匿名线程用于下载文件
new Thread() {
public void run() {
HttpDownloader httpDownloader = new HttpDownloader();
// 调用httpDownloader对象的重载方法download下载txt文件
String txt = httpDownloader
.download("http://www.baidu.com/");
System.out.println(txt);
}
}.start();
}
});
buttonmp3 = (Button) findViewById(R.id.buttonmp3);
// 为buttonmp3添加单击事件易做图
buttonmp3.setOnClickListener(new OnClickListener() {
/*
* (non-Javadoc)
*
* @see android.view.View.OnClickListener#onClick(android.view.View)
*/
@Override
public void onClick(View v) {
&nb
补充:移动开发 , Android ,