书签 分享 收藏 举报 版权申诉 / 21
上传文档赚钱

类型Android移动应用开发基础教程第4章课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:5183058
  • 上传时间:2023-02-16
  • 格式:PPTX
  • 页数:21
  • 大小:2.09MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Android移动应用开发基础教程第4章课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Android 移动 应用 开发 基础教程 课件
    资源描述:

    1、Android移动应用开发基础教程讲授:XXXXX第4章 广播机制本章主要内容:广播机制简介 使用广播接收器 广播接收器优先级与有序广播4.1 广播机制简介 Android的广播机制非常灵活。广播可来自于系统,也来自其他应用,甚至于应用内部的其他模块。应用程序可以只对感兴趣的广播进行注册,也只有注册了的广播才可能接收到。Android中的广播可分为两种类型:标准广播和有序广播。标准广播:标准广播在发出后,所有接收器均可接收到广播消息。各个接收器之间没有先后顺序之分。标准广播发出后,不可能被中断。有序广播:有序广播在发出后,同一时间只有优先级较高的一个接收器接收到广播消息。只有在优先级较高的接收

    2、器处理完广播消息后,广播才能继续向优先级较低的接收器继续传递。在当前接收器中,可中断广播,使后继接收器无法收到广播消息。Android提供了一套完整的API用于发送和接收广播。发送广播时,可类似于Activity使用Intent对象来传递数据。接收广播使用广播接收器(BroadcastReceiver)。第4章 广播机制本章主要内容:广播机制简介 使用广播接收器 广播接收器优先级与有序广播4.2 使用广播接收器 Android提供了一个BroadcastReceiver类,通过开展该类,并重写onReceive()方法,即可创建一个广播接收器。接收到广播消息时,onReceive()方法被执行

    3、。本节主要内容:1.静态注册广播接收器2.动态注册和注销广播接收器3.接收系统广播4.发送本地广播4.2.1 静态注册广播接收器 通过创建BroadcastReceiver的子类实现一个广播接收器后,首先需要对广播接收器进行注册。只有经过了注册的广播接收器才能接收到广播消息。静态注册是指在应用程序的清单文件AndroidManifest.xml中添加广播接收器的注册信息。下面的实例通过静态注册的方式来使用广播接收器,具体操作步骤如下:(实例项目:源代码04LearnBroadcastReceiver)编写MyReceiver.javapackage com.example.xbg.learnb

    4、roadcastreceiver;import android.content.BroadcastReceiver;public class MyReceiver extends BroadcastReceiver public MyReceiver()Override public void onReceive(Context context,Intent intent)Toast.makeText(context,收到一个广播消息,Toast.LENGTH_LONG).show();实现用于发送广播消息的sendMsg()方法package com.example.xbg.learnbro

    5、adcastreceiver;public class MainActivity extends AppCompatActivity Override protected void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);public void sendMsg(View view)sendBroadcast(new Intent(this,MyReceiver.class);4.2.2 动态注册和注销广播接收器 动态注

    6、册和注销广播接收器是指通过执行持续代码来注册和注销广播接收器,从而可由用户来控制是否启用接收器来接收广播。下面的实例说明如何动态注册和注销广播接收器,具体操作步骤如下:(实例项目:源代码04LearnBroadcastReceiver2)编写MyReceiver2.java代码,实现广播接收器package com.example.xbg.learnbroadcastreceiver2;public class MyReceiver2 extends BroadcastReceiver public static String ACTION=learnbroadcastreceiver2.My

    7、Receiver2;/定义操作 public MyReceiver2()Override public void onReceive(Context context,Intent intent)Toast.makeText(context,收到一个广播消息,Toast.LENGTH_LONG).show();实现注册广播接收器、注销广播接收器和发送广播消息的方法package com.example.xbg.learnbroadcastreceiver2;public void registerMyReceiver(View view)/注册广播接收器 if(receiver=null)rec

    8、eiver=new MyReceiver2();registerReceiver(receiver,new IntentFilter(MyReceiver2.ACTION);public void unRegisterMyReceiver(View view)/注销广播接收器 if(receiver!=null)unregisterReceiver(receiver);receiver=null;public void sendMsg(View view)sendBroadcast(new Intent(MyReceiver2.ACTION);/发送广播 4.2.3 接收系统广播 Androi

    9、d提供了一系列系统广播,在系统中发生某种事件时,系统就会自动发送对应的广播消息。例如,在系统WIFI断开或连接时,系统会发送包含了.wifi.STATE_CHANGE操作字符串的Intent的广播消息,接收器接收到该消息时,可判定当前WIFI连接是否可用。在Android SDK安装目录下的platformsandroid-25data文件夹中的broadcast_actions.txt文件中,可查看对应Android版本支持的系统广播操作字符串。要使接收器响应系统广播,需要在注册接收器时,在IntentFilter指明可响应的操作。例如,要让接收器监听WIFI连接状态变化,可在Android

    10、Manifest.xml文件中用如下代码来注册接收器:(实例项目:源代码04ReceiveSystemBroadcast)在AndroidManifest.xml文件中注册接收器 自定义的广播接收器类SysReceiverpackage com.example.xbg.receivesystembroadcast;import android.content.BroadcastReceiver;public void onReceive(Context context,Intent intent)int state=intent.getIntExtra(WifiManager.EXTRA_WI

    11、FI_STATE,0);if(state=WifiManager.WIFI_STATE_DISABLED)Toast.makeText(context,WIFI连接已关闭!,Toast.LENGTH_SHORT).show();else if(state=WifiManager.WIFI_STATE_ENABLED)Toast.makeText(context,WIFI已连接!,Toast.LENGTH_SHORT).show();4.2.4 发送本地广播 当在活动中直接调用sendBroadcast()方法发送广播时,广播默认为系统全局广播,即可被其他应用中的接收器接收。如果不希望关键的广播

    12、消息不被其他应用接收,则可使用本地广播。本地广播只能被当前应用中的接收器接收。Android提供了一个LocalBroadcastManager(本地广播管理器)来管理本地广播的注册、注销和发送等操作。下面的实例说明了如何使用本地广播。(实例项目:源代码04LocalBroadcast)public class MainActivity extends AppCompatActivity private MyReceiver localReceiver;private LocalBroadcastManager localBroadcastManager;Override protected

    13、void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/获得当前本地广播管理器 localBroadcastManager=LocalBroadcastManager.getInstance(this);IntentFilter intentFilter=new IntentFilter(MyLocalBroadcastReceiver);localReceiver=new MyReceiver();/创建广播接收器对象

    14、localBroadcastManager.registerReceiver(localReceiver,intentFilter);/注册本地广播接收器 protected void onDestroy()super.onDestroy();localBroadcastManager.unregisterReceiver(localReceiver);/注销本地广播接收器 public void sendMyBroadcst(View view)Intent intent=new Intent(MyLocalBroadcastReceiver);/用注册的操作创建Intent localBr

    15、oadcastManager.sendBroadcast(intent);public static class MyReceiver extends BroadcastReceiver public MyReceiver()Override public void onReceive(Context context,Intent intent)Toast.makeText(context,收到一个本地广播消息,Toast.LENGTH_LONG).show();4.3 广播接收器优先级与有序广播 在前面的内容中,对同一个根本消息,接收器之间没有先后顺序之分,所有接收器同时接收到广播。可在注册广播接收器时,为接收器的IntentFilter设置优先级,优先级越高的接收器先接收到广播。只有等优先级高的接收器处理完广播后,优先级较低的才能接收到广播。在AndroidManifest.xml中静态注册接收器时,可使用标签的android:priority属性来设置广播接收器优先级。例如:(实例项目:源代码04PriorityOrderBroadcast)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Android移动应用开发基础教程第4章课件.pptx
    链接地址:https://www.163wenku.com/p-5183058.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库