2011-10-26 15 views
0

私は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); 

} 

ありがとうございます!

答えて

1

リソースからボタンへの参照を取得してから、何もしないでください。あなたは「実装に問題がある」という意味ですか?特定の問題が発生している場合やエラーが発生した場合は、その情報を質問に追加してください。 Androidでボタンを使う方法がわからないのであれば、オンラインで数多くの良いサイトがありますが、おそらくここではhttp://developer.android.com/reference/android/widget/Button.htmlから始めるべきです。

[編集]

これはあなたの第一言語と、この作業のようなもののは、そもそも、その後、あなたがそこから展開することができますいくつかの簡単な手順を見てみましょうを取得する最初の試みですので。

私は答えをグーグルでは、この時点でほぼ反射的であるが、ここにいくつかの読書を行うには、いくつかの良い場所であると仮定します。

一般的に、あなたのボタンのonTouchEventを無効にする必要がありますhttp://developer.android.com/guide/topics/ui/ui-events.htmlあなたはユーザーの入力を処理し、興味のある値を記録/比較することができます。あなたが言いたいことから、私はSensorEventListenerの拡張が本当に必要なものであるかどうかはわかりません。ボタンのクリックの開始から停止までの変化をキャプチャしようとしている場合は、個々のセンサーの更新を気にすることなく、ボタンイベントを処理してデータを記録/分析/表示できます。一方、実際に「開始」と「停止」の間に「ライブ」センサーデータを表示する場合は、おそらくSensorEventListenerが必要になります。

GoogleのチュートリアルとAPIガイドを見て、見つかるほど多くのサンプルをチェックしてください。あなたのプロジェクトに幸運。

+0

コードは更新されましたが、ボタンを実際に使用してセンサーリスナーを開始して終了する方法はまだ不明です。 – Slicekick

+0

@ Slicekick - あなたのプロジェクトを始める際にいくつかの考えを提供するために編集されました。 – Carth

+0

@ Slicekick - 私はあなたがセンサーリスナーを開始して停止するとは思わない。センサーからリスナーを登録および登録解除します。センサー自体は引き続きオンになります。あなたのアプリケーションはそれに注意を払うのを止めるだけです。 http://developer.android.com/reference/android/hardware/SensorManager.html – Carth

関連する問題