- 浏览: 633658 次
- 性别:
- 来自: 在野
文章分类
最新评论
-
tubinting:
学习了
[原创] 如何在android中实现swipe的手势功能及页面拖动动画 -
checkes:
我手上也有一块beagleboard 是omap37的这里看到 ...
Android成功刷到beagle board ^_^ -
thebye85:
成功了,谢谢分享
程序中如何开启关闭wifi服务 -
皇室勇少:
高人陋于市...
Google I/O 大会总结系列 - Dalvik开发者: Dan Bornstein -
wcily123:
lordhong 写道jjcang 写道大神一定没有用过e.p ...
[书评]深入潜出Google Android
新型的手机现在都加入了三维规则加速器(accelerometer), 所以手势/动作的检测也逐渐成为移动应用开发的一部分. 比如想擦掉一副画好的画, 可以轻微摇一摇你的手机, 就可以擦掉canvas里的graphics了. 第一次看见这个是07年在越狱了的iPhone上面一个叫SketchUp的软件. 还有就是todo list, 完成了的项目, 轻轻摇摇就自动删除了.
如何检测shake动作其实有好多种approach, 一个是ClingMarks写的一个博客提到过. 基本上就是把x,y,z三个
轴上的距离变化统统加起来, 然后除以间隔的时间, 得出一个速度, 然后如果这个速度是大于某一个值的话, 就是shake动作了. 我个人认为这个公式有偏差, 在某些情况下一些非shake的动作也会被检测成shake. 而且你并不知道是在哪个方向产生了这个shake动作. 所以我叫这种模式coarse-grain, 很粗糙. 但如果你并不关心shake的一些具体细节, 只是想知道是不是shake动作而已, 这个应该已经足够了.
在你的Activity里, 你要implement这个SensorListener:
然后你需要获取一个SensorManager:
然后注册自己这个感应器需要所获得的数据的flags:
在你的onSensorChange()方法中, 你有这个粗糙公式来确定shake动作:
这个shake的速度临界点值定义为:
这个实现其实是很简单的. 在我的下篇帖子中我会介绍比较细腻的检测方法, 也是我在iPhone开发中学到的一些心得.
本帖例子源码在附件里.
第一次不行的话, 请多摇几次, 人品好的就会成功...
美果果,现在入手Gphone的话,有什么推荐么?
第一次不行的话, 请多摇几次, 人品好的就会成功...
part2难产鸟~~~ 最近太忙了~~~
没有捷径, 只有不停学习, 才能进步. 大家互勉之!
多谢!
目前canvas的支持还很弱, audio/video还貌似没有
完蛋了。
那对Flash的支持呢?
能否在HTML中嵌入音视频,之后使用Android的浏览器,或通过WebView来进行浏览?
多谢!
目前canvas的支持还很弱, audio/video还貌似没有
好... 先忙完手头这个iphone app先...
由于帖子未到达预期的良好/精华贴目标... part 2暂时搁置了... -_____-
看来需要大家一起顶起来............
由于帖子未到达预期的良好/精华贴目标... part 2暂时搁置了... -_____-
hong兄真是个人才
如何检测shake动作其实有好多种approach, 一个是ClingMarks写的一个博客提到过. 基本上就是把x,y,z三个
轴上的距离变化统统加起来, 然后除以间隔的时间, 得出一个速度, 然后如果这个速度是大于某一个值的话, 就是shake动作了. 我个人认为这个公式有偏差, 在某些情况下一些非shake的动作也会被检测成shake. 而且你并不知道是在哪个方向产生了这个shake动作. 所以我叫这种模式coarse-grain, 很粗糙. 但如果你并不关心shake的一些具体细节, 只是想知道是不是shake动作而已, 这个应该已经足够了.
在你的Activity里, 你要implement这个SensorListener:
public class ShakeActivity extends Activity implements SensorListener
然后你需要获取一个SensorManager:
sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
然后注册自己这个感应器需要所获得的数据的flags:
ensorMgr.registerListener(this,SensorManager.SENSOR_ACCELEROMETER,SensorManager.SENSOR_DELAY_GAME);
在你的onSensorChange()方法中, 你有这个粗糙公式来确定shake动作:
public void onSensorChanged(int sensor, float[] values) { if (sensor == SensorManager.SENSOR_ACCELEROMETER) { long curTime = System.currentTimeMillis(); // 每100毫秒检测一次 if ((curTime - lastUpdate) > 100) { long diffTime = (curTime - lastUpdate); lastUpdate = curTime; x = values[SensorManager.DATA_X]; y = values[SensorManager.DATA_Y]; z = values[SensorManager.DATA_Z]; float speed = Math.abs(x+y+z - last_x - last_y - last_z) / diffTime * 10000; if (speed > SHAKE_THRESHOLD) { Log.d(”sensor”, “shake detected w/ speed: ” + speed); Toast.makeText(this, “shake detected w/ speed: ” + speed, Toast.LENGTH_SHORT).show(); } last_x = x; last_y = y; last_z = z; } } }
这个shake的速度临界点值定义为:
private static final int SHAKE_THRESHOLD = 800;
这个实现其实是很简单的. 在我的下篇帖子中我会介绍比较细腻的检测方法, 也是我在iPhone开发中学到的一些心得.
本帖例子源码在附件里.
- ShakeSample.zip (29.9 KB)
- 下载次数: 875
评论
24 楼
geminiyellow
2010-02-12
……那两个,太贵了。过一年要换舍不得。
23 楼
lordhong
2010-02-12
现在是Droid/Milestone
22 楼
geminiyellow
2010-02-11
lordhong 写道
puhao7117441 写道
特别咨询,我模拟器怎么才能摇起来呢……不知道抱着显示器摇晃行不行,哈哈……
第一次不行的话, 请多摇几次, 人品好的就会成功...
美果果,现在入手Gphone的话,有什么推荐么?
21 楼
lordhong
2010-02-11
puhao7117441 写道
特别咨询,我模拟器怎么才能摇起来呢……不知道抱着显示器摇晃行不行,哈哈……
第一次不行的话, 请多摇几次, 人品好的就会成功...
20 楼
puhao7117441
2010-02-10
特别咨询,我模拟器怎么才能摇起来呢……不知道抱着显示器摇晃行不行,哈哈……
19 楼
wafj1984
2010-02-10
这个是谁发现的???手机公司很多用的都是TAT去做UI效果的,android也是一样的
18 楼
lordhong
2010-02-05
kuangrenyishi 写道
hong哥,关注你的part2啊~ 最近一直在研究shake 但是的确有一些乱啊 不知道该如何入手啊
part2难产鸟~~~ 最近太忙了~~~
17 楼
kuangrenyishi
2010-02-04
hong哥,关注你的part2啊~ 最近一直在研究shake 但是的确有一些乱啊 不知道该如何入手啊
16 楼
lordhong
2009-10-16
joyband 写道
hong真是个人才,多才多艺啊,PFPF,其实早就PF过了
没有捷径, 只有不停学习, 才能进步. 大家互勉之!
15 楼
joyband
2009-10-16
hong真是个人才,多才多艺啊,PFPF,其实早就PF过了
14 楼
lordhong
2009-10-15
目前没有Flash, 明年就有了
13 楼
Puras
2009-10-15
lordhong 写道
Puras 写道
我来给加到良好。。。
继续为大家奉献佳作吧。
另:问个入门级的问题:
在网上看,Android浏览器似乎只支持了HTML5里面的Canvas不知道对其他的新标签是否支持,
比如说音视频标签(Video和Audio)
继续为大家奉献佳作吧。
另:问个入门级的问题:
在网上看,Android浏览器似乎只支持了HTML5里面的Canvas不知道对其他的新标签是否支持,
比如说音视频标签(Video和Audio)
多谢!
目前canvas的支持还很弱, audio/video还貌似没有
完蛋了。
那对Flash的支持呢?
能否在HTML中嵌入音视频,之后使用Android的浏览器,或通过WebView来进行浏览?
12 楼
lordhong
2009-10-14
Puras 写道
我来给加到良好。。。
继续为大家奉献佳作吧。
另:问个入门级的问题:
在网上看,Android浏览器似乎只支持了HTML5里面的Canvas不知道对其他的新标签是否支持,
比如说音视频标签(Video和Audio)
继续为大家奉献佳作吧。
另:问个入门级的问题:
在网上看,Android浏览器似乎只支持了HTML5里面的Canvas不知道对其他的新标签是否支持,
比如说音视频标签(Video和Audio)
多谢!
目前canvas的支持还很弱, audio/video还貌似没有
11 楼
Puras
2009-10-14
我来给加到良好。。。
继续为大家奉献佳作吧。
另:问个入门级的问题:
在网上看,Android浏览器似乎只支持了HTML5里面的Canvas不知道对其他的新标签是否支持,
比如说音视频标签(Video和Audio)
继续为大家奉献佳作吧。
另:问个入门级的问题:
在网上看,Android浏览器似乎只支持了HTML5里面的Canvas不知道对其他的新标签是否支持,
比如说音视频标签(Video和Audio)
10 楼
lordhong
2009-10-14
schedo 写道
hong老大,继续吧。
好... 先忙完手头这个iphone app先...
9 楼
schedo
2009-10-13
hong老大,继续吧。
8 楼
Hawy
2009-09-10
lordhong 写道
Hawy 写道
part 2呢?
还没出么?还是我没找到?
thanks
现在正在为这个精确控制苦恼
还没出么?还是我没找到?
thanks
现在正在为这个精确控制苦恼
由于帖子未到达预期的良好/精华贴目标... part 2暂时搁置了... -_____-
看来需要大家一起顶起来............
7 楼
wayfarer
2009-09-10
我发现,手势这个东西真的是个很吸引人的地方。
6 楼
lobbychmd
2009-09-10
掌声不够,请大家热烈鼓掌。。。
5 楼
java.lang.Object
2009-09-10
lordhong 写道
Hawy 写道
part 2呢?
还没出么?还是我没找到?
thanks
现在正在为这个精确控制苦恼
还没出么?还是我没找到?
thanks
现在正在为这个精确控制苦恼
由于帖子未到达预期的良好/精华贴目标... part 2暂时搁置了... -_____-
hong兄真是个人才
发表评论
-
做个android开发者的调查,希望大家帮忙
2010-08-18 13:25 4118做个android开发者的调查,希望大家帮忙:http://w ... -
AdFreeDetector 开源了
2010-06-02 09:48 3992AdFree Android http://forum.big ... -
代码实例 -- 在程序里检查虚拟键盘状态, 并开启关闭
2010-02-23 23:56 4021最近都在推上, 荒废了blog, 所以都没怎么写心得, 对不起 ... -
Nexus One 真的是 Superphone 吗?
2010-01-24 02:24 5408本文首发于 ifanr.com : http://www.i ... -
N900开箱照及Droid对比
2009-11-15 02:04 5145今天收到从 Nokia 芬兰总 ... -
Droid 初体验之包装, 实机对比, 及其他
2009-11-15 02:02 2923Droid的包装令人失望, 可以说是山寨的不能山寨了. 纸板 ... -
Droid 初体验
2009-11-15 01:59 2666今天早上去 Verizon 手机 ... -
JavaEye Android 客户端开源啦
2009-11-02 11:02 10829http://code.google.com/p/javaey ... -
[书评]深入潜出Google Android
2009-10-03 09:51 5783首先感谢图灵教育的刘江大人赠书 http://www.turi ... -
谁在移动mmarket上成功上传过app?
2009-09-06 09:13 4943MLGBD... 竟然指定要IE6, 而且... 还JS A ... -
PrimoSpot - 寻找停车位的app (断断续续做了几个月, 今晚终于发布了)
2009-08-25 11:28 4556PrimoSpot.com是个专门帮车主寻找停车位的网站. ... -
JavaEye Android 客户端正式发布
2009-08-02 10:27 5569经过2个半星期的努力… lordhong和mqqqvpppm, ... -
天朝android开发者group
2009-07-04 10:59 5161http://groups.google.com/group/ ... -
[原创] 如何在android中实现swipe的手势功能及页面拖动动画
2009-04-17 10:18 10606iPhone界面解锁是用手指划动来实现的, 那么这个手势ges ... -
程序中如何开启关闭wifi服务
2009-04-16 09:30 4740开启关闭wifi服务牵涉到系统服务的问题, 在你的manife ... -
Android成功刷到beagle board ^_^
2009-04-08 11:38 9157捣鼓了3天, 终于成功把android刷到beagle boa ... -
今年的Google I/O, 谁去啊?
2009-04-03 12:08 21595月27, 28的google I/O 开发者大会, JE的有 ... -
N800 刷 Android 带软键盘, wifi
2009-04-02 10:29 3024NITdroid http://guug.org/nit/ni ... -
[原创] 如何在Android Market赚钱 part 2 - 免费app附带广告
2009-03-03 10:56 5817如果你的app用户量潜力上来说是巨大的, 而且用户会时常使用你 ... -
[原创] 如何在Android Market赚钱 part 1 - paid app 付费app
2009-03-03 09:59 15285随着我的第一个付费app ...
相关推荐
"Android-shake-detector" 是一个专门为这种需求设计的工具类库,它能帮助开发者轻松地在Android应用中集成设备晃动检测的功能。 该库的核心原理是利用Android系统的加速度传感器(Accelerometer)。加速度传感器...
1. **下载和解压**:根据系统平台选择合适的二进制文件,如`redis-shake-darwin-amd64`或`redis-shake-linux-amd64`,并将其解压缩。 2. **配置文件**:编辑`redis-shake.toml`,设置源Redis和目标Redis的连接信息...
| Shake-Images-0.4.tar.gz”表明这是一个从Python Package Index(PyPI)官方源下载的软件包,名为Shake-Images,版本为0.4,其格式为tar.gz,这是一种常见的压缩格式,通常用于在Linux和Unix环境中打包和压缩文件...
4. **数据过滤与转换**:在迁移过程中,mongo-shake允许用户设置过滤规则,只迁移满足条件的数据。此外,它还支持数据转换,可以在迁移的同时对数据进行格式化或计算,满足特定场景的需求。 5. **容错机制**:在...
4. **断点续传**: 在迁移过程中,如果因网络或其他原因中断,Redis-Shake可以记住进度并从断点处继续,提高了迁移的可靠性和效率。 5. **性能优化**: 基于Go语言的并发特性,Redis-Shake能够充分利用多核CPU,实现...
ShakeTheBox 提供了用于处理图像的 C++ 代码,以便获得在流中播种的粒子轨迹。通常至少需要摄像机来重建 3D 轨迹 有关如何使用此代码的说明如下: (1) 预处理图像,使粒子更亮,图像噪点更少。处理图像的示例代码...
在这个场景中,我们关注的是mongo-shake的v2.2.1版本,它可能包含了一系列的改进和修复,以提升数据迁移的稳定性和效率。 MongoDB单数据中心集群部署方案通常涉及以下几个关键组件: 1. **Mongod**:这是MongoDB的...
因为react-native-shake-event不再处于活动开发中,所以我决定创建它。 请注意,它仅适用于真实设备 安装 npm install react-native-shake 或者 yarn add react-native-shake 链接本机模块 自动的: react-native...
是用于 Redis 数据迁移的工具压缩包。...总之,“redis-shake-linux-amd64.tar.gz” 中的 Redis-shake 工具在 Redis 数据管理中具有重要的作用,能够帮助用户高效地进行数据迁移、同步、备份和恢复等操作。
在Android开发中,实现“摇摆效果”(shake effect)通常涉及到传感器(Sensor)监听,特别是加速度计(Accelerometer)。这个例子展示了如何通过监听设备的运动,检测到用户摇晃手机的动作,并触发特定的事件,例如...
在Android开发中,动画是提升用户体验的关键元素之一。"android-view-animation抖动shake"这个话题主要涉及到了Android视图动画中的shake效果,这是一种常见的错误提示或吸引用户注意力的动画方式,比如当用户输入...
在这个"Android应用源码仿Iphone抖动效果Shake Icon"的项目中,我们将深入探讨如何在Android平台上复现这种iOS特有的视觉反馈。 首先,抖动效果的实现主要依赖于动画(Animation)机制。Android提供了多种动画类型...
这份名为"Android应用源码仿Iphone抖动效果Shake-Icon.zip"的压缩包文件包含了一个示例项目,用于展示如何在Android应用中实现这种效果。通过分析这个源码,我们可以学习到以下关键知识点: 1. **动画框架**: - ...
在Android开发中,有时我们希望实现一些特殊效果来提升用户体验,比如模仿iPhone的图标抖动效果。这个"Android仿Iphone抖动效果Shake Icon.zip"文件就包含了一个实现这一功能的示例代码。让我们详细了解一下如何在...
资源分类:Python库 所属语言:Python 资源全名:Shake-Auth-1.3.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:Shake-Files-1.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
redis-shake是阿里云Redis&MongoDB团队开源的用于redis数据同步的工具。redis-shake是我们基于redis-port基础上进行改进的一款产品。它支持解析、恢复、备份、同步四个功能。 源码地址: ...
不过,我们可以从“shake-and-share”这个名字中推测一些可能的内容。通常,这种名称可能暗示着某种互动或社交相关的功能,比如用户可以通过“摇一摇”(shake)设备来随机匹配或分享内容。在HTML领域,这可能涉及到...
在本教程中,我们将探讨如何在Android应用中实现这个功能,我们将称之为“傻瓜模式”,意味着它对初学者非常友好,步骤简单易懂。 首先,我们需要了解"摇一摇"的基本原理。Android系统提供了SensorManager类,它...