마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

초시계 0.75배 느리게 할려면 어떻게 해야하나여??

0 추천

초시계 0.75배 느리게 할려면 어떻게 해야하나여

package com.example.stopwatchexam;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class StopWatchActivity extends Activity {
   TextView myOutput;
   TextView myRec;
   Button myBtnStart;
   Button myBtnRec;

   final static double Init =0;
   final static int Run =1;
   final static int Pause =2;
   
   int cur_Status = Init; //������ ���¸� �����Һ����� �ʱ�ȭ��.
   int myCount=1;
   long myBaseTime;
   long myPauseTime;
   
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_stop_watch);
      
      myOutput = (TextView) findViewById(R.id.time_out);
      myRec = (TextView) findViewById(R.id.record);
      myBtnStart = (Button) findViewById(R.id.btn_start);
      myBtnRec = (Button) findViewById(R.id.btn_rec);
      
      
   
   
   }
   
   @Override
   protected void onDestroy() {
      // TODO Auto-generated method stub
      super.onDestroy();
   }
   
   public void myOnClick(View v){
      switch(v.getId()){
      case R.id.btn_start: //���۹�ư�� Ŭ�������� ���� ���°��� ���� �ٸ� ������ �Ҽ��ְԲ� ����.
         switch(cur_Status){
            case Init:
               myBaseTime = SystemClock.elapsedRealtime();
               System.out.println(myBaseTime);
               //myTimer�̶�� �ڵ鷯�� �� �޼����� ������ ȣ��
               myTimer.sendEmptyMessage(0);
               myBtnStart.setText("����"); //��ư�� ����"����"�� "����"���� ����
               myBtnRec.setEnabled(true); //��Ϲ�ư Ȱ��
               cur_Status = Run; //������¸� �����·� ����
               break;
            case Run:
               myTimer.removeMessages(0); //�ڵ鷯 �޼��� ����
               myPauseTime = SystemClock.elapsedRealtime();
               myBtnStart.setText("����");
               myBtnRec.setText("����");
               cur_Status = Pause;
               break;
            case Pause:
               long now = SystemClock.elapsedRealtime();
               myTimer.sendEmptyMessage(0);
               myBaseTime += (now- myPauseTime)*0.75;
               myBtnStart.setText("����");
               myBtnRec.setText("���");
               cur_Status = Run;
               break;
               
               
         }
         break;
      case R.id.btn_rec:
         switch(cur_Status){
         case Run:
            
            String str = myRec.getText().toString();
            str +=  String.format("%d. %s\n",myCount,getTimeOut());
            myRec.setText(str);
            myCount ++; //ī��Ʈ ����
            
            break;
         case Pause:
            //�ڵ鷯�� ����
            myTimer.removeMessages(0);
            
            myBtnStart.setText("����");
            myBtnRec.setText("���");
            myOutput.setText("00:00:00");
            
            cur_Status = Init;
            myCount = 1;
            myRec.setText("");
            myBtnRec.setEnabled(false);
            break;
            
            
      }
      break;
         
      }
   }
   
   Handler myTimer = new Handler(){
      public void handleMessage(Message msg){
         myOutput.setText(getTimeOut());
         
         //sendEmptyMessage �� ����ִ� �޼����� Handler ���� �����ϴ°̴ϴ�.
         myTimer.sendEmptyMessage(0);
      }
   };
   //����ð��� ��� ���ؼ� ����ϴ� �޼ҵ�
   String getTimeOut(){
      long now = SystemClock.elapsedRealtime(); //���ø����̼��� ����ǰ��� ������ ����� �ð�(??)^^;
      long outTime = now - myBaseTime;
      String easy_outTime = String.format("%02d:%02d:%02d", outTime/1000 / 60, (outTime/1000)%60, (outTime%1000)/10);
      return easy_outTime;
       
   }
익명사용자 님이 2018년 6월 16일 질문

1개의 답변

0 추천
String getTimeOut(){
	long now = SystemClock.elapsedRealtime(); //���ø����̼��� ����ǰ��� ������ ����� �ð�(??)^^;
	long outTime = now - myBaseTime;
	
	outTime = (long)(outTime * 0.75f); // 추가
	
	String easy_outTime = String.format("%02d:%02d:%02d", outTime/1000 / 60, (outTime/1000)%60, (outTime%1000)/10);
	return easy_outTime;
}

 

디자이너정 (42,810 포인트) 님이 2018년 6월 16일 답변
...