Android getResources的作用和须要注意点

Android getResources的作用和须要注意点

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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、能够用作成员变量,构造传入或方法參数传入。就能够了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117962.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • linux系统移植的一般过程_内核移植的基本步骤

    linux系统移植的一般过程_内核移植的基本步骤在众多嵌入式操作系统中,Linux目前发展最快、应用最为广泛。性能优良、源码开放的Linux具有体积小、内核可裁减、网络功能完善、可移植性强等诸多优点,非常适合作为嵌入式操作系统。一个最基本的Linux操作系统应该包括:引导程序、内核与根文件系统三部分。  嵌入式Linux系统移植主要由四大部分组成:  一、搭建交叉开发环境  二、bootloader的选择和移植  三、kernel的配置、编译、…

  • WPF教程(二) WPF vs WinForms

    在前面的章节,我们讨论了WPF是什么,还涉及了一点点WinForms。在本章节,我将尝试比较两者,尽管它们服务的目的一样,却存在很多的区别。如果你以前从来没有接触过WinForms,或者WPF是你学习的第一种GUI框架,请跳过这一章节。但是如果你有兴趣的话,不妨尝试一读。先说说两者最重要的区别。WinForms只是标准窗体控件顶部的一层(如文本框),而WPF从零开始,几乎在所有场景下都不依赖于

  • 从几个常见需求看扫描电子书处理软件选择「建议收藏」

    从几个常见需求看扫描电子书处理软件选择「建议收藏」作者:马健邮箱:stronghorse_mj@hotmail.com发布:2020.01.04这几天在eshuyuan碰到一些人谈到扫描电子书处理,很多人的习惯是使用通用图像处理软件,包括Phot

  • 所阅读的ASP.NET 2.0文章

    所阅读的ASP.NET 2.0文章

  • ROS安装教程|从零开始[通俗易懂]

    ROS安装教程|从零开始[通俗易懂]前两天把自己的ROS搞坏了,不知道咋修复了,只好重装一次。想到大家可能还有从来没接触过ROS的,不知道怎么安装,我就记录一下这次的重装过程安装VMware,这个我已经装了,就不细说了,管家公众号上有安装教程 下载ubuntu镜像文件Indexof/ubuntu-releases/18.04.6/|清华大学开源软件镜像站|TsinghuaOpenSourceMirrorIndexof/ubuntu-releases/18.04.6/|清华大学开源软件镜像站,致力于为国内和校

  • 字符串常量池概述[通俗易懂]

    字符串常量池概述[通俗易懂]字符串常量池概述常量池表(Constant_Pooltable)Class文件中存储所有常量(包括字符串)的table。这是Class文件中的内容,还不是运行时的内容,不要理解它是个池子,其实就是Class文件中的字节码指令。运行时常量池(RuntimeConstantPool)JVM内存中方法区的一部分,这是运行时的内容。这部分内容(绝大部分)是随着JVM运行时候,从常量池转化而来,每个Class对应一个运行时常量池。上一句中说绝大部分是因为:除了Class中常量池内容,还可能包括

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号