笔记安卓四大件

1、Activity活动

1、用户可视化界面,为用户创造一个完成操作指令的窗口。创建完毕Activity之后,需要调用setContentView()方法来完成界面的显示;以此来完成用户交互的入口。App都几乎都依托于Activity,所以Activity是开发中用的最多的一个组件。
2、一个活动通常就是一个单独的窗口。
3、活动之间通过Intent进行通信。
4、AndroidMainfest.xml配置文件中声明,否则系统将不识别也不执行该程序。android studio会自动生成,eclipse需手动添加。
5、生命周期:Activity Stack活动栈,活动以栈的形式进行
a、运行中:位于栈顶,可视,可与用户交互
b、暂停:失去焦点,不能交互,但是可见。当一个新的非全面屏或者透明的活动压在上面是就是暂停,数据被保存,在系统内存极低的情况下被销毁
c、停止:完全被另一个活动覆盖,或者点击home被进入后台。虽然数据被保存,但是系统用到别的地方的内容时,会自动销毁该活动
d、销毁:我们点击返回或者系统运存不够时,会自动将活动从栈中销毁,被系统回收。
安卓活动

2、Service服务

1、通常用作后台处理时的逻辑,和Activity一样,它存在自己的生命周期,需要在AndroidMainfest.xml配置相关信息。服务是安卓实现程序后台的解决方案,适合那些执行不需要和用户交互但是还要求长期运行的任务。有start Servicehe 和 bind Service.
2、Service状态有两种:
a、started:应用程序组件调用startService()方法启动服务时,服务处于started状态。
b、bound:应用程序组件调用bindService方法绑定服务器时,服务处于bound状态。
3、startService:只是启动Service,启动它的组件和Service无关联,只有Service调用stopSelf或者其他组件调用StopService服务才会终止。
bindService:这个方法启动Service,其他组件可以通过回调函数获取Service的代理对象和Service交互,而这两方也进行了绑定,当启动销毁是,Service也会进行UNBind操作,当发现所有的绑定都都进行UNBind时才会销毁Service。
安卓服务

3、Broadcast Receive 广播接受者

1、广播是一种广泛运用在应用程序之间传输信息的机制。而广播接受器是对发出来的广播进行过滤并响应的一类组件。可以使用广播接收器来对外部事件做一个响应。广播接收器既可以在AndroidMainfest.xml中注册,也可以在运行时的代码中使用Context.registReceive()进行注册。只要注册了,当事件来临,即使程序没有启动,系统也会在需要的时候启动程序。各种应用还可以通过Context.sendBroadcast将它们自己的intent广播给其他应用程序。
2、你的应用可以使用它对外部事件进行过滤,只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力,例如闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。
3、广播接收者的注册有两种方法,分别是程序动态注册(在运行时的代码中使用Context.registerReceive()进行注册)和AndroidManifest文件中进行静态注册。
4、动态注册广播接收器特点是当用来注册的Activity关掉后,广播也就失效了。静态注册无需担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器也是打开着的。也就是说哪怕app本身未启动,该app订阅的广播在触发时也会对它起作用。

4、Context Provider内容提供者

1、android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。其他应用可以通过ContentResolver类从该内容提供者中获取或存入数据。
2、只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内3、ContentProvider实现数据共享。ContentProvider用于保存和获取数据,并使其对所有应用程序可见。这是不同应用程序间共享数据的唯一方式,因为android没有提供所有应用共同访问的公共存储区。
4、开发人员不会直接使用ContentProvider类的对象,大多数是通过ContentResolver对象实现对ContentProvider的操作。
5、ContentProvider使用URI来唯一标识其数据集,这里的URI以content://作为前缀,表示该数据由ContentProvider来管理。

猜你喜欢

转载自blog.csdn.net/weixin_44440669/article/details/119238704