코틀린

    Flow 재요청 버튼 활용하기

    개요 Android App의 Flow API 사용 중 오류 발생 시 버튼을 통해 재 요청이 가능하도록 기능 구현 중 이었다. 그러나 재 요청 버튼 클릭 시 로그상으로 2회 이상 응답을 받아오는 현상이 발생했고, 이를 어떻게 수정했는지 공유하고자 한다. 먼저, 구현부를 살펴보겠다. viewModel에서 이미지 목록을 요청하는 코드인데, imageFlow 요청 실패 시 Error UI가 보여지고, Error UI의 버튼 클릭 시 fetchImageList() 함수를 수행하도록 했다. class MainViewModel @Inject constructor( private val gettyRepository: GettyRepository ): ViewModel() { val isLoading: MutableLi..

    Android 앱에서 블루투스 마우스 커서 숨기기

    Android 장치에 블루투스 마우스 장치를 연결하면 화면에 마우스 커서가 표시됩니다. 이 커서를 Android 7.0 이상부터 커서를 숨기거나, 모양을 바꿀 수 있게 되었습니다. 필자의 경우 마우스 커서를 숨기는 기능에 사용했었는데, 이때 사용한 코드를 공유합니다. 블루투스 마우스 커서의 경우 setPointerIcon 메서드를 호출한 뷰 계층에서는 마우스 커서 모양이 변경되는것으로 보이며, 시스템 UI위에서는 기본 마우스 커서가 보이게 됩니다. 아래는 제가 사용했던 코드 일부를 공유합니다. @Override public boolean dispatchGenericMotionEvent(MotionEvent motionEvent) { int index = motionEvent.getActionIndex()..

    [프로그래머스] 위클리 챌린지 - 직업군 추천하기

    문제 설명 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부여한 표입니다. 점수SI CONTENTS HARDWARE PORTAL GAME 5 JAVA JAVASCRIPT C JAVA C++ 4 JAVASCRIPT JAVA C++ JAVASCRIPT C# 3 SQL PYTHON PYTHON PYTHON JAVASCRIPT 2 PYTHON SQL JAVA KOTLIN C 1 C# C++ JAVASCRIPT PHP JAVA 예를 들면, SQL의 SI 직업군 언어 점수는 3점이지만 CONTENTS 직업군 언어 점수는 2점입니다. SQL의 HARDWARE, PORTAL, GAM..

    [Android] Json to Kotlin 플러그인 사용하기

    Rxjava와 MVVM 패턴을 사용한 영화 앱 강의를 듣던 중 유용해 보이는 플러그인을 발견해서 소개하려고 합니다. 플러그인 이름에서 볼 수 있듯이 Json 형식의 문자열을 코틀린 데이터 클래스로 쉽게 변환 해준다고 하네요. 간단한 사용법을 이미지와 함께 소개하겠습니당 ^0^ 먼저 안드로이드 스튜디오 실행 후 File > Settings > Plugins 항목에서 json to kotlin 검색하여 설치하면 아래와 같이 새로운 파일 생성 시 "Kotlin data class File from JSON" 항목을 선택할 수 있습니다. 선택 후 Json 형식의 텍스트를 붙여넣기 해준 후에, 오른쪽 상단의 포맷 버튼을 눌러주면 붙여넣기로 인해 줄바꿈이 되어 있지 않던 Json 형식의 데이터가 보기좋게 정리됩니다..

    [프로그래머스] 위클리 챌린지 - 상호 평가 Kotlin 풀이

    문제 설명 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. No. 0 1 2 3 4 0 100 90 98 88 65 1 50 45 99 85 77 2 47 88 95 80 67 3 61 57 100 80 65 4 24 90 94 75 65 평균 45.5 81.25 97.2 81.6 67.8 학점 F B A B D 위의 점수표에서, i행 j열의 값은 i번 학생이 평가한 j번 학생의 과제 점수입니다. 0번 학생이 평가한 점수는 0번 행에담긴 [100, 90, 98, 88, 65]입니다. 0번 학생은 자기 자신에게 100점, 1번 학생에게 90점, 2번 학생에게 9..

    [안드로이드 스튜디오] 구글 맵 API DB에서 얻은 값으로 마커 찍기

    이 글은 공부를 위해 작성된 글이므로 정확한 정보가 아닐 수 있음을 감안하고 읽어주시기 바랍니다. 오늘은 DB에서 얻은 위치정보를 이용하여 마커를 생성하도록 하는 기능을 추가시키는 중이었는데, 문제가 발생했다.... onResponse에서 얻은 값을 이용하여 바로 마커를 생성하도록 했는데, 마커를 찍는것은 UI 스레드에서 실행되어야 하는것이다. 서버에서 데이터는 OKHttp를 이용하여 받았는데 OKHttp의 onResponse는 메인 스레드에서 실행되지 않으므로 문제가 발생한 것이었다. public void onSuccess(@Nullable String data) { Log.d("onSuccess",data + "얻은 값"); // DB에서 얻은 값 파싱하여 for(int i = 0; i < mapDa..