初识Android | 青训营笔记
这是我参与「第四届青训营」笔记创作活动的的第2天
Android基础组件
界面组件
- Activity:(界面容器)用于前台交互、程序入口、布局容器
-
生命周期:
onCreate():创建时回调,一般在此处创建视图和绑定数据onStart():已启动,即将进入前台onResume():与用户开始交互,位于Activity栈顶onPause():Actvity失去焦点或已暂停,Activity界面部分可见,下一个生命周期是onResume()或onStop()onStop():Activity不再可见,下一个回调是onRestart()或onDestory()onRestart():重启已停止的Activity,下一个回调是onStart()onDestory():销毁Actvity,释放该Activity的所有资源onSaveInstanceState():在非正常关闭时回调,用于保存数据,不支持持久化数据onRestoreInstanceState()/onCreate():用于恢复数据
-
启动模式(android:launchMode):
- standard:默认模式,允许重复;
- singleTop:不允许重复;
- singleTask:不允许同一个栈内重复;
- singlestance:整个系统不允许重复;
-
Fragment:未解;
图示如下:(打开页面:1-2-3;关闭页面:4-5-6;)
-
服务组件:
- Service:
-
Service一种可以在后台执行长时间运行操作而没有用户界面的应用组件,需要在AndroidManifest.xml配置相关信息。 -
Service与Activity一样,是Android的四大组件之一。Activity是看得见的,而Service则是看不见的。看得见的Activity一般承担显示界面、控制的功能,而Service则承担后台任务。 -
生命周期:
-
onCreate():和Activity的onCreate()方法一样,是第一个被执行的生命周期方法,可以在这做一些初始化操作,并且只会被执行一次;哪怕会启动多次服务或绑定多次服务。启动和绑定状态均会经历该状态 -
onStartCommand():调用startService()启动服务后,将会执行该方法。一旦执行此方法,服务即会启动并可在后台无限期运行。如果实现此方法,则在服务工作完成后,需要通过调用stopSelf()或stopService()来停止服务。调用一次startService,将会调用一次该方法。 -
onBind():调用bindService()绑定服务后,将会执行该方法。在该方法的实现中,必须通过返回IBinder提供一个响应,供客户端用来与服务进行通信。 -
onUnbind():当所有绑定的客户端解除绑定时,系统将会调用该方法。 -
onDestory():当服务不再使用且将被销毁时,系统将调用此方法。服务应该实现此方法来清理所有资源。当组件需要停止一个启动服务时,需要调用stopService();解除绑定服务时,需要调用unbindService()。
-
-
广播组件
-
Broadcast:(是指在组件之间传播数据(Intent)的一种机制),有如下几种广播:
-
系统广播:Android中内置了多个系统广播:只要涉及到手机的基本操作(如开机、网络状态变化、拍照等等),都会发出相应的广波,每个广播都有特定的Intent - Filter(包括具体的action)
-
普通广播:特点是完全异步,sendBroadcast()方法来发送,通过onReceive方法接收。
-
有序广播:用sendOrderedBroadcast发送,
-
数据组件
- ContentProvider:(是指作为一个平台,提供数据的共享,并且提供数据的增删改查功能。主要应用于应用之间的数据共享场景)
意图组件
- Intent:(是指在一个组件中启动App中的另一个组件或者是启动另一个App的组件)
Android通信组件
- Handler
- Binder 还未理解,后续更新。