我有一个我正在为Android开发的加速度计应用程序,我想用“开始”和“停止”按钮启动和停止活动。我在代码本身中实现按钮时遇到问题,我正在寻找一些帮助。这是我的主要java文件。
package com.*****.accelo;
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.widget.TextView;
import android.widget.Button;
import android.view.View.OnClickListener;
public abstract class AcceloActivity extends Activity implements SensorEventListener,
OnClickListener {
TextView textViewX, textViewY, textViewZ, textViewError;
String blank;
Button buttonStop, buttonStart;
StringBuilder builderx = new StringBuilder();
StringBuilder buildery = new StringBuilder();
StringBuilder builderz = new StringBuilder();
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textViewError = (TextView) findViewById(R.id.textViewError);
textViewX = (TextView) findViewById(R.id.textViewX);
textViewY = (TextView) findViewById(R.id.textViewY);
textViewZ = (TextView) findViewById(R.id.textViewZ);
buttonStart = (Button) findViewById(R.id.buttonStart);
buttonStop = (Button) findViewById(R.id.buttonStop);
//Button listener
buttonStart.setOnClickListener(this);
buttonStop.setOnClickListener( this);
SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor accelerometer = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if(!manager.registerListener(this, accelerometer,
SensorManager.SENSOR_DELAY_UI)){
}
textViewX.setText(blank);
textViewY.setText(blank);
textViewZ.setText(blank);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
builderx.setLength(0);
buildery.setLength(0);
builderz.setLength(0);
builderx.append("X: " + event.values[0]);
buildery.append("Y: "+ event.values[1] );
builderz.append("Z: " + event.values[2]);
textViewX.setText(builderx.toString());
textViewY.setText(buildery.toString());
textViewZ.setText(builderz.toString());
textViewError.setText(blank);
}
提前致谢!
答案 0 :(得分:1)
您可以从资源中获取对按钮的引用,然后再对它们执行任何操作。你的意思是“实施上有些麻烦”?如果您遇到特定问题或遇到错误,请将该信息添加到问题中,以便我们为您提供帮助。如果您只是不知道如何在Android中使用按钮,那么网上有很多好网站,但您应该从这里开始http://developer.android.com/reference/android/widget/Button.html。
[编辑]
由于这是您的第一语言,并且首次尝试使用此类工作,让我们先看几个简单的步骤,然后您可以从那里进行扩展。
我认为Google搜索答案在这一点上几乎是反身的,但这里有一些好的地方可以阅读:
一般来说,您需要做的是覆盖按钮http://developer.android.com/guide/topics/ui/ui-events.html的onTouchEvent,这样您就可以处理用户输入,然后记录/比较您感兴趣的值。从您提到的内容你想做什么我不确定扩展SensorEventListener真的是你想要的。如果您只是尝试捕获按钮单击开始到停止的更改,您只需处理按钮事件并记录/分析/显示数据,而无需担心各个传感器更新。另一方面,如果您确实想在Start和Stop之间显示“实时”传感器数据,那么您可能需要SensorEventListener。
浏览Google教程和API指南,查看尽可能多的示例,您应该在路上。祝你的项目好运。