原标题:Android资源使用

Android资源管理机制

在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子目录中。

res目录资源类别

res目录下包含各种子目录,存放了项目开发中所用到的所有的资源,具体如下:

anim/:定义动画属性的xml文件。res/anim/目录,可以通过R.anim进Java中行访问。color/:定义颜色状态的xml文件。res/color/目录,可以通过R.color在Java中进行访问。drawable/:存放图片资源的目录。res/drawable/目录,可以通过R.drawable在Java中进行访问。layout/:存放布局资源的目录。res/layout/目录,可以通过R.layout在Java中进行访问。menu/:存放项目程序菜单的xml资源的目录。res/menu/目录,可以通过R.menu在Java中进行访问。raw/:该目录中用于存放一些原始文件,音频。res/raw/目录,可以通过R.raw在Java中进行使用,并通过调用Resource.openRawResource打开raw文件。values/:字符串、数组、布尔值,数值、尺寸、样式等相关的资源的xml文件存放的目录。res/values目录:

字符串:strings.xml文件表示字符串资源,R.string在Java类中使用数组:arrays.xml文件表示数组资源,R.array在java中引用。整数数值:integers.xml文件表示整数数值资源,通过R.integer在java中引用。布尔值:bools.xml文件中存储布尔值资源,可以通过R.bool在java中引用。尺寸值资源:dimens.xml文件存放项目中的尺寸值资源,可以通过R.dimen在java中引用。样式:styles.xml文件存放项目开发中使用到的样式资源,可以通过R.style在Java中引用。

加载资源

在使用资源时首先要把资源加载到内存,需要用到Resources类。Resources类的作用主要就是加载资源,应用程序需要的所有资源(包括系统资源)都是通过此对象获取。一般情况下每个应用都会仅有一个Resources对象。

获取Resources对象

1、通过Context

上下文Context类内部包含有getResources()方法,通常情况下在Activity或者其他组件中调用。Context是一个抽象类,Android中Context的实现类是ContextImpl类。

2、通过PackageManager

可以通过context.getPackageManager()获取一个PackageManager对象。PackageManager这种方式主要是用来访问其他应用程序中的资源。

PackageManager pm = mContext.getPackageManager();

pm.getResourcesForApplication("com.xxx.packagename")//通过包名

转自:知乎Davie返回搜狐,查看更多

责任编辑:

储存外部资源的Android项目子目录,Android资源使用相关推荐

  1. Eclipse android 项目转android studio填坑之旅

    以前公司的老项目,是使用eclipse进行开发的,虽然android studio出来了很久,但为了避免迁移会有一些问题,一直忍着没改,但最近谷歌公司上架有要求,要求android的项目要用andro ...

  2. Android项目和Android教程总结(史诗级宝典)

    博主一年前发布了一些Android项目和教程,当时就是想分享给大家,帮助大家解决遇到的难题,少走弯路.经常看到评论下有同学说博主很细心.讲的很详细,还有很良心免费分享源码,博主很欣慰得到大家的肯定和支 ...

  3. android视频播放器sdk对比,Android项目之android SDK视频播放与vitamio视频播放

    尊重原创,转载请注明:From zsml2016(http://blog.csdn.net/qq_29269233)Power byzsml2016侵权必究! 前言: 今天我想给大家分享Android ...

  4. 开发android项目实战,Android 项目实战:手机安全卫士开发案例解析

    Android 项目实战:手机安全卫士开发案例解析 作 者:王家林,王家俊,王家虎 出版时间:2013 丛编项:移动互联应用开发系列 内容简介 本书通过对一款手机安全卫士开发案例的详细解析,讲解了一个 ...

  5. android 项目部署,Android发布项目到JCenter

    JCenter是什么 大家应该都用过各种各样的Github上的第三方开源组件.类似这种效果的 compile 'wang.yuchao.demoforjcenterlibrary:DemoForJCe ...

  6. [转] 解决windows下eclipse中android项目关联android library project失败问题

    近日,在做一个人人的第三方小项目.打算直接使用renren 的sdk 进行开发.因为renren的sdk是以android library project 形式发布的(关于这种project的内容可以 ...

  7. 小米 android项目代码,[Android] 代码获取手机系统类型(小米MIUI、华为EMUI、魅族FLYME)...

    我们都知道,现在Android系统手机各式各样,包括三星.华为.小米.魅族等等,它们的系统都不是原生的Android系统,都是经过手机厂商修改过的,并且通过刷机可以在不同手机刷各式各样的系统,在一些应 ...

  8. vue 项目引用static目录资源_Vue2.0项目入门 — 静态资源目录src/assets和static/区别...

    rose.png 你应该注意到了,在项目结构上我们有静态资源两个目录:src/assets和static/.他们之间有什么区别? 通过webpack处理的资源 首先我们需要了解webpack如何处理静 ...

  9. Android Lint 去除重复资源 之 idea探究

    Android Lint是很好的检查工具,可以帮助开发者检查很多问题,其中检查android项目重复的资源文件非常有用. 1.命令行下使用 Android Lint有很多命令,具体可以在网上查到.今天 ...

最新文章

  1. Python_文件_日记管理系统
  2. sql 注入神器sqlmap 源码分析之调试sqlmap
  3. gitee项目404问题_七款开源项目,让你数据库管理不再成为一个问题
  4. Ampere Altra Max 对比测试数据公布,性能能效双领先
  5. mysql删库后恢复_记一次MySQL删库的数据恢复
  6. P1614 爱与愁的心痛(python3实现)
  7. Web前端笔记-解决NicSroll使用后页面跳动(每次刷新或进入跳动一下然后正常)问题
  8. jQuery图片延迟加载插件jQuery.lazyload
  9. RTT的内存管理篇——野火RTT讲解
  10. 985硕士面试20场全被拒,被竞争困住的数据分析人,太难了
  11. 计算机组成原理(第三版)唐朔飞-第一章第二章-课后习题
  12. java解压服务器文件夹,java解压7z文件
  13. Libmodbus 移植
  14. 圈子圈套,何谓成功?
  15. 图像分割算法的优缺点比较
  16. nginx安装 打开php文件自动下载的问题
  17. Python BS4 星巴克界面图片报错, tfp = open(filename, ‘wb‘) FileNotFoundError: [Errno 2] No such file or
  18. 阿基米德螺旋线lisp_CAD画阿基米德螺旋线程序
  19. 日语中特殊汉字「髙」写入文件后乱码
  20. html实现凹陷效果,css3怎么实现字体凹陷凸出效果?(附代码)

热门文章

  1. Bug之本地可以发送邮件 测试服不行
  2. qtchart实时动态曲线_极致新体验,实时、无损、长时程细胞分析检测平台
  3. 关于微信授权与登录的相关操作(纯手敲)
  4. 广播模块加继电器怎么接线_变频器如何与PLC相连接,怎么用PLC控制?
  5. java在线编译器_什么是Java内存模型
  6. java nio socket长连接_netty学习实战—实现websocket长连接和socket之间进程通信
  7. java 文件删除异常 ut_【JAVA-UT】12、抛出了指定的异常吗?
  8. u盘文件看得见却打不开_【U盘】国产开源U盘启动制作工具
  9. 用Gson实现json与对象、list集合之间的相互转化
  10. Oracle 分页查询语句SQL