Java 大作业回忆--day05-- 手机能不能做到和激光笔一样?
来源:互联网 发布:淘宝长尾词2017 编辑:程序博客网 时间:2024/04/30 11:02
Day05 ---- 我能不能把手机做的像激光笔一样?
那天睡觉之前,我在遐想~~想着想着,一个想法突然冒了出来:我能不能用手机的上下晃动控制鼠标呢?就是做的像激光笔一样,向上指就能向上走,这样岂不是非常好。但这个怎么做呢? 诶? 对了,手机不是有传感器么,没准可以通过手机的传感器做出来响应的功能。 算了,先睡觉,明天试试去。
第二天起来,查了查一半手机都有哪些传感器:加速度传感器,重力传感器,温度传感器,方向传感器...... 有好多啊~ 我要实现我想要的功能,用哪种比较好呢? 我觉得没准是重力传感器~ 因为重力传感器在手机上下偏离的时候x,y轴的重力加速度会有变化。 那我就试试吧~~~
说着,我就打开了一个教学神器:极客学院。在上面的所有的Android课程中,找到了一个关于手机硬件传感器开发的一个教程,就把它看了。
学明白了之后,打开AndroidStudio,说写就写~ 写了一会,就把这部分写完了。因为以前已经搭建好了网络传输协议,所以很轻松的就把手机的x,y参数发送给了电脑。 那么问题来了,电脑怎么处理这个加速度才能让鼠标动的比较自然呢? 试试直接把(x,y)传递给电脑的鼠标移动模块。 都写完了,一试效果,不是很好。因为只要手机放的位置不平,指针就会来回动来动去的,一点也不好用。
那怎么办嘞?要不换个传感器试试?
上网查了每个传感器的细节,我决定用方向传感器。感觉应该这个传感器比较靠谱。方向传感器传输的是当前x,y的角度。
改完测试的时候,发现了一个问题,就是方向传感器的0度角的位置随着你的位置不一样也不尽相同。想了想,那也简单,我再加一个button,就可以先通过这个button进行初始角度的定位,然后再在这个角度的基础上进行角度的偏转。
试了试,效果一般,但比之前有了一点意思了。
后来的几天,调试了好久这个模块,但还是没法达到想要的灵敏度和效果,所以不知道最后能不能达到自己梦想中的效果。
这里还有一点点小问题,就是电脑控制鼠标移动只有移动到指定的(x,y),但我们更加需要的是增量移动,就是给一个x,y的增量,进行移动。针对这个问题,我写了一个增量移动的方法。但后来有一个小bug就是说当鼠标移动到屏幕范围以外的时候,就会回到(0,0)这个位置,所以后来又加了一个判断从而保证指针不会出去屏幕范围。
另一个问题就是当数据传输的时候由于有时候会有一点延迟,所以鼠标移动会有卡顿现象,为了解决这种用户不友好的现象,我把鼠标增量这个函数中加了一个小tip,就是让鼠标一个一个像素的进行移动,这样可以通过电脑端的处理使得鼠标看起来移动的非常平滑。
上面就是传感器部分的工作,希望我能在这几天把这个功能调的更完美一点~~~~~
- Java 大作业回忆--day05-- 手机能不能做到和激光笔一样?
- Java 大作业回忆--day06-- 我们的手机触控板
- Java 大作业回忆--day04-- 程序框架的搭建和指令的传输
- Java 大作业回忆--day01--PPT Controller
- Java 大作业回忆--day02-- PC端的初次尝试
- Java 大作业回忆--day03-- 两岸初次的连接
- Java 大作业回忆--day07-- 我们的作品完成啦
- day05作业
- 作业day05
- linux 作业day05
- linux day05 作业
- Linux_C作业day05
- 激光物理学第一次作业
- 回忆java来时路-第二章 对象之外
- 回忆java来时路-第七章 类的初始化
- Eclipse让js进行代码提示,做到和java文件一样;---HTML/CSS/JSP代码提示,同理
- SeekBar如何设置不能拖动,做到和ProgressBar一样
- 职业程序员-努力做到
- Xcode7 真机调试(无需证书)详解
- dubbo的使用场景
- 批量编辑文本 - 行首行末批量编辑
- 如何将jdk1.8降到jdk1.6
- 【Nodejs】windows下node.js安装教程图文详解
- Java 大作业回忆--day05-- 手机能不能做到和激光笔一样?
- JavaScript判断字符串是否全为数字
- 轉:JAVA多態
- nodejs编译安装
- Lucene学习入门
- 当引入两个CSS样式时的显示问题
- [工具]Web连接测试
- iOS 载入3d模型 OpenGL ES
- 使用View绘制虚线时demo,方便复习