第一行代码--笔记02

chapter4

动态添加碎片主要分为 5 步。

  1. 创建待添加的碎片实例。
  2. 获取到 FragmentManager,在活动中可以直接调用 getFragmentManager()方法得到。
  3. 开启一个事务,通过调用 beginTransaction()方法开启。
  4. 向容器内加入碎片,一般使用 replace()方法实现,需要传入容器的 id 和待添加的碎片实例。
  5. 提交事务,调用 commit()方法来完成

chapter5

1.创建广播接收器;新建一个类,继承自BroadcastReceiver();重写OnReceive()方法;(下面是动态注册广播接收器关键代码)

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVIVY_CHANGE");
networkChangeReceiver = new NetworkChangeReceiver();
registerReceiver(networkChangeReceiver,intentFilter);

2.静态广播接收器;
重新新建一个类BootCompleteReveicer继承BroadcastReciver(),重写方法OnReveice();然后在manifest.xml中进行注册;


z在标签中加入想要接收的广播;

    

最后记得声明权限;

3.创建发送广播(以下是发送标准广播关键代码)
Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);
凡是监听com.example.broadcasttest.MY_BROADCAST广播的接收器全部会接收到消息。
4.发送有序广播

Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
sendOrderedBroadcast(intent,null);
然后在manifest设定接收的优先级;
如果要截断广播,可在onReceive()中加入abortBroadcast();

5.使用本地广播;解决安全性问题;使用了一个 LocalBroadcastManager 来对广播进行管理,并提供了发送广播和注册广播接收器的方法

LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);//获取实例;
Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
localBroadcastManager.sendBroadcast(intent);//发送本地广播

注册本地广播监听器:
localBroadcastManager.registerReceiver(localReceiver,intentFilter);

优势:1,防止机密数据泄露;2.没有安全漏洞隐患;3.更高效;

6.总结:广播的使用分收发方;简单讲;

发方的思路是新建一个intent,包含要发出的"广播特征";然后sendBroadcast(intent)即可。
收方的思路:新建一个Receiver implement BroadcastReceiver()继承自BroadcastReceiver,在onReceiver()中实现广播的

功能,比如强制下线功能。然后在manifest.XML中注册该广播
,

< action name = "广播特征" />

一收一发,实现了基本的广播功能。

你可能感兴趣的:(第一行代码--笔记02)