본문 바로가기

Kotlin35

[Android/Kotlin] 안드로이드 뒤로가기 종료 방지하기 feat. onBackPressed() 뒤로가기 버튼을 눌렀을때 백스택이 없으면 앱이 종료됩니다. 하지만 사용자의 실수로 앱이 종료될 수 있기 때문에 일정 텀을 주는 것이 좋습니다. 그래서 "종료하시려면 뒤로가기 버튼을 한번 더 눌러주세요." 라는 토스트 메시지를 띄워주는 앱이 많습니다. 이러한 토스트 메시지를 띄워주는 방법에 대해서 알아보겠습니다. Step01. 변수선언 private var doubleBackToExit = false Step02. onBackPressed() override fun onBackPressed() { if (doubleBackToExit) { finishAffinity() } else { Toast.makeText(this, "종료하시려면 뒤로가기를 한번 더 눌러주세요.", Toast.LENGTH_SHORT).. 2021. 1. 23.
[Android/Kotlin] 안드로이드 Single Click 구현하기 feat. 두번 클릭 방지... 오늘은 안드로이드를 개발 할 때 두 번 클릭되는 경우 이를 해결하는 방법에 대해서 알아보겠습니다. 가끔 RecyclerView 아이템을 빠르게 두번 클릭하면 새로운 Activity가 두개 열리는 경우가 있습니다. 또는 버튼을 빠르게 두번 클릭하면 해당 액션이 두번 발생 하기도 합니다. 이를 해결하기 위해서는 클릭할때 시간 제한을 두어야 합니다. 먼저 아래와 같이 OnSingleClickListener 파일을 하나 만들어 줍니다. 처음 클릭시 lastClickTime 변수에 시간을 할당해주고, 두번째 클릭 시 interval 시간보다 그 텀이 짧을 때는 return을 시켜줍니다. [OnSingleClickListner.kt] class OnSingleClickListener( private var inte.. 2021. 1. 22.
[Android/Kotlin] 안드로이드 SharedPreferences 사용하기 이번 시간에는 SharedPreferences를 좀 더 효율적으로 사용하는 방법에 대해서 알아보겠습니다. 안드로이드 개발 시 SharedPrefereces를 활용하여 간단한 상태값을 저장하기도 합니다. 최초 로그인 여부, 현재 로그인 유저의 간단한 정보, 가장 최근에 선택했던 값 등 다양하게 활용할 수 있습니다. 아래예제는 회원정보를 저장하고 조회하는 모습입니다. [build.gradle/app] // Preference implementation 'androidx.preference:preference-ktx:1.1.1' [PreferenceHelper.kt] object PreferenceHelper { fun defaultPrefs(context: Context): SharedPreferences .. 2021. 1. 20.
[Android/Kotlin] 안드로이드 로또 당첨번호 조회하기(2) 오늘은 회차별 로또 당첨번호를 가져오는 방법에서 대해서 알아보겠습니다. 회차별 로또번호를 조회하기 위해서는 아래 URL를 사용하시면 하시면 됩니다. https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo=946 검색결과 아래와 같이 json 형태로 받아 볼 수 있습니다. {"totSellamnt":99380178000,"returnValue":"success","drwNoDate":"2021-01-16","firstWinamnt":2157656182,"drwtNo6":40,"drwtNo4":30,"firstPrzwnerCo":11,"drwtNo5":34,"bnusNo":20,"firstAccumamnt":23734218002,"drwNo":9.. 2021. 1. 19.
[Android/Kotlin] 안드로이드 로또 번호 생성하기(1) 랜덤으로 로또 번호를 생성하는 방법입니다. 간단히 설명드리면 로또 번호를 담을 List를 하나 생성합니다. 번호를 랜덤으로 생성하고, List에 담기전에 똑같은 번호가 들어있는지 확인을 해줍니다. List에 담겨져 있다면 continue를 호출하여 반복문을 다시 시작합니다. 반대로 없으면 List에 담아줍니다. 6개 번호가 담겨질때까지 반복합니다. 마지막으로 번호순서대로 정렬하기 위해 sort()를 호출 합니다. [While 사용] fun main(args: Array) { val result = createRandomNumberList() for (i in result.indices) { println("i번째 숫자: ${result[i]}") } } fun createRandomNumberList().. 2021. 1. 17.
[Android/Java] 안드로이드 ViewPage2 무한 이미지 슬라이딩 구현하기 오늘은 ViewPager2를 이용해서 무한 이미지 슬라이딩을 구현해보도록 하겠습니다. 완성된 모습은 아래와 같습니다. Step01. build.gradle 추가하기 ViewPager2는 material Library에 추가되어 있으므로 material 라이브러리가 추가 되어 있어야합니다. 추가적으로 이미지로딩을 위해 Glide Library를 추가해줍니다. implementation 'com.google.android.material:material:1.2.1' // Glide implementation 'com.github.bumptech.glide:glide:4.11.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' Step02. .. 2021. 1. 15.