移动互联 实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京联合大学
实验报告
课程(项目)名称:移动互联
学院:自动化专业:自动化
班级:自控 1103B 学号:************* 姓名:张淑敏成绩:
2015年1月18日
一、任务与目的
设计一个闹钟(计时结束后可设置为提示窗、播放音乐及振动)。
1.构建一个定时应用
2.定时时间到后可以显示提示框
3.同时可以播放指定的音乐
4.也可选择音乐与震动一起
二、原理
(1)闹钟设置:
在Android中可以通过AlarmManager来实现闹钟,AlarmManager类是专门用来设定在某个指定的时间去完成指定的事件。AlarmManager提供了访问系统警报的服务,只要在程序中设置了警报服务,AlarmManager就会通过onReceive()方法去执行这些事件,就算系统处于待机状态,同样不会影响运行。可以通过Context.getSystemService方法来获得服务。
要实现闹钟,首先需要创建一个继承自BroadcastReceive的类,实现onReceive方法来接收这个Alarm服务,然后通过建立Intent和PendingIntent 连接来调用Alarm组件。
(2)播放音乐:
MediaPlayer类用来播放音频、视频和流媒体,MediaPlayer包含了Audio 和Video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。
任何MediaPlayer对象都必须先处于准备状态,然后才开始播放。
(3)震动:
开始震动有两个接口
1 . vibrator.vibrate(2000);//震动指定时间,数据类型long,单位为毫秒,一毫秒为1/1000秒
2. vibrator.vibrate(new long[]{100,10,100,1000}, -1);//按照指定的模式去震动。
数组参数意义:第一个参数为等待指定时间后开始震动,震动时间为第二个参数。后边的参数依次为等待震动和震动的时间
第二个参数为重复次数,-1为不重复,0为一直震动
取消震动
vibrator.cancel();//取消震动,立即停止震动
震动为一直震动的话,如果不取消震动,就算退出,也会一直震动
最重要的,增加权限,否则运行时出错
android:name="android.permission.VIBRATE"/> 三、内容与步骤 (1)闹钟设置创建Activity01.java 程序:package com.yarin.android.Examples_07_07; import java.util.Calendar; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.app.TimePickerDialog; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.TimePicker; public class Activity01 extends Activity { Button mButton1; Button mButton2; TextView mTextView; Calendar calendar; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); calendar=Calendar.getInstance(); mTextView=(TextView)findViewById(R.id.TextView01); mButton1=(Button)findViewById(R.id.Button01); mButton2=(Button)findViewById(R.id.Button02); mButton1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { c alendar.setTimeInMillis(System.currentTimeMillis()); int mHour=calendar.get(Calendar.HOUR_OF_DAY); int mMinute=calendar.get(Calendar.MINUTE); new TimePickerDialog(Activity01.this, new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view,int hourOfDay,int minute)