Activity生命周期
一个对象从创建到销毁中间经历的状态


创建--->运行 onCreate onStart onResume
可见可操作

运行--->销毁 onPause onstop ondestory

运行--->停止(不可见 不可操作)
onPause onstop
停止--->恢复
onReStart onStart onResume

运行--->暂停 (可见 不可操作) onPause
暂停--->恢复 onResume

当Activity处于暂停或是停止状态的时候,更高优先级的应用需要内存时
activity可能会被终止


Service服务 运行在后台,没有界面

创建Service要素
1、继承service
2、清单文件中进行配置
android:name="com.example.ex_service.MyService"
包名.类名

启动服务:
调用startService(service );
注意:
第一次启动服务的时候,会调用onCreate onStartCommand
当服务没有被结束之前,多次点击只会调用onStartCommand方法

关闭服务:
调用stopService(service );


绑定服务:
调用bindService(service, conn, Context.BIND_AUTO_CREATE);
参数:
第一个:Intent对象
第二个:ServiceConnection对象(需要声明称成员变量)
第三个:Context.BIND_AUTO_CREATE
当我们绑定服务的时候,如果服务不存在,会自动创建

调用 oncreate onBind

解除绑定:
调用unbindService(conn);

调用 onUnBind onDestory


通过绑定去调用service中的方法步骤:
1、去声明一个普通类Mybinder,继承Binder
2、在类Mybinder类里面,调用service服务里的方法
3、创建一个Mybinder类型的对象
4、在OnBind()方法中,去返回Mybinder对象
5、在activity里的onServiceConnected中,去获取IBinder类型的对象
然后只需把它强转称Mybinder类型的对象就可以了
这样就能去调用Mybinder类型的对象里面的方法了

注意:
onBind()返回一个非空的IBinder对象时,
onServiceConnected这个方法才会被调用


BroadCastReciver广播接收者
特性:单向 群发

广播的创建的要素:
1、创建的类继承BroadcastReceiver
2、重写onReceive()方法
3、在清单文件进行配置
android:name="com.example.ex_broadcastreciver.MyReceiver"
包名.类名


场景:
1、接收外部的广播
收短信

权限
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

在清单中进行配置
<intent-filter >
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>


2、创建应用 自己发广播

Intent intent = new Intent();
//设置广播的过滤条件
intent.setAction("www.sss.com");
//发送广播
sendBroadcast(intent );

跨进程通讯



在代码中去设置广播
1) MyReceiver receiver = new MyReceiver();
2) 在onstart()方法中注册:
IntentFilter filter = new IntentFilter();
filter.addAction("www.sss.com");
3) 注册广播接收者
registerReceiver(receiver , filter );

4) 在onstop()注销广播
super.onStop();
unregisterReceiver(receiver);



两种广播的区别:
xml :只要条件匹配,就会触发(不管应用是否开启)
code:灵活控制

更多相关文章

  1. android 使用Intent传递对象 Serializable 或者 Parcelabel 《第
  2. Android非UI线程访问UI线程的方法总结
  3. 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
  4. android 调试方法
  5. 整理android环境离线安装搭建方法——支持android 2.3.3和androi
  6. Android电话拨号器实现方法

随机推荐

  1. Android(安卓)bluetooth low energy (ble
  2. Android特殊字体的处理---加下划线等
  3. 编译android sdk时的出错out/host/linux-
  4. android点击一个Button打开另外一个activ
  5. Android(安卓)OTG U盘文件读写
  6. Android之Kotlin入门:常量和静态方法
  7. Android之AppWidget的按钮事件开启Activi
  8. Android项目-几种常见的应用架构
  9. Android之实现上下左右翻页效果
  10. Android学习笔记05:ProgressBar的使用