- 1、本文档共95页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章Android中资源访问
;3.1Android资源简介
3.2string资源
3.3color资源
3.4dimen尺寸资源
3.5数组资源
3.6drawables资源
3.7layout布局资源
3.8menu菜单资源
3.9任意xml资源
3.10样式和主题资源
3.11使用原始资源
3.12国际化和资源自适应
;Android应用的源代码大致可分为如下三大类:
1)Java源文件:应用的中的Activity , service , BroadcasrReceiver , ContentProvider四大组件都是采用 Java代码来实现的。
2)资源文件:主要以各种 XML文件为主,还包括.png,jpg等图片、声音文件。
3)有两个文件夹,res和assets,它们就是用来保存资源文件的。其中,assets一般保存的是原生的文件,如mp3,Android不能直接访问,必须通过AssetsManager 类以二进制流的形式来读取。res中的资源可以通过R资源类直接访问。assets中的资源很少用到,res中的资源经常使用。
;Android资源
无法直接访问的原生资源,保存在assets目录下
可通过R资源清单类访问的资源,保存在res件夹下
;;资源(resources)的类型(AAPT编译)
;资源(resources)文件的使用
代码中使用(R.java)
setContentView(R.layout.main);
Button bn=(Button)findViewById(R.id.button1)
;资源(resources)文件的使用
其他资源文件中使用
TextView android:layout_width=“fill_parent”
android:layout_height=“wrap_content”
android:text=“@string/styled_welcome_message”
android:textColor=“@color/opaque_red”
android:textSize=“@dimen/sixteen_sp”/
;项目中的assets(资产)
assets文件夹一般保存原生的文件,需要通过AssetManager类以二进制流的形式来读取
?private?Bitmap?getImageFromAssetFile(String?fileName){ ??
????Bitmap?image?=?null; ??
????try{ ??
????????AssetManager?am?=?context.getAssets(); ??
????????InputStream?is?=?am.open(fileName); ??
????????image?=?BitmapFactory.decodeStream(is); ??
????????is.close(); ??
????}catch(Exception?e){ ??
???????? ??
????} ??
????return?image; ??
}??
assets中不受android平台的约束,可以建立任意子目录,但访问不太方便,一般用的不多。
以下学习,没有特别说明,都是指res文件夹中的资源;资源的小结
与值相关的(字符串,颜色值,尺寸值,整形值)放在
/res/values/下
其他的放在 /res/类型名/ 下
代码中访问时常用的方法有:
findViewById( Id );
Resources res = getResources(); Drawable d=res.getdrawable( Id );
;res/raw和assets比较(相同点)
两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制:
;res/raw和assets比较(不同点)
res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。
res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹
;res/raw和assets比较(不同点)
// res/raw
InputStream is = getResources().openRawResource(R.id.filename);
//assets
AssetManager am = null;
am = getAssets();
InputStream is = am.op
您可能关注的文档
最近下载
- 2024广东德良投资集团有限公司招聘7人笔试参考题库及答案解析.docx
- 2024年内蒙古赤峰市中考英语试卷真题(含答案解析).docx
- 人教版化学高二上学期期末试卷及解答参考(2024-2025学年).docx VIP
- 施工应急预案专项施工方案.docx
- 模板工程专项施工方案(钢背楞)-图文.doc VIP
- 小学数学思维培养现状及发展策略研究.DOC
- 课题申报书:基于新时代红色基因传承的中职“课程思政”教学改革方法与实践研究.docx VIP
- 2024北京海淀初二(下)期末语文试卷及答案 .pdf VIP
- 2024广东德良投资集团有限公司招聘2人笔试备考试题及答案解析.docx
- 基于plc的自动售货机系统设计—学士学位论文.doc VIP
文档评论(0)