
2.5 实验:Android基本组件的应用
本章主要介绍了Android系统中常用的组件:Activity(活动)、Service(服务)、Intent(意图)和BroadcastReceiver(广播接收器)等。为了加深对这些组件知识的理解和对读者实践的指导,下面介绍几个典型的实验。
2.5.1 实验目的和要求
●掌握Intent和Activity的使用。
●掌握Intent在应用程序Activity间启动、停止和传输信息。
●掌握Service的创建与启动,并掌握从后台启动Service来运行耗时进程。
●掌握BroadcastReceiver的创建及两种注册方法。
2.5.2 题目1 Intent和Activity应用
1.任务描述
本次实验的目的是让读者熟悉Intent和Activity的使用。Intent最常用的用途是在应用程序的Activity间传输信息,并实现通过输入用户名和密码来模拟系统登录的小程序。
项目界面及运行结果分别如图2-17a与图2-17b所示。
图2-17 登录界面及运行结果
a)登录界面 b)登录成功
2.任务要求
1)完成Android开发平台的搭建及相关配置。
2)创建项目并熟悉文件目录结构。
3)实现例程,输入“用户名,密码”等实验步骤。
4)输入用户名和密码,登录时如果用户名和密码错误,就会出现“用户名和密码错误!”提示。如果用户名为“lth”,密码为“123”,则登录成功。然后切换到另一页,在另一页面显示用户名。
3.知识点提示
本任务主要用到以下知识点。
1)Activity的创建及相应生命周期函数的调用。
2)Intent的创建及在不同Activity之间的传递。
3)用户输入的用户名和密码与系统预设定的用户名和密码相同,则提示登录成功,否则提示登录失败。
4.操作步骤提示
1)创建项目,新建一个Android工程并命名为activity_2_intent_test。
2)根据项目界面添加布局文件。
3)编辑MainActivity.java,主要实现用户名和密码的接收,并且判断是否符合登录条件。如果用户名或密码错误,则弹出“用户名或密码错误”提示;如果正确,负责从当前Activity切换到另一个Activity,并以Intent参数的形式把用户名传递给第2个Activity。
4)创建SecondActivity,主要实现从第1个Activity中接收Intent,把Intent中的用户名参数提取出来并显示在界面上。
5)修改AndroidManifest.xml文件,对两个Activity进行声明。
2.5.3 题目2 用Service实现简单音乐播放器
1.任务描述
本次实验的目的是让读者熟悉Service组件的使用。使用Service的一种典型示例:用户一边在手机上操作其他应用程序,一边在手机上听音乐。而播放音乐就可以使用Service组件在后台来实现。
项目界面及运行结果分别如图2-18a与图2-18b所示。
图2-18 应用程序界面及运行结果
a)应用程序界面 b)正在播放音乐
2.任务要求
1)完成Android开发平台的搭建及相关配置。
2)创建项目并熟悉文件目录结构,在项目文件夹下的res下创建raw文件夹,然后放入一个MP3格式的音乐文件。
3)程序中有“播放音乐”和“停止播放”按钮,当单击“播放音乐”按钮时,后台开始播放音乐,如图2-18b所示,当单击“停止播放”按钮时,界面则显示“音乐停止播放”。
3.知识点提示
本任务主要用到以下知识点。
1)Service的创建及相应生命周期方法的实现。
2)音乐媒体播放类的使用。
3)修改AndroidManifest.xml文件,对Service组件进行声明。
4.操作步骤提示
1)创建项目,新建一个Android工程并命名为activity_2_intent_test。
2)根据项目界面添加布局文件。
3)编辑MainActivity.java,主要实现两个按钮的OnClickListenter事件,在“播放音乐”按钮中通过Intent启动Service,在“停止播放”按钮中停止Service。
4)创建MusicService.java,主要实现Service功能,在onStartCommand()方法中实现对音乐文件的播放,在onDestrory()方法中实现“停止播放音乐”。
5)修改AndroidManifest.xml文件,对Service组件进行声明。
2.5.4 题目3 用BroadcastReceiver实时监听电量
1.任务描述
本次实验的目的是通过BroadcastReceiver组件实现手机电量的实时监控。掌握Con-text.registerReceiver()方法进行动态注册,通过<Receiver>标签在androidmanifest.xml进行注册。项目界面及运行结果如图2-19所示。
2.任务要求
1)完成Android开发平台的搭建及相关配置。
2)创建项目并熟悉文件目录结构,在项目Src文件夹下创建BroadcastReceiver类。
3)此项目要从3方面对系统电量情况进行监听:a.电量已恢复,b.电量过低,c.获取当前电量情况。
3.知识点提示
本任务主要用到以下知识点。
图2-19 应用程序界面及运行结果
1)BroadcastReceiver组件的创建及相应生命周期函数的实现。
2)BroadcastReceiver对象的动态注册。
3)在AndroidManifest.xml文件中对BroadcastReceiver组件进行声明。
4.操作步骤提示
1)创建项目,新建一个Android工程并命名为BroadcastReceiver_battery_test。
2)根据项目界面添加布局文件。
3)编辑MainActivity.java,主要实现onResume()方法和onPause()方法,在onResume()方法中创建一个BroadcastReceiver对象并进行动态注册,接收系统的电量信息,启动Broad-castReceiver对象中的onReceiver()方法,在onPause()方法中解除BroadcastReceiver的注册。
4)创建BatteryBroadcastReceiver.java,主要实现onReceive()方法,在该方法中主要从3方面对系统电量情况进行监听:a.电量已恢复,b.电量过低,c.获取当前电量情况,并以百分比的形式显示出来。
5)修改AndroidManifest.xml文件,对BroadcastReceiver组件进行声明。