Android:文件下载和写入SD卡学习小结
今天刚刚学习完Android文件下载和写入SD卡的,随即做一个小结,以供以后学习查阅:
一、文件下载
Android开发中,有时需要从网上下载一些资源以供用户使用,Android API中已经提供了很多直接可以用的类供大家使用,一般文件下载需要通过三个步骤:
1.创建一个HttpURLConnection对象:
public class MainActivity extends Activity {private Button downfile=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); downfile=(Button)findViewById(R.id.downfile); downfile.setOnClickListener(new View.OnClickListener() { downfile.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubHttpDownloader httpDownLoader=new HttpDownloader(); int result=httpDownLoader.downfile("http://219.216.197.96:8080/test//file.jpg", "test/", "test.jpg"); if(result==0) { Toast.makeText(MainActivity.this, "下载成功!", Toast.LENGTH_SHORT).show(); } else if(result==1) { Toast.makeText(MainActivity.this, "已有文件!", Toast.LENGTH_SHORT).show();} else if(result==-1){ Toast.makeText(MainActivity.this, "下载失败!", Toast.LENGTH_SHORT).show(); }}}); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }} 注:在编写文件下载的IP地址时,不要用本地地址,比如:127.0.0.1,由于我在测试时用的Tomcat服务器,IP就直接用的本地地址,程序运行后一直没有报错,但是去SD卡中找文件时一直没有找到文件,最后改为电脑的IP地址后问题解决了。上例中首先定义了一个HttpDownLoader类的对象httpdownloader,再调用该对象的downfile()方法,方法中第一个参数指的是文件下载的URL,第二个参数指的是准备存放到SD卡中的目录,第三个参数指的是文件存放的名称。