当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,