본문 바로가기

전체 글431

[Android/Kotlin] 안드로이드 Single Click 구현하기 feat. 두번 클릭 방지... 오늘은 안드로이드를 개발 할 때 두 번 클릭되는 경우 이를 해결하는 방법에 대해서 알아보겠습니다. 가끔 RecyclerView 아이템을 빠르게 두번 클릭하면 새로운 Activity가 두개 열리는 경우가 있습니다. 또는 버튼을 빠르게 두번 클릭하면 해당 액션이 두번 발생 하기도 합니다. 이를 해결하기 위해서는 클릭할때 시간 제한을 두어야 합니다. 먼저 아래와 같이 OnSingleClickListener 파일을 하나 만들어 줍니다. 처음 클릭시 lastClickTime 변수에 시간을 할당해주고, 두번째 클릭 시 interval 시간보다 그 텀이 짧을 때는 return을 시켜줍니다. [OnSingleClickListner.kt] class OnSingleClickListener( private var inte.. 2021. 1. 22.
[Android/Error] 안드로이드 Caused by: java.lang.NullPointerException: Missing required view with ID: ~~~~~ ViewBinding을 사용하는 중에 아래와 같은 에러가 발생했습니다. activity 레이아웃 파일에 include 레이아웃이 있었는데 ID가 달라서 발생했던 문제였습니다. 아래와 같이 Id를 iclude_drawer 같게 해주면 해결됩니다. [Activity Layout] [Include Layout] ... 2021. 1. 21.
[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.
[앱소개/로또앱] 넘버원로또 소개 안드로이드를 공부하면서 개인 프로젝트를 여러개 만들어봤지만, 항상 출시까지는 생각을 안하고 있었습니다. (이런 허접한 앱을 플레이스토어에 남겨도 될까..??) 그래서 그런지 플레이스토어 업로드 하는것부터 그 다음 단계가 어려워 보였고 겁이 났습니다. 하지만 언젠가는 앱 개발자가 되어야 하니 그래도 앱 하나를 출시해 보기로 마음 먹었습니다. 그래서 탄생한 앱이 [넘버원로또]입니다. 플레이스토어에 올리고 운영하는 과정에서 그리고 생각하지 못했던 에러들이 발생했습니다. 갑자기 사용자에게도 미안해지는 감정... 개발도 어려운데 디자인도 해야하니 쉽지 않았고, 마케팅은 또 어떻게 해야 할 지 아직도 모르겠습니다. 그래도 시간은 흘러 오늘까지 왔네요. 처음에는 공부하는 겸 만들어봤지만 점점 더 키워보고 싶은 생각이.. 2021. 1. 17.