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. 类和 Json对象
  2. Android菜鸟日记10 SQLite 数据库
  3. Android四大组件之~~BroadcastReceiver
  4. Android(安卓)Studio3.3.2 +OpenCV3.4.3图像处理
  5. android中Touch事件处理
  6. android 使用Intent传递对象 Serializable 或者 Parcelabel 《第
  7. popwindow动画显示消失,activity切换动画
  8. android Activity生命周期详解(图文)
  9. Android(安卓)Bundle类

随机推荐

  1. Android(Java) GMT时间转换
  2. Android的SIM卡名片导入流程
  3. Android中隐式Intent的匹配规则
  4. Android 开发之 ---- 底层驱动开发(二)
  5. android 丛书
  6. Android——按钮的事件监听
  7. 如何获取Android原生代码所有Branchs和Ta
  8. 一起学android之底部菜单TabHost的实现(9)
  9. Android emulator模拟器启动错误
  10. Android LayoutAnimation