1、 实验名称
人性化遥控器
2、 实验目的
传统的手机利用鼠标键盘模式遥控电脑的软件操作上有很大的不足,而市场上对重力感应模式从未有过开发。此项目首次对该模式进行研究。
本项目的实践与完成过程对本项目成员将会是一个有效的锻炼过程,不仅有助于提高成员们编程的能力,而且能够增强其团队意识和解决问题的能力。
3、 实验要求
(1)人性化遥控器可以使用户很方便地利用手机控制电脑播放演示文件,进行音乐、电影的播放控制等。本设计中的软件,将会给人们的日常生活提供更多的便利。
(2)人性化遥控器可以使手机变成体感游戏控制器,利用手机的重力传感器控制电脑上的游戏。
4、 问题分析
电脑端(即服务端)主要用于在电脑上建立一个WiFi服务并打开此服务的连接,等待手机的接入即可。当手机与电脑建立起连接时,电脑端需要监听手机发送过来的信息并做出对应操作。
手机端:当用户打开手机端程序时,连接建立时,获取一个手势后,程序会根据事先设定的手势映射,将对应手势的按下指令信息发送出去。
5、 实验过程、步骤及原始记录
电脑端:
这个类的作用是显示程序的主窗口
public class MainUI extends Frame
// 处理点击按钮的操
class ClickListener implements ActionListener
// 此类的作用是进行远程控制
public class RemoteControl
{
// 开始socket服务
void start()
startThread = new Thread(new Runnable())
//断开连接
void disconnected()
}
// 内部类线程,用于接受指令
class RecvThread implements Runnable
//指令分析方法,RIGHT,LEFT,UP,DOWN为播放器的操作指令
//GRIGHT,GLEFT,GUP,GDOWN为赛车游戏的操作指令
//SHUTDOWN为关机操作
public void keyBoard(int key)
手机端:
//此类的作用是各个Activity的“管家”
public class MainActivity extends Activity
//此类的作用是控制赛车游戏
public class GameActivity extends Activity
// 此类的作用是各个Activity的“管家”
public class MainActivity extends Activity
//此类用于程序退出处理
public class MyApp extends Application
6、 实验结果
(1)手机控制电脑播放器模块 通过手机手势的获取,可以实现划屏操控播放器的进度和音量的控制;通过重力传感器的感应,可以通过摇一摇实现PPT播放下一页的功能。
(2)游戏手柄模块 本模块中通过手机加速度传感器的三个方向的参数信息的判断,可以较好的感应手机的位置,从而向电脑传送相应指令。
(3)电脑端模块 本模块中主要是通过robot类处理键盘操作,通过获取的相应手机端发送的指令,进行相应的手机操作。
7、 实验中遇到的问题及解决方法
此次实践主要分为两个阶段:
第一个阶段主要是学习和开发设计阶段。此阶段的主要问题是对所开发的软件实现原理并不清晰。为了解决这一问题,我们一起学习Java和Android开发的知识,并对软件实现原理及代码框架进行了明确化和针对性学习与分工。
第二个阶段主要是代码实现阶段,在这一阶段过程中,最大的问题是版本控制问题。为了解决这一问题,我们小组成员分工合作,以及通过使用svn版本控制很好地减少了编写代码的成员间的不必要的代码冲突。