Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코틀린
- 홍드로이드 강의
- Android Java
- android tutorial
- 자바
- 안드로이드 기초
- java
- Android Studio
- 홍드로이드
- 안드로이드 스튜디오
- 안드로이드 예제
- 안드로이드 네비게이션 메뉴
- android example
- 개발자
- 안드로이드 앱 만들기
- 개발강의
- android studio 앱 만드는 법
- 앱 만드는 법
- 안드로이드 튜토리얼
- 안드로이드 코딩 기초
- 안드로이드 서비스
- 플러터
- 안드로이드
- Android
- hongdroid
- IOS
- 코딩
- flutter
- 자바 튜토리얼
- 앱 만들기
Archives
- Today
- Total
홍드로이드의 야매코딩
#15 안드로이드 스튜디오 Thread & Handler (스레드 & 핸들러) 예제 [ 홍드로이드 ] 본문
<activity_main.xml>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="horizontal" tools:context=".MainActivity"> <Button android:id="@+id/btn_start" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="스레드 시작"/> <Button android:id="@+id/btn_stop" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="스레드 종료"/> </LinearLayout> | cs |
<MainActivity.java>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | package com.example.threadexam; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button btn_start, btn_stop; Thread thread; boolean isThread = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 스레드 시작 btn_start = (Button)findViewById(R.id.btn_start); btn_start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { isThread = true; thread = new Thread() { public void run() { while(isThread) { try { sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } handler.sendEmptyMessage(0); } } }; thread.start(); } }); // 스레드 종료 btn_stop = (Button)findViewById(R.id.btn_stop); btn_stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { isThread = false; } }); } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { Toast.makeText(getApplicationContext(), "홍드로이드 강의", Toast.LENGTH_SHORT).show(); } }; } | cs |
'Android Java' 카테고리의 다른 글
#17 안드로이드 스튜디오 백그라운드 음악 서비스(Service) 예제 [ 홍드로이드 ] (0) | 2019.06.02 |
---|---|
#16 안드로이드 스튜디오 다이얼로그 팝업창 (Dialog) 예제 [ 홍드로이드 ] (1) | 2019.06.02 |
#14 안드로이드 스튜디오 (Log출력 및 주석다는 법) 예제 [ 홍드로이드 ] (2) | 2019.06.02 |
#13 안드로이드 스튜디오 프래그먼트 (Fragment) 예제 [ 홍드로이드 ] (0) | 2019.06.02 |
#12 안드로이드 스튜디오 리사이클러뷰 (Recycler View) 예제 [ 홍드로이드 ] (2) | 2019.05.21 |
Comments