응용 프로그램이 시작될 때 표시되는 문장을 작성하는 간단한 응용 프로그램이 있습니다. 유일한 문제는 사용자가 문장을 작성하는 데 걸리는 시간을 계산하는 응용 프로그램이 필요하다는 것입니다. "제출"버튼을 터치 할 때처럼 토스트 메시지는 "맞아요!, 3.2 초가 걸렸습니다"라고 말할 것입니다.
특정 동작이 발생할 때 타이머가 시작되도록 설정할 수 있다고 들었는데 ... 중지하도록 명령 할 수 있습니다.
따라서 앱을 시작할 때 타이머가 시작되고 "제출"버튼을 터치하면 멈춘다 고 가정 해 보겠습니다. 위와 같은 토스트 메시지를 보내 앱을 시작한 후 감정을 작성하는 데 걸린 정확한 시간을 계산합니다! *
다음은 앱 코드가 도움이되기를 바랍니다. *
Button w;
TextView t;
EditText e;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
w = (Button) findViewById(R.id.Write);
t= (TextView) findViewById(R.id.FTS);
e = (EditText) findViewById(R.id.Text);
w.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String check1 = t.getText().toString();
String check2 = e.getText().toString();
if (check1.equals(check2))
Toast.makeText(MainActivity.this,"You Wrote it Right !!!",Toast.LENGTH_LONG).show();
else if (check2.equals(""))
Toast.makeText(MainActivity.this,"It's Empty",Toast.LENGTH_LONG).show();
else
Toast.makeText(MainActivity.this,"You wrote it wrong,try again !",Toast.LENGTH_LONG);
저는 Android를 처음 사용하므로 어떻게해야할지 모르겠습니다. 시간 내 주셔서 감사합니다. *
Timer
클래스를 사용하여 타이머 세션을 시작할 수 있습니다 . 다음 단계를 따르십시오.
1- 전역 변수 Timer
및 변수를 정의하여 다음 과 같이 시간을 계산합니다.
private Timer t;
private int TimeCounter = 0;
2- 그런 다음 활동이 시작되면 onCreate
다음 을 추가하십시오. 추신 : 내가 한 일은 그가 문장을 쓰는 동안 타이밍을 표시하는 textView가 있다는 것입니다. 따라서 원하지 않는 tvTimer
경우 다음 코드에서 부분을 삭제할 수 있습니다.
t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
public void run() {
tvTimer.setText(String.valueOf(TimeCounter)); // you can set it to a textView to show it to the user to see the time passing while he is writing.
TimeCounter++;
}
});
}
}, 1000, 1000); // 1000 means start from 1 sec, and the second 1000 is do the loop each 1 sec.
그런 다음 버튼을 클릭하면 타이밍을 중지 timeCounter
하고 Toast
.
t.cancel();//stopping the timer when ready to stop.
Toast.makeText(this, "The time taken is "+ String.valueOf(TimeCounter), Toast.LENGTH_LONG).show();
추신 : 초를 분으로 변환하는 것을 처리해야합니다. 숫자가 360 초로 확장 될 수 있으므로 6 분으로 변환해야합니다. 당신은 그것을 할 수 있습니다 t.schedualeAtFixedRate
또는 당신이 끝난 후에 그것을 변환하고 토스트에 보여줄 수 있습니다
도움이 되었기를 바랍니다. 그것이 당신을 위해 일했다면 저에게 피드백을주십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다