IOS를 사랑하는 AOS 개발자

[Android] 안드로이드 시간, 날짜 특집1 ( Stopwatch ) 본문

Android ( JAVA )/개발

[Android] 안드로이드 시간, 날짜 특집1 ( Stopwatch )

아사안개 2021. 12. 26. 00:23
반응형
SMALL

 

( 🤗 유튜브 오시면 나름 설명도 해줘요 🤗 )

 

그 중 첫번째

버튼 A 클릭 후 버튼 B 를 누르기 전까지의 초단위 시간측정을 해볼거에요!!!!

마치 스톱워치 같은 개념인거죠 🙂

 

언제나 저는 뷰부터 그립니다!!!!

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        >
        <TextView
            android:id="@+id/tv_text"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:textSize="20dp"
            android:text="START버튼을 눌러주세요"
            android:gravity="center"
            />
        <Chronometer
            android:id="@+id/chronometer"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:textSize="20dp"
            android:gravity="center"
             />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            >
            <LinearLayout
                android:layout_width="0px"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                >
                <Button
                    android:id="@+id/btn_start"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="START"/>
            </LinearLayout>
            <LinearLayout
                android:layout_width="0px"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                >
                <Button
                    android:id="@+id/btn_finish"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="finish"/>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

 

⚡️ 참고로 저는 뷰를 중요하게 생각하는 편이에요!!! 기능도 기능이지만 예쁘면 더 좋잖아요 😉

 

자 이제 코드로 넘어가야겠죠? 

 

MainActivity
import android.graphics.Color;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    // 위젯 전역변수
    TextView tv_text;
    Button btn_start, btn_finish;
    Chronometer chronometer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // xml 과 연결
        tv_text = findViewById(R.id.tv_text);
        chronometer = findViewById(R.id.chronometer);
        btn_start = findViewById(R.id.btn_start);
        btn_finish = findViewById(R.id.btn_finish);

        // start 버튼 클릭 이벤트
        btn_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                chronometer.setBase(SystemClock.elapsedRealtime());
                chronometer.start();
                tv_text.setTextColor(Color.BLUE);
                tv_text.setText("시간 측정중...");
            }
        });

        // finish 버튼 클릭 이벤트
        btn_finish.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                chronometer.stop();
                tv_text.setTextColor(Color.RED);
                tv_text.setText("FINISH !!!");
            }
        });

    }
}

 

 

🤭 뭔가 xml 코드길이보다 java 길이가 더 짧은 기분..........? 하핫!

 

그!래!서! 아주아주 초 간단 스톱워치가 된다~~ 이말인거죠 ㅎㅎ

이렇게 해서 응용할 수 있는게 엄청 많을거에요 😚

 

구현 영상 갑시다!

 

 

이로써 아주 간단한 스톱워치 기능 끝입니다!

 

감사합니다 :)

반응형
LIST
Comments