Android中的资源文件
最近复习Android资源文件的内容,留下点记录以备后用。
Android中的资源主要是指存放在应用程序或者Framework相应包下/res中的内容。它们可以被本地化,如果必要的话会被编译成二进制文件以节约空间,并且,Eclipse开发环境可以为这些内容生成ID,存放在R.java文件中,以便程序内或其他XML文件中引用。/res文件夹只有固定的一些子目录结构,不能支持多层文件结构。
把一些最基本的内容列表如下。
资源类型 |
存放位置 |
生成ID的方式 |
在XML文件中的标签 |
在程序中使用 |
备注 |
颜色值 |
/res/values |
R.color,每个标签单独生成 |
color |
resources.getColor(R.color.name); |
|
字符串 |
/res/values |
R.string, 每个标签单独生成 |
string |
resources.getString(R.string.name); |
两种使用方法的区别是,后者返回本地化且包含样式的字符串。 |
字符串数组 |
/res/values |
R.array,每个标签单独生成 |
string-array |
resources.getStringArray(R.array.name); |
两种使用方法区别同上。 |
数量字符串 |
/res/values |
R.plurals,每个标签单独生成 |
plurals |
resources.getQuantityString(R.plurals.name); |
用来描述单复数对名词造成的区别。两种用法区别同上。 |
尺寸 |
/res/values |
R.dimen,每个标签单独生成 |
dimen |
float size = |
注意各种单位的区别。 |
图片 |
/res/drawable |
R.drawable,每个文件单独生成 |
N/A |
BitmapDrawable d = |
有gif、jpg、png、9.png等类型。 |
矩形颜色块 |
/res/values或/res/drawable |
R.drawable,每个标签单独生成 |
drawable |
ColorDrawable c = |
|
圆角矩形 |
/res/value或/res/drawable |
R.drawable,每个文件单独生成 |
shape |
GradiantDrawable roundedRectangle = |
|
布局 |
/res/layout |
R.layout,每个文件单独生成 |
LinearLayout、FrameLayout、RelativeLayout等等 |
setContentView(R.layout.layoutName); |
setContentView决定当前Activity用哪个布局文件,在此调用之后方可以使用findViewById来获取某个控件的引用。 |
任意xml |
/res/xml |
R.xml,每个文件单独生成 |
N/A |
XmlResourceParser parser = |
|
任意其他资源 |
/res/raw |
R.raw,每个文件单独生成 |
N/A |
InputStream is = |
除此之外,Android应用中还有一个assets文件夹,其中可以存放任意的文件夹结构和文件,不会被编译或者本地化。使用时需要:
AssetManager am = myActivity.getAssets();
InputStream is = am.open(filePathRelativeToAssetFolder);
// Do something to is
is.close();
Android中的资源文件的更多相关文章
- Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容
Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...
- Android开发---如何操作资源目录中的资源文件3--圆角边框、背景颜色渐变效果、边框颜色
Android开发---如何操作资源目录中的资源文件3 效果图 1.圆角边框 2.背景颜色渐变效果 1.activity_main.xml 描述: 定义了一个shape资源管理按钮 <?xml ...
- Android开发 ---如何操作资源目录中的资源文件2
Android开发 ---如何操作资源目录中的资源文件2 一.颜色资源管理 效果图: 描述: 1.改变字体的背景颜色 2.改变字体颜色 3.改变按钮颜色 4.图像颜色切换 操作描述: 点击(1)中的颜 ...
- Android开发---如何操作资源目录中的资源文件
效果图: 1.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Linear ...
- android 中获取视频文件的缩略图(非原创)
在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRet ...
- 今天给大家分享一下Android中的资源与国际化的问题
摘要:该文章将向大家分享Android中的资源与国际化的问题. 今天给大家分享一下Android中的资源与国际化的问题,通常我们新建一个Android工程,目录结构如下图所示: 我们主要看一下layo ...
- 修改Android中strings.xml文件, 动态改变数据
有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name=&qu ...
- Android中的资源与国际化!
Android中的资源与国际化的问题,通常我们新建一个Android工程,目录结构如下图所示: 我们主要看一下layout与values目录,layout里的xml文件的我们应用使用布局的文件,val ...
- Android中的资源访问
Android中的资源是指非代码部分,指外部文件. assets中保存的一般是原生的文件,例如MP3文件,Android程序不能直接访问,必须通过AssetManager类以二进制流的形式来读取. r ...
随机推荐
- 使用oracle的SQL Developer创建用户的方法
这里针对的是Oracle11g,其它版本的没测试过不知道. 首先,使用system建立连接,密码是你安装时指定的那个密码,然后在最下面的“其它用户”中创建一个新用户. 注意1:创建完毕后一定要注意要在 ...
- mysql 修改root密码多种方法
方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpa ...
- OC基础-day05
#pragma mark - Day05_01_NSObject类 NSObject类 1). NSObject是Foundation框架中的1个类. 在这个类中有1个类方法,叫做new 这个方法的作 ...
- jQuery 遍历过滤
缩写搜索元素的范围 三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素. 其他过滤方法,比如 filter() 和 not() ...
- Node之express
Express 是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用. 如何安装: npm install -g express ...
- 一台机器,运行两个mysql版本 实例
一.问题 1.学习mysql时,我先安装了一个mysql5.5.27: 2.然而学习php时,当我安装wampserver2.2时,wampserver2.2又在电脑上安装了mysql5.5.20: ...
- oracle简单两个操作
sqlplus sys/密码 as sysdba ALTER USER 账号 IDENTIFIED BY 新密码; select * from (select rownum 别名 ,表名.* fro ...
- Shell脚本——中继DHCP服务器自动部署
详细说明参照: (四)跟我一起玩Linux网络服务:DHCP服务配置之中继代理 vm1的脚本是: #! /bin/bash HIPSEG="10.10.10" SIPSEG=&qu ...
- 用typedef给结构体一个别名
转:typedef 一.用typedef给结构体一个别名 typedef struct tagMyStruct { int iNum; long lLength; } MyStruct; 这语句实际上 ...
- CodeChef CBAL
题面: https://www.codechef.com/problems/CBAL 题解: 可以发现,我们关心的仅仅是每个字符出现次数的奇偶性,而且字符集大小仅有 26, 所以我们状态压缩,记 a[ ...