第八章 丰富你的程序,运用手机多媒体 主讲:王海
第八章 丰富你的程序,运用手机多媒体 主讲:王海
使用通知 通知(Notification)是Android系统中比较有特色的一个功能,当某 个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台 运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状 态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内 容。Android的通知功能获得了大量用户的认可和喜爱,就连iOS系统 也在5.0版本之后加入了类似的功能。 Android软件开发 主讲:王海
Android软件开发 主讲:王海 使用通知 • 通知(Notification)是Android系统中比较有特色的一个功能,当某 个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台 运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状 态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内 容。Android的通知功能获得了大量用户的认可和喜爱,就连iOS系统 也在5.0版本之后加入了类似的功能
通知的基本用法 创建通知的步骤 (1)需要一个NotificationManager来对通知进行管理,获取 NotificationManager的实例就可以写成: NotificationManager manager =(NotificationManager) 一 getSystemService(Context.NOTIFICATION_SERVICE); (2)创建一个Notification对象: Notification notification new Notification(R.drawable.icon, "This is ticker text",System.currentTimeMillis()); (3)对通知的布局进行设定: notification.setLatestEventInfo(context,"This is content title", 'This is content text",null); Android软件开发 主讲:王海
Android软件开发 主讲:王海 通知的基本用法 • 创建通知的步骤: • (1)需要一个NotificationManager来对通知进行管理,获取 NotificationManager的实例就可以写成: – NotificationManager manager = (NotificationManager) – getSystemService(Context.NOTIFICATION_SERVICE); • (2)创建一个Notification对象: – Notification notification = new Notification(R.drawable.icon, "This is ticker text",System.currentTimeMillis()); • (3)对通知的布局进行设定: – notification.setLatestEventInfo(context, "This is content title", "This is content text", null);
通知的高级技巧 sound属性:可以在通知发出的时候播放一段音频,sound,属性是一 个U对象,所以在指定音频文件的时候还需要先获取到音频文件对应 的URI。 。 Vibrate)属性:在通知到来的时候让手机进行振动,使用的是vibrate 这个属性。 ledARGB、ledOnMS、ledOffMS和flags)属性:实现控制手机LED灯 的显示。 Android软件开发 主讲:王海
Android软件开发 主讲:王海 通知的高级技巧 • sound属性:可以在通知发出的时候播放一段音频,sound属性是一 个Uri对象,所以在指定音频文件的时候还需要先获取到音频文件对应 的URI。 • Vibrate属性:在通知到来的时候让手机进行振动,使用的是vibrate 这个属性。 • ledARGB、ledOnMS、ledOffMS和flags属性:实现控制手机LED灯 的显示
接收和发送短信 (1)接收短信 使用广播机制,当手机接收到一条短信的时候,系统会发出一条 值为android.provider..Telephony.SMS_RECEIVED的广播,这条 广播里携带着与短信相关的所有数据。每个应用程序都可以在广 播接收器里对它进行监听,收到广播时再从中解析出短信的内容 即可。 ,(2)拦截短信 有序广播的传递是可以截断的,而系统发出的短信广播正是一条 有序广播,提高MessageReceiver的优先级,让它能够先于系统 短信程序接收到短信广播,在onReceive0方法中调用 abortBroadcast0方法,中止掉广播的继续传递。 Android软件开发 主讲:王海
Android软件开发 主讲:王海 接收和发送短信 • (1)接收短信 – 使用广播机制,当手机接收到一条短信的时候,系统会发出一条 值为android.provider.Telephony.SMS_RECEIVED的广播,这条 广播里携带着与短信相关的所有数据。每个应用程序都可以在广 播接收器里对它进行监听,收到广播时再从中解析出短信的内容 即可。 • (2)拦截短信 – 有序广播的传递是可以截断的,而系统发出的短信广播正是一条 有序广播,提高MessageReceiver的优先级,让它能够先于系统 短信程序接收到短信广播,在onReceive()方法中调用 abortBroadcast()方法,中止掉广播的继续传递
接收和发送短信(二) (3)发送短信 -发送短信需要声明权限 Android软件开发 主讲:王海
Android软件开发 主讲:王海 接收和发送短信(二) • (3)发送短信 – 发送短信需要声明权限 ……
调用摄像头和相册 中 ⊙20.36 向开发者选项 桌面备份密码 全乘面备份当前末受保护 手利 四”月回▣旦口吕白⊙ 量录享合具师服注册 保持唤醒 年发 充电时屏常从不休据 GT-N7100 0 软件 的用0 。注 保护SD卡 o.o d纸 应用程序必须请求读取SD卡的权限 你 调试 22:22 回叶到 USB调试 有有有有南 日装磷西 击四 连接UB时调试模式启动 四电子书 允许模拟位置 允许模拟位置 及联队 选择待调试的应用程序 Q》意信 未设置调试的应用程序 爽 回著付 等待调试程序 调试应南会在执行游博特附加博试器 输入 7% 于g量1a46G用173G日 口之件管速 显示触摸位置 显示触摸互动的可视反酒 已方四面15双阳☐4任等种0 显示指针位置 Android软件开发 主讲:王海
Android软件开发 主讲:王海 调用摄像头和相册 • (1)将程序运行到手机上 • 我们需要先通过数据线把手机连接到电脑上。然后进入到设置→开发 者选项界面,并在这个界面中勾选中USB调试选项,如图8.9所示。注 意从Android 4.2版本开始,系统默认是把开发者选项隐藏掉的,你 需要先进入到关于手机界面,然后对着最下面的版本号那一栏连击四 次,就会让开发者选项显示出来
调用摄像头和相册 (2)调用摄像头拍照 Android软件开发 主讲:王海
Android软件开发 主讲:王海 调用摄像头和相册 • (2)调用摄像头拍照
调用摄像头和相册 (3)从相册中选择照片 -在ChoosePicTest.项目的基础上进行修改,首先编辑 activity_main.xml文件,在布局中添加一个按钮用于从相册中选 择照片。 注意:在调用startActivityForResult()方法的时候,我们给第二个参数传入的值仍然是 CROP_PHOTO常量,这样的好处就是从相册选择好照片之后,会直接进入到CROP_PHOTO 的case下将图片显示出来,这样就可以复用之前写好的显示图片的逻辑,不用再编写一遍了。 Android软件开发 主讲王海
Android软件开发 主讲:王海 调用摄像头和相册 • (3)从相册中选择照片 – 在ChoosePicTest项目的基础上进行修改,首先编辑 activity_main.xml文件,在布局中添加一个按钮用于从相册中选 择照片。 注意:在调用startActivityForResult()方法的时候,我们给第二个参数传入的值仍然是 CROP_PHOTO常量,这样的好处就是从相册选择好照片之后,会直接进入到CROP_PHOTO 的case下将图片显示出来,这样就可以复用之前写好的显示图片的逻辑,不用再编写一遍了
播放多媒体文件 (1)播放音频 方法名 功能描述 setDataSource() 设置要播放的音频文件的位置。 prepare() 在开始播放之前调用这个方法完成准备工作。 start() 开始或继续播放音频。 pause() 暂停播放音频。 reset() 将MediaPlayer对象重置到刚刚创建的状态。 seekTo() 从指定的位置开始播放音频。 stop() 停止播放音频。调用这个方法后的MediaPlayer对象无法再播放音频。 release() 释放掉与MediaPlayer对象相关的资源。 isPlaying() 判断当前MediaPlayer是否正在播放音频。 getDuration() 获取载入的音频文件的时长。 Android软件开发 主讲:王海
Android软件开发 主讲:王海 播放多媒体文件 • (1)播放音频 方法名 功能描述 setDataSource() 设置要播放的音频文件的位置。 prepare() 在开始播放之前调用这个方法完成准备工作。 start() 开始或继续播放音频。 pause() 暂停播放音频。 reset() 将MediaPlayer对象重置到刚刚创建的状态。 seekTo() 从指定的位置开始播放音频。 stop() 停止播放音频。调用这个方法后的MediaPlayer对象无法再播放音频。 release() 释放掉与MediaPlayer对象相关的资源。 isPlaying() 判断当前MediaPlayer是否正在播放音频。 getDuration() 获取载入的音频文件的时长