版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
张霞深圳职业技术学院Android应用开发案例教程(AndroidStudio第二版)
0103020405AndroidUI设计图像和动画数据存储广播Broadcast与服务Service媒体播放与录制Activity与多个用户界面07网络编程技术书目录06第4章
广播与服务Android应用开发案例教程(AndroidStudio第二版)4.1消息广播4.2系统服务4.3后台服务章目录4.1消息广播-÷×+在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”,而不管你“听不听”,也就是不管你接收方如何处理。广播可以被一个以上的应用程序所接收,也可能不被任何应用程序所接收。4.1消息广播01Android广播机制三要素广播(Broadcast):用于发送广播,是一种运用在应用程序之间的传递消息的机制。广播接收器(BroadcastReceiver):用于接收广播,是对发出来的广播进行过滤、接收、响应的组件。意图内容(Intent):用于保存广播相关信息。4.1消息广播02实现广播和接收机制有以下5个步骤12创建Intent对象,设置Intent对象的action属性。Intentintent=newIntent();intent.setAction("abc");编写需要广播的信息内容,将需要广播的信息封装到Intent中,通过Context的sendBroadcast()方法,将Intent广播出去。intent.putExtra(“hello”,“你好,这是一条广播信息")sendBroadcast(intent);4.1消息广播34编写一个继承BroadcastReceiver的广播接收器classTestReceiverextendsBroadcastReceiver
{
@Override
publicvoidonReceive(Contextcontext,Intentintent)
{
/*接收到广播后做出的响应*/
}在配置文件AndroidManifest.xml中注册广播接收类。5销毁。执行onReceive()方法时系统启动一个程序计时器,在很短时间内广播接收器会被销毁,因此广播不适合传递数据量大的信息。4.1消息广播【例4-1】一个简单的消息广播程序示例设计一个广播的发送程序,单击“发送广播”按钮后,程序把消息广播出去;设计一个广播接收器,一旦收到消息,广播接收器就把消息显示到指定的界面。简单的消息广播程序运行效果4.1消息广播4.2系统服务(系统管理和系统功能)4.3后台服务章目录4.2系统服务Android有许多标准系统服务,如窗口管理服务WindowManager、通知管理服务NotificationManager、振动管理服务Vibrator、电池管理服务BatteryManager等。系统服务实际上可以看作一个对象,通过Activity的getSystemService()方法可以获得指定对象(系统服务)。4.2系统服务系统服务实际上可以看作一个对象,通过Activity的getSystemService()方法可以获得指定对象(系统服务)。Android有许多标准系统服务(SystemService),如窗口管理服务WindowManager,通知管理服务NotificationManager、振动管理服务Vibrator、电池管理服务BatteryManager等。接下来介绍两个常见的系统管理服务:系统通知服务Notification系统定时服务AlarmManager4.2.1Android的系统服务介绍01系统通知服务NotificationNotification是一种具有全局效果的通知,在手机的通知栏显示。当应用程序向系统发出通知时,它先以图标的形式显示在通知栏中,用户下拉通知栏可以查看通知的详细信息。Notification提供了文字、声音、振动等属性。Notification主要涉及NotificationCompat.Builder类和NotificationManager类。调用NotificationManager对象的notify()方法,把通知发送到状态栏。4.2.1Android的系统服务介绍完成一个系统通知服务,涉及到的知识点:通知服务Notification通知服务的创建NotificationCompat.Builder通知服务管理类NotificationManager服务名称NOTIFICATION_SERVICE我们创建的Notification实例最终以什么样的方式发送给系统?系统是如何接收并显示?4.2.1Android的系统服务介绍【例4-2】系统通知服务示例系统通知服务的示例4.2.1Android的系统服务介绍02系统定时服务AlarmManager一个定时任务管理器,又称为系统闹钟服务、系统时钟服务。是一种系统级别的提示服务,可以在约定的时间发送广播、启动服务、启动Activity等。例如,我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent延时意图(PendingIntent)可以协助完成定时服务。系统定时服务AlarmManager的特点Pending表示的是待定、等待、即将发生。PendingIntent是一种处于pending状态的意图,有一个Intent将在某个待定的时刻发生。可以指定单次执行的定时任务,也可以指定重复运行的周期性任务。PendingIntent延时意图4.2.1Android的系统服务介绍系统定时服务AlarmManager调用步骤如下:步骤123创建ALarmManager对象ALarmManageram
=
(ALarmManager)getSystemService(ALARM_SERVICE);定义一个延时意图PendingIntent发出广播调用ALarmManager的set方法,设置定时或重复提醒。【例4-3】AlarmManager时钟服务示例AlarmManager服务主要有下面两种应用:【例4-3】AlarmManager时钟服务示例在指定时长执行某项操作周期性地执行某项操作4.2.2系统功能的调用Android系统功能有很多,例如浏览网页、从Google搜索内容、显示地图、路径规划、拨打电话、发送短信、发送Email、打开录音……Android系统功能需要通过Intent来调用,Intent是Android非常重要的组件,回顾2.3节,根据开启目标组件的方式不同,Intent被分为两种类型:显式意图和隐式意图。Intent调用系统功能,可以显式调用或隐式调用,隐式调用需要Action属性。4.2.2系统功能的调用Intent调用系统功能,可以显式调用或隐式调用,隐式调用需要设置Action的属性。setAction()举例:呼叫电话号码的Action属性值为Intent.ACTION_CALL
或Intent.ACTION_DIAL在活动程序中调用setAction方法:intent.setAction(Intent.ACTION_CALL);或intent.setAction(ent.action.DIAL);4.2.2系统功能的调用调用系统功能示例312//打电话
Uriuri=Uri.parse("tel:138189001");
Intentit=newIntent(Intent.ACTION_DIAL,uri);
startActivity(it);//看网页
Uriuri=Uri.parse("");
Intentit=newIntent(Intent.ACTION_VIEW,uri);
startActivity(it);//发短信
Uriuri=Uri.parse("smsto:1391001001");
Intentit=newIntent(Intent.ACTION_SENDTO,uri);
it.putExtra("sms_body","helloworld!");
startActivity(it);4.2.2系统功能的调用【例4-4】调用系统功能示例调用“拨打电话”系统功能4.1消息广播4.2系统服务4.3后台服务Service章目录Service
和Activity都是Context的子类。后台服务(Service)是一种类似于Activity的组件,但Service没有用户操作界面,也不能自己启动,其主要作用是提供后台服务调用。Service不像Activity那样当用户关闭应用界面时就停止运行,Service会一直在后台运行,除非明确命令其停止。4.3后台服务通常使用Service为应用程序提供一些只需在后台运行的服务或不需要界面的功能,例如从Internet下载文件、音乐播放等。Service的生命周期只有三个阶段,即onCreate、onStartCommand、onDestroy。设计一个后台服务程序,有以下三个步骤:4.3后台服务1创建Service的子类重写onCreate()方法,创建后台服务;重写onStartCommand()方法,启动后台服务;重写onDestroy()方法,终止后台服务,并删除所有调用。通常后台服务的启动,是放在一个Activity。Service的生命周期只有三个阶段,即onCreate、onStartCommand、onDestroy。4.3后台服务2创建Activity的子类新建Intent对象,建立Activity与Service的关联。调用Activity的startSevice(Intent)方法启动Service后台服务;调用Activity的stopService(lntent)方法关闭Service后台服务。3检查配置文件AndroidManifest.xml在<application>标签中查看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妊娠期生殖器疱疹的健康宣教
- 脓疱型银屑病的临床护理
- JJF(陕) 013-2019 微量总有机碳分析仪校准规范
- 《解读自由基》课件
- 北师大版不等式课件
- 大班级风采展示活动策划计划
- 掺混肥相关行业投资规划报告
- 充换电站相关行业投资方案范本
- 割灌机相关行业投资方案
- 课程研究小组的组织与管理计划
- 2024高血压健康知识讲座
- 结直肠癌中西医结合治疗
- 京东物流部管理制度
- 北京开放大学《自动控制技术及应用》终结性考试复习题库(附答案)
- 高中高一级部拔河比赛活动实施方案
- 航空机务专业职业生涯规划书
- 八年级英语上学期期末考试(深圳卷)-2023-2024学年八年级英语上册单元重难点易错题精练(牛津深圳版)
- 迎元旦趣味活动及知识竞赛试题及答案
- SH/T 3543-2007 石油化工建设工程项目施工过程技术文件规定
- 建筑之歌课件PPT
- 血透室运用PDCA循环降低血透病人长期深静脉留置导管的感染率品管圈成果汇报
评论
0/150
提交评论