项目背景:大二时候老师做的软件可以实现塞班手机蓝牙控制电脑的PPT感觉非常拉风,大三寒假自己看了android的视频,掌握了基础,然后过了几个月,参加一个比赛,需要弄一个项目。加上当时社团有个孩子学嵌入式实现遥控器控制电脑,就想到了手机控制电脑。然后就上网找源代码,有开源的代码,但是有的地方很复杂看不懂,但是弄清楚了原理,剩下就的就自己开发吧!
项目原理:使用socket编程,手机和电脑在一个网段中,手机作为客户端,电脑作为服务器段,电脑开启某个端口的监听,手机向电脑的端口发送消息。电脑解析手机发来的消息,然后分别做不同的操作,就可实现手机控制电脑的基本功能。
实现功能:
鼠标控制模式: 鼠标的移动 鼠标左键/右键点击 鼠标滑轮 文件的拖动 自定义音量键功能
键盘输入模式: 向电脑发送文字(中英) 回车 退格 以及DOS下的输入 电脑方向键的控制 WSAD模式 和 方向键模式 音量键可根据用户需求自定义设置功能
手柄控制模式: 横屏下 左边为控制方向 右边为操作 可自定义 左边控制方式为鼠标控制 和 键盘控制 右边 可自定义操作方式
技术点: 多线程+网络编程 JavaAPI的运用(调用操作系统事件) 手机端事件响应的运用
多点触控的运用 鼠标移动 手柄模式下键盘控制等的一些算法
应用场合: 教师讲课时 不用再拘束于讲台 如PPT的控制等 电脑的远距离控制 看电影聊天再也不用守在电脑前 手机实现游戏手柄的功能
未来畅想: 物联网时代,当家用电器都可以连接网络时 我们可以通过一个手机端 控制所有的家用电器
实现原理: 网络Socket编程 + 多线程 电脑作为服务器段 + 手机作为客户端 电脑开启端口号 手机连接电脑IP+端口 手机根据不同事件 发送对应字符串 服务器端解析字符串 调用相应的操作
项目地址:http://git.oschina.net/lujianing/android-remote-control-computer