第一章 Android应用初体验
1.4用户界面设计
<?xml version="1.0" encoding="utf-8"?>
ADT21开发版以后,Android布局文件已不需要该行代码。
1.4.1视图结构层级(view hierarchy)
继承至View的ViewGroup组件:LinearLayout/FrameLayout/RelativeLayout
1.4.3 字符串资源
一般默认被命名为strings.xml,也可自定义命名,但是这些文件要放在res/values目录下,并且含有一个resources根元素及多个string子元素
1.8Android编译过程
aapt(Android Asset Packaging Tool)将资源文件压缩后,打包到.apk文件。Activity类onCreate方法调用setContentView方法时,使用LayoutInflater通过反射实例化布局文件中的每一个View对象(eg:<LinearLayout/> ClassLoader.load("LinearLayout") <TextView/> ClassLoader.load("TextView"))
第二章 Android与MVC设计模式
2.1 生成Getter与Setter方法
我们知道,在安卓中,成员变量约定用m做为变量名的前缀,这样,在写getter与setter时,就是多了一个m在方法名前面,要想在eclipse自动生成方法时,忽略这个前缀,可以做如下设置
Windows->Preferences->Java->Code Style 分别对Variable type的Fields、Static Fields的Prefix list填上m与s。这样生成的方法就会忽略前缀了
2.2 Android与MVC设计模式
2.2.1 模型对象(M):存储应用的数据和业务逻辑,该对象不关心用户界面
2.2.2 视图对象(V):屏幕上可以看到的对象,即由布局文件定义的种类组件
2.2.3 控制对象(C):视图与模型对象的联系纽带。控制对象(M)被设计用来响应由视图对象(V)触发的种类事件,此外还用来管理模型对象(M)与视图对象(V)的数据流动。Android中一般是指Activity/Fragment或者Service的一个子类
2.6 添加图标资源
不同目录下为不同dpi的设备存放定制化的图片,避免只使用一套图片造成失真
mdpi:中等像素密度屏幕(约160dpi)
hdpi:高像素密度屏幕(约240dpi)
xhdpi:超高像素密码屏幕(约320dpi)