320x100
코틀린 Calendar 객체를 이용하여
오늘 날짜(today) 가져오는 방법과
이번 달 마지막 일(last day)를 가져오는 작업을 실시
코드 1 : MainActivity.kt
class MainActivity : AppCompatActivity() {
private lateinit var bToday: Button
private lateinit var bLastDay: Button
private lateinit var tvMsg: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
bToday = findViewById(R.id.b_today)
bLastDay = findViewById(R.id.b_lastday)
tvMsg = findViewById(R.id.tv_msg)
bToday.setOnClickListener { calendarToday() }
bLastDay.setOnClickListener { calendarLastDay() }
}
private fun calendarToday() {
// 초기화
val calendar = Calendar.getInstance()
// 현재 설정된 데이터 가져오기
val year = calendar.get(Calendar.YEAR) // 년
val month = calendar.get(Calendar.MONTH) + 1 // 월
val day = calendar.get(Calendar.DAY_OF_MONTH) // 일
val week = dayWeek2Kr(calendar.get(Calendar.DAY_OF_WEEK)) // 요일
tvMsg.text = "${year}년 ${month}월 ${day}일 ${week}요일"
}
private fun calendarLastDay() {
// 초기화
val calendar = Calendar.getInstance()
val year = calendar.get(Calendar.YEAR) // 년
val month = calendar.get(Calendar.MONTH) + 1 // 월
val lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH) // 마지막 day
tvMsg.text = "${year}년 ${month}월 마지막 Day : $lastDay"
}
// Int 로 반환되는 '요일' 을 한글로 변환(1~7, 일~토)
private fun dayWeek2Kr(dayCode: Int): String {
when(dayCode) {
Calendar.MONDAY -> { return "월" }
Calendar.TUESDAY -> { return "화" }
Calendar.WEDNESDAY -> { return "수" }
Calendar.THURSDAY -> { return "목" }
Calendar.FRIDAY -> { return "금" }
Calendar.SATURDAY -> { return "토" }
Calendar.SUNDAY -> { return "일" }
}
return "none"
}
}
코드 2 : 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_today"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="오늘 날짜 가져오기" />
<Button
android:id="@+id/b_lastday"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="이번 달 마지막 일(day) 가져오기" />
<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] 안드로이드 view Binding 사용하기 findViewById 대체 (0) | 2022.11.01 |
---|---|
[Android][Kotlin] strings.xml 파일 동적으로 데이터 처리 및 가져오기 (0) | 2022.10.31 |
[Android][Kotlin] 단말기(device) 가로 세로 실제 해상도 가져오기 (0) | 2022.10.21 |
[Android][Kotlin] Thread 에러 처리 및 UI 변경 활용 예제 (0) | 2022.10.20 |
[Android][Kotlin] 알람매니저(AlarmManager)를 이용한 알림(Notification) 호출하기 (0) | 2022.10.14 |