Android 简单几行代码实现摇一摇功能

1、activity 实现加速度监听类   。。。。implements SensorEventListener

public class MainActivity extends AppCompatActivity implements SensorEventListener {

 

2、activity实现两个方法:

    @Overridepublic void onSensorChanged(SensorEvent sensorEvent) {Sensor mySensor = sensorEvent.sensor;if (mySensor.getType() == Sensor.TYPE_ACCELEROMETER) {float x = sensorEvent.values[0];float y = sensorEvent.values[1];float z = sensorEvent.values[2];long curTime = System.currentTimeMillis();if ((curTime - lastUpdate) > 100) {long diffTime = (curTime - lastUpdate);lastUpdate = curTime;float speed = Math.abs(x + y + z - last_x - last_y - last_z)/ diffTime * 10000;if (speed > SHAKE_THRESHOLD) {bb++;if (bb%3==0)Log.i("lgq","yyyyyy=--------"+bb);
//                    getRandomNumber();}last_x = x;last_y = y;last_z = z;}}}@Overridepublic void onAccuracyChanged(Sensor sensor, int i) {}

3、初始化数据,设置加速度监听,实现摇一摇功能

 

初始化:

private long lastUpdate = 0;
private float last_x, last_y, last_z;
private static final int SHAKE_THRESHOLD = 600;private SensorManager senSensorManager;
private Sensor senAccelerometer;

 

设置加速度监听:

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);senSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);senAccelerometer = senSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);senSensorManager.registerListener(this, senAccelerometer , SensorManager.SENSOR_DELAY_NORMAL);}

 

4、运行项目摇一摇即可实现执行回调方法onSensorChanged,实现方法打印:

Log.i("lgq","yyyyyy=--------"+bb);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker centos 环境 安装 python

1、下载安装python编译环境依赖 yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel #安装make编译所需的gcc,g编译器 yum -y install gcc automake autoconf libtool make wget 2、移除centos中自带的python2.7的环境变量 cd /…

Linux下Shell文件内容替换(sed)(转)

sed -i s/被替换的内容/要替换成的内容/g file #-i为直接修改并保存 参考: http://blog.sina.com.cn/s/blog_7211cb9201019hgd.html http://wangchujiang.com/linux-command/c/sed.html转载于:https://www.cnblogs.com/EasonJim/p/8018381.html

docker查看容器ip地址

docker inspect <containerid> 比如 docker inspect dcd61b573df1 里面包含"Gateway": "172.17.0.1" 可以读出ip

Android ContentProvider实现两个程序间数据共享demo,跨进程通讯

1、客户端代码&#xff1a; 先实现服务端 SQL创建&#xff1a; public class DBHelper extends SQLiteOpenHelper {// 数据库名private static final String DATABASE_NAME "finch.db";// 表名public static final String USER_TABLE_NAME "user";pub…

工作179:接口对接

/*创建我的视频接口 第一个参数自己手动录入 第二个参数取值任务详情的接口接口*/// postActionXing("/internal/users/current/video-projects",{// brand_id:this.account.brand_id,name:this.project_name// }).then(// res>{// this.project_idre…

二.java下使用RabbitMQ实现hello world

上一篇文章介绍了windows环境下的安装和配置rabbitMQ&#xff0c;具体戳这边&#xff0c;一.windows环境下rabbit的的安装和配置。 现在我们可以着手编写hello world程序了&#xff0c;一窥RabbitMQ的效用&#xff0c;从rabbitmq的官网的get start进入rabbitMQ文档学习区&#…

docker镜像导入、导出

导出镜像 docker save -o centos7.tar centos 导入本地镜像 sudo docker load --input centos7.tar

工作180:前端是业务需求理解

1做一个系统之前 要明确数据的一个处理流程 才能避免做返工操作

Android SQLite数据库demo。架构组件Room

Android架构组件Room Room主要包含三个部分&#xff1a; Database : 持有DB和DAOEntity : 定义POJO类&#xff0c;即数据表结构DAO(Data Access Objects) : 定义访问数据&#xff08;增删改查&#xff09;的接口 Entity(tableName "table_name**") 注解POJO类&…

转录组差异表达分析工具Ballgown

Ballgown是分析转录组差异表达的R包。 软件安装&#xff1a; 运行R&#xff0c; source(“http://bioconductor.org/biocLite.R”) biocLite(“ballgown”) R会自动安装Ballgown&#xff0c;及相应的依赖包。 Ballgown的输入文件 StringTie使用-B参数直接生成Ballgown的输入文件…

docker centos ssh

1、创建一个容器 docker run -d -p 18022:22 -p 18000:8000 --privileged -v /Users/caowei/share:/share --name yf c17f22223248 /usr/sbin/init 2、进入容器 docker exec -it 39550a9d4610 /bin/bash 3、安装openssh和openssh-server yum install -y passwd openssh op…

Android自定义view详解,使用实例,自定义属性,贝塞尔曲线

//只会触发执行onDraw方法&#xff0c;只会改变绘制里面的内容,条目的绘制 invalidate(); //只会触发执行onDraw方法&#xff0c;但是可以在子线程中刷新 postInvalidate(); //view的布局参数改变之后刷新&#xff0c;比如view的宽度和高度都修改了&#xff0c;只能通过reques…

centos使用git安装nvm

1、文件拷贝 git clone https://github.com/creationix/nvm.git source nvm/nvm.sh 2、安装node nvm install 14.9.0 nvm use 14.9.0

前端学习(2679):安装mysql_front

mysql front安装与使用教程 2020-04-10 11:32 更新mysql front一种小巧的管理Mysql的应用工具&#xff0c;那么这个工具该如何安装和使用呢&#xff1f;一起来看看吧。 一&#xff0c;mysql前端下载&#xff1a; mysql front下载地址&#xff1a;点击下载 二&#xff0c;mysql前…

Android RecyclerView 向上偏移解决、添加自定义分割线,瀑布流,ScrollView嵌套RecyclerView滑动卡顿

向上偏移解决 android:focusableInTouchMode"true" android:focusable"true" android:fillViewport"true" 卡顿解决方法 recyclerViewwg.setHasFixedSize(true); recyclerViewwg.setNestedScrollingEnabled(false); 删除条目&#xff1a; l…

前端学习(2678):懂代码之表格BaseTable编辑操作

第一步:编辑操作 <template slot-scope"scope"><el-buttontype"text"icon"el-icon-edit"click"handleEdit(scope.$index, scope.row)">编辑</el-button></template> 第二步 进行编辑处理 // 编辑操作handle…

vue-cli3配置externals、jquery

在index.html引入 <script src"https://cdn.bootcdn.net/ajax/libs/jquery/1.10.0/jquery.js"></script>配置文件 vue.config.js 代码如下&#xff1a; module.exports {configureWebpack:{externals: {jquery : $,}}, };

QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开

版权声明&#xff1a;若无来源注明&#xff0c;Techie亮博客文章均为原创。 转载请以链接形式标明本文标题和地址&#xff1a;本文标题&#xff1a;QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开 本文地址&#xff1a;http://techieliang.com/2017/12/685/ 文章…

工作182:表格渲染

<el-table :data"tableData" style"width: 100%" border> <!-- <el-table-column label"id" prop"1" align"center"></el-table-column>--><!--渲染账号名称--><el-table-column l…