码迷,mamicode.com
首页 > 移动开发 > 详细

1.Android基本知识点

时间:2018-04-12 22:33:22      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:定义   ini   ssi   发送   not   权限   依次   事件   move   

1、四大组件是什么与它们的生命周期(及Fragment)。

  Activity: 通过Intent来进行通信,intent中包含动作和动作的数据 

  BroadcastReceive:可以在广播中启动一个Activity或者Service来响应接收到的信息,或者用NotificationManager 来通知用户,可以对外部数据进行过滤,只对感兴趣的事件进行响应。

    普通广播:Context.sendBoradCast(intent)

    有序广播:Context.sendOrderBroadcast(intent,receiverPermission),receiverPermission决定广播的级别,值在-1000到1000之间,值越大,发送的优先级越高。接收的广播可以通过intentfilter中的priority设置优先级。abortBroadcast()可以截断广播。

    异步广播:通过Context.sendStickyBroadcast(intent)发送。还有sendStickyOrderedBroadcast(intent, resultReceiver, scheduler,  initialCode, initialData, initialExtras)方法,该方法具有有序广播的特性也有异步广播的特性;发送异步广播要: <uses-permission android:name="android.permission.BROADCAST_STICKY" />权限,接收并处理完Intent后,广播依然存在,直到你调用removeStickyBroadcast(intent)主动把它去掉。

    监听广播Intent的步骤:1.定义一个类继承BroadCastReceiver,然后重写onReceive()方法。

              2.静态注册,直接在清单文件中注册或者动态注册。代码中registerReceiver(receive,intentfilter),注销unregisterReceiver(receive)。

    广播的生命周期只有10s,如果做了耗时的操作,会导致ANR。

  Service:使用方法:1.继承Service,清单文件中注册。通过startService()或者bindService()方法启动。

通过startService()方法启动的服务和调用者没有关系,即使调用者关闭了,服务仍然运行想停止服务要调用Context.stopService(),此时系统会调用onDestory(),使用此方法启动时,服务首次启动系统先调用服务的onCreate()-->onStart(),如果服务已经启动再次调用只会触发onStart()方法

使用bindService()启动的服务与调用者绑定,只要调用者关闭服务就终止,使用此方法启动时,服务首次启动系统先调用服务的onCreate()-->onBind(),如果服务已经启动再次调用不会再触发这2个方法,调用者退出时系统会调用服务的onUnbind()-->onDestory(),想主动解除绑定可使用Contex.unbindService(),系统依次调用onUnbind()-->onDestory();

  ContentProvider:其他应用可以通过ContentResolver类(见ContentProviderAccessApp例子)从该内容提供者中获取或存入数据

1.Android基本知识点

标签:定义   ini   ssi   发送   not   权限   依次   事件   move   

原文地址:https://www.cnblogs.com/forresthope/p/8810315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!