1.Android与MVC设计模式
Android应用基于模型-控制器-视图(Model-View-Controller, MVC)的架构模式进行设计
- 模型对象存储着应用的数据和业务逻辑。
- 视图对象知道如何在屏幕上绘制自己以及如何响应用户的输入,如用户的触摸等。
- 控制对象含有应用的逻辑单元,是视图与模型对象的联系纽带。
2.设备的像素密度
- mdpi:中等像素密度屏幕(约160dpi)。
- hdpi:高像素密度屏幕(约240dpi)。
- xhdpi:超高像素密度屏幕(约320dpi)。
- xxhdpi:超超高像素密度屏幕(约480dpi)。
3.ImageButton的android:contentDescription属性
该属性为视力障碍用户提供方便。在为其设置文字属性值后,如果用户设备的可访问性选项作了相应设置,那么在用户点击图形按钮时,设备便会读出属性值的内容
4.Activity的状态图解
图1 Activity的状态图解图1-1 Activity状态时间线
5.Android开发网页
http://developer.android.com/guide/topics/resources/providing-resources.html
6. FrameLayout
是最简单的ViewGroup组件,它不以特定方式安排其子视图的位置。
FrameLayout子视图的位置排列取决于它们各自的android:layout_gravity属性。
7.Bundle
- Bundle是存储字符串键与限定类型值之间映射关系(键值对)的一种结构。
- 在Bundle中存储和恢复的数据类型只能是基本数据类型(primitive type)以及可以实现Serializable或Parcelable接口的对象。
8.
- activity只有在暂停或停止状态下才可能会被销毁。
- 覆 盖onSaveInstanceState(...)方法,将数据暂存到Bundle对象中,覆盖onPause()方法处理其他需要处理的事情。
- 用户按了后退键后,系统会彻底销毁当前的activity。此时,暂存的activity记录(onSaveInstanceState()方法保存的记录)同时被清除。
9.Fragment生命周期
图2 Fragment生命周期10.LayoutInflater
三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别
11.
- 文字大小(text size),指定设备上显示的文字像素高度;
- 边距(margin),指定视图组件间的距离;
- 内边距(padding),指定视图外边框与其内容间的距离。
- dp(或dip),英文density-independent pixel的缩写,意为密度无关像素。在设置边距、内边距或任何不打算按像素值指定尺寸的情况下,通常都使用dp这种单位。如果设备屏幕密度较高,密度无关像素会相应扩展至整个屏幕。 1dp单位在设备屏幕上总是等于1/160英寸。使用dp的好处是,无论屏幕密度如何,总能获得同样的尺寸。
- sp,英文scale-independent pixel的缩写,意为缩放无关像素。它是一种与密度无关的像素,这种像素会受用户字体偏好设置的影响。我们通常会使用sp来设置屏幕上的字体大小。
- pt、 mm、 in,类似于dp的缩放单位。允许以点(1/72英寸)、毫米或英寸为单位指定用户界面尺寸。但在实际开发中不建议使用这些单位,因为并非所有设备都能按照这些单位进行正确的尺寸缩放配置。
12.布局参数
不以layout_开头的属性作用于组件。组件实例化时,会调用某个方法按照属性及属性值进行自我配置。
以layout_开头的属性则作用于组件的父组件。我们将这些属性统称为布局参数。它们会告诉父布局如何在内部安排自己的子元素
网友评论