今天做一个Android的文件管理器,里面用到非常多的地方用到了getResources。

Drawable currentIcon = null;currentIcon = getResources().getDrawable(R.drawable.folder);currentIcon = getResources().getDrawable(R.drawable.image);

一開始不是非常理解为什么用 getResources()这种方法就能够获取存在系统的资源。于是看了一下文档和翻阅了一下资料:

比如:把资源文件放到应用程序的/raw/raw下,那么就能够在应用中使用getResources获取资源后,以openRawResource方法(不带后缀的资源文件名称)打开这个文件。比如:

Resources myResources = getResources();InputStream myFile = myResources.openRawResource(R.raw.myfilename);

和传统的java文件操作一样,在android Api中提供了openFileInput和openFileOutput方法来读取设备上的文件。

简写

InputStream fs =this.getResources().openRawResource(R.raw.kb); (资源文件名称为kb.html, 不须要带后缀.html)InputStreamReader read = new InputStreamReader (fs,”gb2312″);BufferedReader in = new BufferedReader(read);

读取res/drawable文件夹下的png或者bmg

//得到Resources对象Resources r = this.getContext().getResources();//以数据流的方式读取资源Inputstream is = r.openRawResource(R.drawable.my_background_image);BitmapDrawable bmpDraw = new BitmapDrawable(is);Bitmap bmp = bmpDraw.getBitmap();

或者

InputStream is = getResources().openRawResource(R.drawable.icon);Bitmap mBitmap = BitmapFactory.decodeStream(is);Paint mPaint = new Paint();canvas.drawBitmap(mBitmap, 40, 40, mPaint);

数据包package:android.content.res
主要类:Resources

InputStream openRawResource(int id) 获取资源的数据流,读取资源数据

把一个图片资源,加入你的文件到你project中res/drawable/文件夹中去,从这里,你就能够引用它到你的代码或你的XML布局中,也就是说,引用它也能够用资源编号,比方你选择一个文件仅仅要去掉后缀就能够了(比如:my_image.png 引用它是就是my_image)。

当须要使用的xml资源的时候,就能够使用context.getResources().getDrawable(R....资源的地址如:R.String.ok);

当你方法里面没有Context參数,能够 this.getContext().getResources();这样就能够了。


注意,使用getResource()的时候注意

1、必须要有Context呀

2、能够用作成员变量,构造传入或方法參数传入。就能够了。


更多相关文章

  1. Android中运行Tensorflow程序2-编写自己的程序
  2. android 权限注解库
  3. Android(安卓)studio黑科技
  4. 《疯狂Android讲义》笔记整理
  5. Android(安卓)ANR 探索
  6. Android主题更换换肤
  7. Android及系统架构目录结构介绍
  8. android解析xml文件的方式(其一)
  9. 如何理解、使用Android(安卓)LogCat以及通过Monkey进行压力测试

随机推荐

  1. Android(安卓)7.1.2(Android(安卓)N) And
  2. 2.4.11 网格视图和图像切换器
  3. android编译时添加库第三方库文件
  4. android编译时添加库第三方库文件
  5. Camera Flash的获得权限
  6. 2.4.10 可展开的列表组件
  7. 登录案例_android
  8. android 蓝牙
  9. 另类方法屏蔽Android4.03的HOME按键
  10. 代码中设置drawableright