320x100
프로젝트 진행 시 보통 Thread 에서 작업을 많이 하지만
새로운 Thread를 생성해서 작업할 때가 있다
이번엔 개발자가 새로운 클래스를 만들고
해당 클래스는 Thread를 상속받아
작업을 하는 과정의 코드이다
이때 새로 만든 클래스 Thread는
3초를 일시정지 하고
작업한다
코드 1 : MainActivity.kt
class MainActivity : AppCompatActivity() {
private lateinit var bStart: Button
lateinit var tvMsg: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
bStart = findViewById(R.id.b_start)
tvMsg = findViewById(R.id.tv_msg)
bStart.setOnClickListener {
// 쓰레드 시작
NewThread(this).start()
}
}
}
코드 2 : NewThread.kt
class NewThread(private val mActivity: MainActivity): Thread() {
override fun run() {
mActivity.tvMsg.text = "3초 뒤 시작합니다."
sleep(3000) // 3초 정지
mActivity.tvMsg.text = "3초 지남!"
}
}
코드 3 : activity_main.xml
<?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="vertical"
tools:context=".MainActivity" >
<Button
android:id="@+id/b_start"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="쓰레드 시작" />
<TextView
android:id="@+id/tv_msg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="none"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
</LinearLayout>
320x100
'Android > Kotlin' 카테고리의 다른 글
[Android][Kotlin] 알림(Notification) 생성, 호출하기 (0) | 2022.10.13 |
---|---|
[Android][Kotlin] 캘린더(CalendarView) 생성, 오늘 날짜, 클릭 이벤트 (0) | 2022.10.12 |
[Android][Kotlin] Dialog 커스텀 및 스타일 수정 (0) | 2022.10.05 |
[Android][Kotlin] 특정 시간 뒤 작업 Handler postDelayed (0) | 2022.10.04 |
[Android][Kotlin] AlertDialog (2) | 2022.10.04 |