手机内部文件存储——assets目录
2016-05-27 23:26
239 查看
一.创建
1./src/main/assets
2.切换到Project视图模式,在main下新建文件夹assets
二.特点
1.和res同等级别
2.主要是存放项目中的大文件
3.文件不受R类的管理
三.API
1.AssetManager 资产管理器
1-getAssets() 得到资产管理器
2-open(文件名) 返回文件的InputStream
2.ImageView:setImageBitmap(Bitmap 实例) 设置图片视图的位图
3.Bitmap 位图:BitmapFactory.decodeFile(图片文件路径) 使用工厂方法得到图片文件的Bitmap.
图片内部存储代码展示:
图片手机内部存储.java
1./src/main/assets
2.切换到Project视图模式,在main下新建文件夹assets
二.特点
1.和res同等级别
2.主要是存放项目中的大文件
3.文件不受R类的管理
三.API
1.AssetManager 资产管理器
1-getAssets() 得到资产管理器
2-open(文件名) 返回文件的InputStream
2.ImageView:setImageBitmap(Bitmap 实例) 设置图片视图的位图
3.Bitmap 位图:BitmapFactory.decodeFile(图片文件路径) 使用工厂方法得到图片文件的Bitmap.
图片内部存储代码展示:
package com.hanqi.testapp3; import android.content.SharedPreferences; import android.content.res.AssetManager; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.BidiFormatter; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.PrintStream; public class MainActivity extends AppCompatActivity { ImageView iv_1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv_1=(ImageView)findViewById(R.id.iv_1); } //保存资产文件到内部存储 public void bt4_OnClick(View v) { try { //操作assets目录文件 //1.得到assetsManager AssetManager am=getAssets(); //2.操作资产目录,边读边写入 //1)读文件到内存 inputstream InputStream is=am.open("car.png"); //2)写文件到目录 outputstream FileOutputStream fos=openFileOutput("test.png",MODE_PRIVATE); //先读后写 byte [] b=new byte[1024]; int i=0; while ((i=is.read(b))>0) { fos.write(b,0,i); } fos.close(); is.close(); Toast.makeText(MainActivity.this, "保存文件成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { Toast.makeText(MainActivity.this, "保存文件出错", Toast.LENGTH_SHORT).show(); } } //设置图片指向内部存储 public void bt5_OnClick(View v) { //1.得到文件路径 String path=getFilesDir().getAbsolutePath()+"/test.png"; Toast.makeText(MainActivity.this, "path="+path, Toast.LENGTH_LONG).show(); //2.从内部存储的图片得到 Bitmap,BitmapFactory.decodeFile("文件路径"); Bitmap bm= BitmapFactory.decodeFile(path); //3.设置图片视图的图片来源 iv_1.setImageBitmap(bm); } }
图片手机内部存储.java
相关文章推荐
- Statement、PreparedStatement和CallableStatement区别
- JAVA反射机制深入学习(一)Java反射概念解析
- Mysql 密码忘记了,呃呃呃
- ubuntu下文件压缩/解压缩命令总结
- iOS中openURL用法
- BZOJ_1610_[Usaco2008_Feb]_Line连线游戏_(计算几何基础+暴力)
- 关于有偿提供拼图响应式后台的通知---------pintuer ui的官方通知(www.pintuer.com)
- 移动硬盘在mac系统下无读写权限的简单办法
- Java byte数组与十六进制字符串互转
- linux 下解压及创建 tar.xz
- 容器就像骑摩托
- bzoj1853【SCOI2010】幸运数字
- Contiki协议栈Rime:广播ibc
- eclipse安装Genymotion插件
- 1011. A+B和C (15)
- mac下的应用程序发布 及 打包(Python写的脚本,可打包第三方库)
- 第二期冲刺站立会议个人博客3(2016/5/27)
- 在ASP.NET MVC 中获取当前URL、controller、action
- Overridable、Overrides、Shadows的用法
- Centos优化Hadoop