android加速度传感器数据存储到txt中
来源:互联网 发布:李逵劈鱼 源码 编辑:程序博客网 时间:2024/05/22 10:52
Activity的Java代码如下:
package com.practice.cos;import java.io.FileOutputStream;import java.io.IOException;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.Date;import android.app.Activity;import android.content.Context;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class PracticeActivity extends Activity implements SensorEventListener, OnClickListener { /** Called when the activity is first created. *///设置LOG标签private Button mWriteButton, mStopButton;private boolean doWrite = false;private SensorManager sm;private TextView AT,ACT; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); AT = (TextView)findViewById(R.id.AT); ACT = (TextView)findViewById(R.id.onAccuracyChanged); //创建一个SensorManager来获取系统的传感器服务 sm = (SensorManager)getSystemService(Context.SENSOR_SERVICE); /* * 最常用的一个方法 注册事件 * 参数1 :SensorEventListener监听器 * 参数2 :Sensor 一个服务可能有多个Sensor实现,此处调用getDefaultSensor获取默认的Sensor * 参数3 :模式 可选数据变化的刷新频率 * */ // 注册加速度传感器 sm.registerListener(this, sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); try { FileOutputStream fout = openFileOutput("acc.txt", Context.MODE_PRIVATE);fout.close(); } catch (IOException e) {e.printStackTrace(); } mWriteButton = (Button) findViewById(R.id.Button_Write); mWriteButton.setOnClickListener(this); mStopButton = (Button) findViewById(R.id.Button_Stop); mStopButton.setOnClickListener(this); } public void onPause(){ /* * 很关键的部分:注意,说明文档中提到,即使activity不可见的时候,感应器依然会继续的工作,测试的时候可以发现,没有正常的刷新频率 * 也会非常高,所以一定要在onPause方法中关闭触发器,否则讲耗费用户大量电量,很不负责。 * */ super.onPause(); } public void writeFileSdcard(String fileName,String message) { try { FileOutputStream fout = openFileOutput(fileName, Context.MODE_APPEND); byte [] bytes = message.getBytes(); fout.write(bytes); fout.close(); } catch(Exception e) { e.printStackTrace(); } }public void onClick(View v) {if (v.getId() == R.id.Button_Write) {doWrite = true;}if (v.getId() == R.id.Button_Stop) {doWrite = false;}}public void onAccuracyChanged(Sensor sensor, int accuracy) {ACT.setText("onAccuracyChanged被触发");}public void onSensorChanged(SensorEvent event) {String message = new String();if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {//图解中已经解释三个值的含义float X = event.values[0];float Y = event.values[1];float Z = event.values[2];DecimalFormat df = new DecimalFormat("#,##0.000");SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str=sdf.format(new Date()); message=str +"\n";message += df.format(X) + " ";message += df.format(Y) + " ";message += df.format(Z) + "\n";AT.setText(message + "\n");if (doWrite) {writeFileSdcard("acc.txt", message);}}}}
保存到的acc.txt的效果图如下:
<img src="http://img.blog.csdn.net/20160704094941802?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="250" alt="" />
1 0
- android加速度传感器数据存储到txt中
- android线性加速度传感器数据存储到手机的sd卡中
- Android中使用加速度传感器
- Android传感器学习之加速度传感器数据获取
- Android传感器之加速度传感器
- android加速度传感器
- Android加速度传感器
- android手机加速度传感器
- android光照、加速度传感器
- Android加速度传感器原理
- android 加速度传感器,重力传感器,线性加速度传感器
- Android 下陀螺仪、加速度和磁场传感器数据定义
- Android系统加速度传感器数据-手机坐标系转成地面坐标系
- Android 手机获取加速度传感器加速度数据并自定义采样频率
- Android游戏开发中加速度传感器的实现
- Android 加速度传感器(G-Sensor)
- Android 加速度传感器(G-Sensor)
- android加速度传感器简单实现
- Matlab调用外部库函数方法和注意事项
- 十三、我们应当怎样做需求分析:查询报表分析
- Android View.VISIBLE、INVISIBLE、GONE的区别
- 事件分发机制
- Info 2015-5-25 20:22:34
- android加速度传感器数据存储到txt中
- Hadoop 的一些资料总结,动态更新....
- 拓扑排序
- POJ 1274 The Perfect Stall
- Could not allocate CursorWindow size due to error -12 错误解决方法
- log4cxx在linux下的编译使用
- Hadoop小程序测试方法
- MySQL安装
- Cocos2d-x 多分辨率适配完全解析