안드로이드 개발 질문/답변
(글 수 45,052)
package com.example.record;
import android.app.Activity;
import android.content.Intent;
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.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Tab1Activity extends Activity implements SensorEventListener {
static EditText vi,kcal,meter;
TextView text3,kcal2,meter2;
int count=0,kcal0=0;
String str = String.format("%d",count);
String str2 = String.format("%d",kcal0);
private long lastTime;
private float speed;
private float lastX;
private float lastY;
private float lastZ;
private float x, y, z;
private static final int SHAKE_THRESHOLD = 800;
@SuppressWarnings("deprecation")
private static final int DATA_X = SensorManager.DATA_X;
@SuppressWarnings("deprecation")
private static final int DATA_Y = SensorManager.DATA_Y;
@SuppressWarnings("deprecation")
private static final int DATA_Z = SensorManager.DATA_Z;
private SensorManager sensorManager;
private Sensor accelerormeterSensor;
Button btn_reset;
Button btn_start;
Intent intent;
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_record);
vi = (EditText)findViewById(R.id.tv);
kcal=(EditText)findViewById(R.id.kcal);
meter=(EditText)findViewById(R.id.meter);
kcal2=(TextView)findViewById(R.id.kcal2);
meter2=(TextView)findViewById(R.id.meter2);
text3 = (TextView)findViewById(R.id.textView3);
text3.setVisibility(android.view.View.VISIBLE);
vi.setVisibility(android.view.View.VISIBLE);
kcal.setVisibility(android.view.View.VISIBLE);
kcal2.setVisibility(android.view.View.VISIBLE);
meter.setVisibility(android.view.View.VISIBLE);
meter2.setVisibility(android.view.View.VISIBLE);
vi.setText(str);
kcal.setText(str2);
super.onCreate(savedInstanceState);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
accelerormeterSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
btn_start=(Button)findViewById(R.id.btn_start);
btn_reset=(Button)findViewById(R.id.btn_reset);
btn_start.setVisibility(android.view.View.VISIBLE);
btn_reset.setVisibility(android.view.View.VISIBLE);
btn_start.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
intent = new Intent(Tab1Activity.this,Tab3Activity.class);
btn_start.setText("중단");
}
});
btn_reset.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
count=0;
vi.setText(String.valueOf(count));
kcal0=0;
kcal.setText(String.valueOf(kcal0));
}
});
}
@Override
public void onStart() {
super.onStart();
if (accelerormeterSensor != null)
sensorManager.registerListener(this, accelerormeterSensor,
SensorManager.SENSOR_DELAY_GAME);
}
@Override
public void onStop() {
super.onStop();
if (sensorManager != null)
sensorManager.unregisterListener(this);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@SuppressWarnings("deprecation")
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER) {
long currentTime=System.currentTimeMillis();
long gabOfTime=(currentTime-lastTime);
if(gabOfTime>100){
lastTime=currentTime;
x = event.values[SensorManager.DATA_X];
y = event.values[SensorManager.DATA_Y];
z = event.values[SensorManager.DATA_Z];
speed = Math.abs(x+y+z-lastX-lastY-lastZ)/gabOfTime * 10000;
if (speed > SHAKE_THRESHOLD) {
count++;
str=String.format("%d",count);
vi.setText(str);
kcal0=(count/30);
str2=String.format("%d",kcal0);
kcal.setText(str2);
}
lastX = event.values[DATA_X];
lastY = event.values[DATA_Y];
lastZ = event.values[DATA_Z];
}
}
}
현재 이렇게 소스를 짜 놨는데요
btn_start를 누르면 edittext로 받는 만보기 숫자가 올라가게 하고 동시에 btn_start버튼이 중단으로 텍스트가 바뀝니다
그리고 중단으로 변한 버튼을 누르면 중단되고 다시 시작으로 텍스트를 바꾸고싶은데요
정보를 찾아봐도 방법이 없에요...도와주세요ㅠㅠ