android 获取加速度传感器值,android获取加速度传感器的程序问题

问题描述:

android获取加速度传感器的程序问题

我现在想获取手机中的加速度传感器的变化值,并将它存入txt文档中,程序应该不难,但是我写出来发现文件穿件不出来,

代码如下 :

package com.example.getsensorvalue;

import java.io.*;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

import android.os.Bundle;

import android.os.Environment;

import android.app.Activity;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity {

\x05private SensorManager Sm;

\x05private String a="";

\x05private String b="";

\x05private TextView TV1;

\x05private Button Button1;

\x05private Button Button2;

\x05private File fos=null;

\x05private Writer out=null;

\x05@Override

\x05protected void onCreate(Bundle savedInstanceState) {

\x05\x05super.onCreate(savedInstanceState);

\x05\x05setContentView(R.layout.activity_main);

\x05\x05TV1=(TextView)findViewById(R.id.TV1);

\x05\x05Button1=(Button)findViewById(R.id.Button1);

\x05\x05Button1.setText(R.string.Button1);

\x05\x05Button2=(Button)findViewById(R.id.Button2);

\x05\x05Button2.setText(R.string.Button2);

\x05\x05Sm=(SensorManager)getSystemService(SENSOR_SERVICE);

\x05\x05Sensor Accelerate=Sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

\x05\x05

\x05\x05Sm.registerListener(new SensorEventListener() {

\x05\x05\x05

\x05\x05\x05@Override

\x05\x05\x05public void onSensorChanged(SensorEvent event) {

\x05\x05\x05\x05// TODO Auto-generated method stub

\x05\x05\x05\x05b=b+event.values[0]+" "+event.values[1]+" "+event.values[2]+"\n";

\x05\x05\x05\x05a=event.values[0]+" "+event.values[1]+" "+event.values[2]+"\n";

\x05\x05\x05\x05TV1.setText(a);\x05\x05\x05\x05

\x05\x05\x05}

\x05\x05\x05

\x05\x05\x05@Override

\x05\x05\x05public void onAccuracyChanged(Sensor sensor,int accuracy) {

\x05\x05\x05\x05// TODO Auto-generated method stub

\x05\x05\x05\x05

\x05\x05\x05}

\x05\x05},Accelerate,SensorManager.SENSOR_DELAY_NORMAL);

\x05\x05Button1.setOnClickListener(new OnClickListener() {\x05\x05

\x05\x05\x05@Override

\x05\x05\x05public void onClick(View v) {

\x05\x05\x05\x05// TODO Auto-generated method stub

\x05\x05\x05\x05b="";\x05\x05\x05\x05\x05\x05\x05\x05

\x05\x05\x05}

\x05\x05});

\x05\x05Button2.setOnClickListener(new OnClickListener() {\x05\x05

\x05\x05\x05@Override

\x05\x05\x05public void onClick(View v) {

\x05\x05\x05\x05// TODO Auto-generated method stub

\x05\x05\x05\x05try{

\x05\x05\x05\x05\x05fos=new File(Environment.getExternalStorageDirectory().getPath() +"accelerate.txt");

\x05\x05\x05\x05\x05fos.delete();

\x05\x05\x05\x05\x05fos.createNewFile();

\x05\x05\x05\x05\x05out=new FileWriter(fos);

\x05\x05\x05\x05\x05out.write(b);

\x05\x05\x05\x05\x05out.close();\x05\x05\x05\x05\x05

\x05\x05\x05\x05\x05}

\x05\x05\x05\x05\x05catch(Exception e){

\x05\x05\x05\x05\x05System.out.println(e);

\x05\x05\x05\x05\x05}

\x05\x05\x05}

\x05\x05});

\x05}

\x05@Override

\x05public boolean onCreateOptionsMenu(Menu menu) {

\x05\x05// Inflate the menu; this adds items to the action bar if it is present.

\x05\x05menu.add(0,1,1,R.string.exit);

\x05\x05getMenuInflater().inflate(R.menu.main,menu);

\x05\x05return true;\x05

\x05}

\x05@Override

\x05public boolean onContextItemSelected(MenuItem item) {

\x05\x05// TODO Auto-generated method stub

\x05\x05if(item.getItemId()==1){

\x05\x05\x05finish();

\x05\x05}

\x05\x05return super.onContextItemSelected(item);

\x05}

}

1个回答

分类:

综合

2014-09-25

问题解答:

我来补答

fos=new File(Environment.getExternalStorageDirectory().getPath() +"accelerate.txt");

路径错误

应该是fos=new File(Environment.getExternalStorageDirectory().getPath() +"/accelerate.txt");

展开全文阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值