之前有点小基础了android。但大学毕业后,发现一直读的东西其实都不怎么清晰,所以就想来博客写点笔记分享一下。来进一步提升android的知识。参考书籍《android 4高级编程(第三版)》。
在以前写程序的时候一直感觉android的各个组件是怎么和androidManifest组合一起的。感觉很奇怪。
一.Manifest
我们都知道android中必有一个Manifet,(这里有一个installLocation属性。包含两个值preferExternal和auto,具体就不用解释了。是用来指定是否允许应用层安装在外部存储器。没有指定的话就只能安装到内部存储器了)。其他的配置,application,activity,use-permission,等等这些如果不懂的话还是建议在去完整的看看书本。
二. 分离资源
res下的文件夹为各种资源的存放目睹,drawble是我们比较熟悉,他的三个不同后缀的文件是对应不同的分辨率图片,
Value这个对于我这种初学者就比较不熟悉了,string.xml是字符串的资源,格式都很简单。支持HTML标签,如
<string name="hello_world"><b>Hello world!</b></string>
还支持
<plurals>标签,复数形式,这样就可以根据不同的熟练定义不同的字符串。如:
<plurals name="unicornCount">
<item quantity="one"> One unicorn</item>
<item quantity="other"> %d unicorn</item>
<span > </span></plurals>
如何获取unicornCount呢?在代码中。需要用到Resources的getQuantityString获取。
有一个要特别说明一下,去美图秀秀面试的时候。问一个px、dp、sp、pt、in、mm。这几个是怎么转换的。我当年就蒙了,平常用着都没注意下,然后来看了一下也不是很记得,这边就在说一下了
1.in和mm是物理尺寸。这个就不用多说了。大家应该小学都说过。in物理英寸,mm物理毫米。
2.pt(Points ,磅):屏幕物理长度单位, 表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。
3.px 是屏幕像素。就是屏幕分辨率的 320*480,1280*720。
dp :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px。
sp :(scaled pixels—best for text size),带比例的像素,与dp相似,但还会根据用户的字体大小偏好来缩放。Google建议使用sp作为文本的单位,其它用dip。其他百度一下有一大堆,我就不说了。