Android getResources的作用和须要注意点
今天做一个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、能够用作成员变量,构造传入或方法參数传入。就能够了。
Android getResources的作用和须要注意点的更多相关文章
- Android中Handler作用
在Android的UI开发中,我们经常会使用Handler来控制主UI程序的界面变化.有关Handler的作用,我们总结为:与其他线程协同工作,接收其他线程的消息并通过接收到的消息更新主UI线程的内容 ...
- xml文件中 android:showAsAction = " " 的作用
在xml文件中设置android:showAsAction = " "有什么作用呢 安卓开发项目文件中有一个目录叫做menu,里面有main.xmlitem选项里有一句 andro ...
- android中怎么把自己须要的app启动图标集中到一个弹出框中
先看效果图 这个是我们自己的apk点击之后的效果 下边是布局文件 activity_main.xml主布局文件 <LinearLayout xmlns:android="http:// ...
- Android xmlns 的作用及其自定义
转自:http://blog.csdn.net/chuchu521/article/details/8052855 xmlns:Android="http://schemas.android ...
- Android解决使用findViewById时须要对返回值进行类型转换问题的辅助类
在我们的开发工作时,findViewById可能是用得最多的函数之中的一个.但它特别讨厌的地方就是我们常常须要对返回的view进行类型转换,输入麻烦.代码丑陋,比如曾经我们在Activity中找一些子 ...
- 关于Android的.so文件所须要知道的
早期的Android系统差点儿仅仅支持ARMv5的CPU架构,你知道如今它支持多少种吗?7种. Android系统眼下支持以下七种不同的CPU架构:ARMv5.ARMv7 (从2010年起),x86 ...
- android:ems的作用
android:ems用来设置EditText或TextView显示的字符宽度. 比如:android:ems="10" 设置TextView或EditText为10个字符的宽度, ...
- android support的作用及其常见错误的解决
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Android ViewHolder的作用与用法
就是一个持有者的类,他里面一般没有方法,只有属性,作用就是一个临时的储存器,把你getView方法中每次返回的View存起来,可以下次再用.这样做的好处就是不必每次都到布局文件中去拿到你的View,提 ...
随机推荐
- 关于android:screenOrientation="portrait"等
1.android:screenOrientation="portrait",表示当切换横竖屏的时候,屏幕的内容始终以竖屏显示,而不会根据屏幕的方向来显示内容. 2.插入个Andr ...
- discuznt学习笔记
DBWR=DbHelper(client) Discuz.Data部分 DbHelper相当与抽象工厂中的Client,其中定义了需要与数据库进行操作的通用方法(如ExecuteScalar,Fi ...
- 小学生之解析XML应用
1.什么是XML? 解析:XML:Extensible Markup Language(可扩展标记语言) HTML:HyperLink Text Markup Language(超文本标记语言) ...
- 武汉科技大学ACM :1005: 一二三
Problem Description 你弟弟刚刚学会写英语的一(one).二(two)和三(three).他在纸上写了好些一二三,可惜有些字母写错了.已知每个单词最多有一个字母写错了(单词长度肯定不 ...
- Interview Algorithm
约瑟夫环: #include <stdio.h> #include <stdlib.h> #include <string.h> int find(int *arr ...
- 外国高手画神级的linux 内核图,够详细!
- storm-kafka教程
一.原理介绍 本文内容参考:https://github.com/apache/storm/tree/master/external/storm-kafka#brokerhosts (一)使用st ...
- php判断是移动端还是pc
//判断是否是手机 function is_mobile() { $agent = strtolower($_SERVER['HTTP_USER_AGENT']); $is_pc = (strpos( ...
- EF学习
一.EF介绍 实体框架 Entity Framework 是ADO.NET 中的一组支持开发面向数据的软件应用程序的技术.在 EF 中的实体数据模型(EDM)由以下三种模型和具有相应文件扩展名的映射文 ...
- unix网络编程之简介
通常客户一次只与一个服务器通信, 上图为:一个服务器同时处理多个客户的请求. 上图为:客户与服务器使用TCP协议在同一个以太网中通信. 路由器是广域网的架构设备.今天,最大的广域网是因特网. 上图为: ...