반응형
안드로이드 개발중에 현재시간을 뷰에 표시하는 기능을 구현하기로 했다.
뷰에 표시되는 형태는 "2021년 9월 15일"의 형태로 년, 월, 일을 한글과 함께 표시해야한다.
Kotlin으로 개발중이고해서 최대한 Kotlin 스럽게(?) 구현해보고자 한다.
OS의 현재시간을 불러와서 사용할것이고, 많은 부분에서 사용할것이라서 공용모듈로 구성하였다.
우선 정상적으로 작동하는지 보기 위해 JUnit을 활용하여 테스트코드를 작성하였다.
val currentTime: Date = Calender.getInstance().time
이렇게만 구성할경우 현재시각은 얻어오지만 원하는 형태로 구성되지 않는다.
그리하여 몇가지 코드를 추가해주었다.
fun getCurrentDate(): String {
val currentDate: Date = Calender.getInstance().time
val sdf = SimpleDateFormat("yyyy년 MM월 dd일", Locale.getDefault())
return sdf.format(currentDate).toString()
}
위와 같이 구현하면 정상적으로 나오지만, 뭔가 좀 더 Kotlin의 함수형 프로그래밍스럽게 구성하고자 let을 이용하여 리팩토링해보았다.
완성된 메서드는 아래와 같다.
fun getCurrentDate(): String {
Calender.getInstance().time.let { date ->
SimpleDateFormat("yyyy년 MM월 dd일", Locale.getDefault()).let { sdf ->
return sdf.format(date).toString()
}
}
}
참고한 사이트
* https://stackoverflow.com/questions/5369682/how-to-get-current-time-and-date-in-android
반응형
'Development > Android' 카테고리의 다른 글
안드로이드 액션바 제거하기 (0) | 2021.11.08 |
---|---|
Android BottomNavigationView 텍스트 라벨처리 (0) | 2021.10.04 |
Android Studio 최근 프로젝트 삭제하기 (0) | 2021.08.14 |
안드로이드 TextView에 HTML 태그 사용하기 (0) | 2021.03.05 |
안드로이드 패키지명(PackageName)으로 설치여부 확인하는 방법 (0) | 2020.09.07 |