嘿,各位未来的Android大神们,今天咱们不聊高深莫测的架构,也不扯花里胡哨的动画,就来唠唠开发中最基础、最常用,但也最容易被忽视的“资源访问”。
你是否有过这样的经历?撸起袖子准备大干一场,一个findViewById(R.id.my_view)信手拈来,结果IDE无情地给你标了个红,提示“R cannot be resolved”。那一刻,是不是感觉整个世界都灰暗了?别慌,你不是一个人!今天这篇文,就是来帮你驱逐这个“红色噩梦”,让你成为资源访问的“老司机”。
第一幕:资源,到底是啥“宝藏”?
简单说,资源就是你App里除了代码之外的一切。图片、文字、颜色、布局、样式、甚至一个提示音,都是资源。把它们独立出来,是为了实现“关注点分离”。
想象一下,如果你的App里的所有文字都硬编码在代码里,那要做个英文版,你是不是得把成千上万行代码里的中文一个个找出来替换掉?想想就头大对不对?但有了资源系统,你只需要在另一个文件里提供一套英文的翻译,系统会根据用户的语言设置自动匹配。是不是瞬间觉得谷歌工程师很贴心?
所以,把资源管好,就是App国际化和适配多种设备的第一步,也是专业开发的体现。
第二幕:宝藏分类图鉴——你的资源都在哪儿?
进入你的Android项目,res/目录就是你的藏宝洞。里面分门别类,井井有条:
drawable/:你的图片仓库。.png,.jpg,.svg还有用XML写的矢量图都住这儿。现在更推荐用mipmap来存放应用图标,因为它会为不同密度的屏幕提供更优的缩放处理。layout/:UI界面的设计图纸。你的Activity、Fragment长啥样,就在这里用XML定义。values/:核心数据保险柜。这里面的门道最多:
-
strings.xml:文字锦囊。所有要显示给用户看的文字都应该放在这里。colors.xml:色彩魔法颜料。定义你的主题色、背景色等。dimens.xml:尺寸度量衡。定义边距、字体大小等,方便统一管理。styles.xml:UI的穿搭指南。定义一组统一的样式,让你的控件看起来风格一致。
mipmap-*/:应用图标的VIP套房。专门为不同屏幕密度存放应用图标的地方。raw/和assets/:原生文件小黑屋。可以放音乐、视频、数据文件等。它们俩的区别是:raw里的文件会被生成一个资源ID,方便通过R.raw.file访问;而assets里的不会,需要用AssetManager像访问文件路径一样来读取,更灵活,可以建子文件夹。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



