繁体   English   中英

通过按钮启动和停止过程

[英]Starting and stopping process with buttons

我有一个正在为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);

}

提前致谢!

您可以从资源中获得对按钮的引用,然后再对它们进行任何操作。 您“在执行时遇到麻烦”是什么意思? 如果您遇到特定问题或遇到错误,请将该信息添加到问题中,以便我们为您提供帮助。 如果您只是不知道如何在Android中使用按钮,则可以在线找到很多不错的网站,但您可能应该从http://developer.android.com/reference/android/widget/Button.html开始。

[编辑]

因为这是您的第一语言,并且是尝试获得类似效果的第一个尝试,所以让我们来看一些简单的步骤,然后可以从那里进行扩展。

我认为Google在这个问题上的答案几乎是反身的,但这里有一些阅读的好地方:

通常,您需要做的是为按钮http://developer.android.com/guide/topics/ui/ui-events.html覆盖onTouchEvent,以便您可以处理用户输入,然后记录/比较您感兴趣的值。根据您提到的内容,我不确定扩展SensorEventListener是否确实是您想要的。 如果您只是想捕获按钮单击从开始到停止的变化,则可以处理按钮事件并记录/分析/显示数据,而不必担心单个传感器的更新。 另一方面,如果您实际上想在“开始”和“停止”之间显示“实时”传感器数据,则可能需要SensorEventListener。

仔细阅读Google教程和API指南,查看尽可能多的示例,并且应该继续进行。 祝您项目顺利。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM