从这里开始,进入android的专业开发大门。
活动,是android第一个大的组件。
android开发需要涉及到类的继承,所有活动从Activity这个类继承。
接下来是方法的重写或者说覆盖。重定义对应方法的行为。
所有的活动需要在AndroidManifest.xml中注册报道。
toast是android中将一下信息提示给用户,过段时间自动消失的方式。
一般一个活动中Qt里面是定义callback()回调函数来处理交互。
在android中,是定义监听器来实现交互。
intent可以支持不同活动之间的交互,同时还夹带私货-传数据。
活动的生命周期是非常重要的概念。android使用任务来管理活动,一个任务就是一组存放在栈里的活动的集合。这个栈称为返回栈。
每个活动最多有四种状态:
运行态,暂停态,停止态,和销毁态。
活动类定义了7个方法来切换不同状态:
onCreate()
onStart()
onResume()
onPause()
onStop()
onDestroy()
onRestart()
活动被回收之前,有必要保存其使用数据,一般是把它们包装到一个bundle类型的对象中。然后传给onCreate()
活动启动模式分为4种:standard,singleTop,singleTask,和singleInstance。
standard是进栈出栈,深入多少,就退回多少。
singleTop判断一下栈顶和新开活动是否相同,若相同则不会重启。
singleTask不光判断栈顶,而是判断栈中所有的活动和新开活动是否相同,如果相同,则把这此活动之上的活动都退栈。
singleInstance会启用一个新返回栈来管理这个活动。具体看第77页的图。我称之为pingpong栈模式。
TextView显示文本,
EditText输入文本,
输入提示是通过一个hint的属性来实现,
ImageView可以加载图片。
ProgressBar显示进度条。
AltertDialog显示警告。
PorgressDiag进度对话框。
4种布局指的是线性布局,相对布局,框架布局和表布局。
其中后两种使用较少。
这4种布局都需要考虑的问题是怎么合理地布满手机屏幕。为此,通过设置一些属性来实现。
GUI的布局可以用xml文件当模板来复用。这可以减少重复代码。
自定义的控件也是同理。
为了保持屏幕和谐,一般用dp描述控件布局,而用sp描述文字的大小。这样显示和屏幕可以自适应。
稍后我会写博文分析一下微信的聊天界面的android实现。