android(安卓)sd卡写入 读取文件的例子
2012-09-29 11:52
429 查看
首先将图片写入到SDcard中,然后再把它读取出来显示到到imageView上。
用到的图片
xml文件代码:
运行效果图:
点击读取图片后显示如下:
最后需要提醒的是需要加入SD卡的权限哦
用到的图片
xml文件代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <Button android:id="@+id/copy" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="复制到SD卡" /> <Button android:id="@+id/read" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="读取图片" /> <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>java文件:
MainActivity .java
import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity implements OnClickListener { private Button copy; private Button read; private ImageView img; private String path; private static final String DATABASE_PATH = Environment.getExternalStorageDirectory()+"/Fover";//文件存放目录 private static final String DATABASE_FILENAME = "i.png";//文件名称以及后缀 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { copy=(Button)findViewById(R.id.copy); read=(Button)findViewById(R.id.read); img=(ImageView)findViewById(R.id.img); copy.setOnClickListener(this); read.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.copy: path=DATABASE_PATH+"/"+DATABASE_FILENAME; File dir=new File(DATABASE_PATH); if(!dir.exists()){ dir.mkdir(); } if(!(new File(path)).exists()){ Log.v("Fover", "执行写入代码,写入路径为"+path); InputStream is = MainActivity.class.getResourceAsStream("/assets/ico.png"); try{ FileOutputStream fos = new FileOutputStream(path); byte[] buffer = new byte[1024]; int count = 0; while ((count = is.read(buffer)) > 0) { fos.write(buffer, 0, count); } fos.close(); is.close(); }catch (Exception e) { e.printStackTrace(); } } break; case R.id.read: File file = new File(path); if (file.exists()) { Bitmap bm = BitmapFactory.decodeFile(path); //将图片显示到ImageView中 img.setImageBitmap(bm); } break; default: break; } } }
运行效果图:
点击读取图片后显示如下:
最后需要提醒的是需要加入SD卡的权限哦
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
相关文章推荐
- 【Android 开发】:数据存储之File文件存储 [即SD卡的写入与读取]
- android 中读取asset目录中文件并写入SD卡以及从SD卡中读取的简介
- 【Android 开发】:数据存储之File文件存储 [即SD卡的写入与读取]
- Android--SD卡上的创建、读取、写入文件及目录
- Android之根据读取SD卡指定后缀名的文件
- 安卓系统:在SD卡上新建一个文件file.txt,并将经纬度和时间数据写入
- android应用私有存储文件的写入与读取-openFileInput 和 openFileOutput
- Mars-Android学习——网络文件下载和写入SD卡
- 对文件读取以及写入的一个小例子
- 关于Android在网络上下载文件以及向SD卡中写入文件
- 【转】安卓 SD卡写入文件后不能立即显示被写入的文件解决方法
- android写入文件读取文件
- android(12)(简单学生管理系统,包括文件写入SD卡,pull解析xml文件等)
- Android数据读取 写入操作(SD卡文件存储、SharedPreferences存储)
- 忙里偷闲写的小例子---读取android根目录下的文件或文件夹
- Android 向SD卡写入文件_1
- android, 删除SD卡音乐文件。通过getContentResolver读取音乐文件,可以获取到一个完整的路径,直接new File(这括号写获取的路径).delete();
- Android读取手机根目录文件即本地SD卡
- Unity3D研究院之IOS Android支持中文与本地文件的读取写入(二十七)
- Android:文件下载和写入SD卡学习小结