首先在虚拟机中装入虚拟SDCARD,并匹配,然后在manifest.xml中设置对储存卡的读写权限。
mainactivity代码
1 package com.example.downloadtext; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.os.Environment; 6 import android.util.Log; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.Toast; 10 11 import java.io.File; 12 import java.io.IOException; 13 import java.net.HttpURLConnection; 14 15 public class MyActivity extends Activity 16 { 17 /** 18 * Called when the activity is first created. 19 */ 20 static String sdcardpath = "/storage/sdcard/"; 21 Button download; 22 23 @Override 24 public void onCreate(Bundle savedInstanceState) 25 { 26 super.onCreate(savedInstanceState); 27 setContentView(R.layout.main); 28 download = (Button) findViewById(R.id.download); 29 download.setOnClickListener(new downloadListener()); 30 31 32 } 33 34 35 class downloadListener implements View.OnClickListener 36 { 37 @Override 38 39 public void onClick(View view) 40 { Log.v("button","button has been clicked"); 41 42 new DownloadThread().start(); 43 File file = new File(sdcardpath + "song"); 44 if (file.exists()) 45 { 46 Toast.makeText(MyActivity.this, "download Sucess", Toast.LENGTH_LONG);//toast只能在ui进程中才能显示,所以这些都不能显示 47 48 } 49 else 50 { 51 Toast.makeText(MyActivity.this, "download failed", Toast.LENGTH_LONG); 52 53 } 54 55 } 56 57 58 } 59 60 class DownloadThread extends Thread 61 { 62 @Override 63 public void run() { 64 Log.v("thread","new thread is started"); 65 Download downloadmp3 = new Download(); 66 try 67 { 68 downloadmp3.downloadmp3("http://sc.111ttt.com/up/mp3/276964/2684CCF02022F454B9E67B5D35F9DDF0.mp3"); 69 } 70 catch (IOException e) 71 { 72 e.printStackTrace(); 73 } 74 Log.v("thread","thread is overed"); 75 } 76 } 77 }
Download类
package com.example.downloadtext; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.nio.Buffer; import java.nio.ByteBuffer; /** * Created by Administrator on 2014/8/14. */ public class Download { public void downloadmp3(String urlpath)throws IOException { URL url = new URL(urlpath); HttpURLConnection urlconnection = (HttpURLConnection) url.openConnection(); InputStream inputStream = urlconnection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); FileOutputStream fos = new FileOutputStream(new File(MyActivity.sdcardpath+"song")); String readed; while((readed =reader.readLine() )!=null) { fos.write(readed.getBytes()); } fos.close(); inputStream.close(); } }
下载MP3并放在sdcard中,布布扣,bubuko.com
原文:http://www.cnblogs.com/wulantuoyajr/p/3913273.html