안드로이드(5)
-
[ 안드로이드 - 코틀린 ] RecyclerView 클릭 위치를 Fragment에서 확인하기
🤷🏻♂️ 문제점 - 개발 도중 이중 리사이클려 뷰를 만들게 되었는데 (유튜브, 요기요, 배민, 네이버등에 존재하는 상단 선택바를 구현하기 위해) 지금 리사이클려 뷰에서 클릭한 위치를 알아내야되는 일이 발생하였다 일반적으로 리사이클러 뷰 이벤트를 어댑터 내에서 처리해 액티비티나 프래그먼트에서 정보를 알 수 없었다 해결 방법 - 어댑터 내에서 인터페이스를 만들어 클릭한 이밴트의 position을 외부로 보내줘 액티비티나 프래그먼트에서 확인할 수 있게 만들어줬다 -> 추가적인 해결방법으로는 xml에 Chip 위젯을 이용하면 쉽게 해결할 수 있다 😤 class TopScrollRecyclerAdapter(val dataList: Array, spinnerData: String, val context: Cont..
2023.02.09 -
[ 안드로이드 - 코틀린 ] Dialog에 RatingBar 추가하기
😅 RatingBar 만들면서 겪은 문제점을 적어보겠다 이번에 커스텀 다이얼로그에 ratingbar를 처음 써보게 됬는데 생각보다 오래 걸려서 기록을 남긴다 1. 크기 조절 문제 2. 색 조절 및 배경 색 조절 3. 클릭 이벤트 작동 안됨 4. 색 잔상 같은 배경이 남음 모든 문제점을 해결하고 만들어진 ratingbar 이다 1번 문제점은 안드로이드 style에서 위젯 크기를 3가지로 조절할 수 있다 그 이외의 사이즈는 커스텀을 통해 만들어야된다 2번 문제점은 progressTint에서 색을 변경해주는 것으로 해결할 수 있었다 3번 클릭 이벤트는 style을 적용하지 않은 기본 버전은 다른 설정 없이 조절이 가능했지만 1번 사이즈 조절을 하게되면 이벤트가 적용이 되지 않는다 이럴 때는 isIndicato..
2023.01.28 -
[안드로이드 - 코틀린] retrofit2 사용하기
앱으로 외부에 있는 데이터를 불러오기 위한 아주 기본적인 데이터 통신 라이브러리이다 많은 사람들이 많이 사용하고 앞으로도 많이 사용할 라이브러리이다 한 번에 이해해 잘 써보도록 하자 처음 retrofit2를 사용하면서 느낀 점은 어렵다 였다 처음으로 서버 데이터를 받아서 사용해보는 과정에 이해하지 않고 넘어가 고생한 부분과 힘들었던 부분을 풀어서 설명할 예정이다. 일단 설명하기전 기본적으로 알아야 되는 개념에 대해 알아보자 처음 나는 빠르게 통신 처리를 해야 되는 일이 있어 개념보다는 코드에 집중해 이때는 이거 저때는 이거 이런 식으로 외워서 들어가는 식으로 했다 ( + 기본적인 언어 개념도 부족했음 ) 하지만 기초적인 부분은 사용 가능해 통과할지언정 조금만 응용이 들어가는 순간 막혀 해결하는데 오래 걸..
2022.11.21 -
[안드로이드 - 코틀린] 안드로이드 socket 통신 - (임계치 측정 어플리케이션)
특징 : 현재 애플리케이션 기준으로 소켓 데이터는 서버에서 받아서 서버에서 앱으로 전달받는 역할을 한다 때문에 소켓을 이용해 따로 데이터를 전송하지 않고 받기만 하는 역할을 한다 시작 전에 build.gradle 쪽에 소켓 통신을 위한 빌드 파일을 불러와야 한다 // socket 통신 implementation ('io.socket:socket.io-client:2.0.0') { exclude group: 'org.json', module: 'json' } 그다음으로는 소켓을 이용하려면 서버에 클라이언트를 연결해야 된다 아래는 애플리케이션에서 필요한 클래스들이다 // onCreateView 상단에 선언 해준다 lateinit var socket_data: Array // 소켓 룸, 방에 접속하기 위한 열..
2022.11.21 -
[안드로이드 - 코틀린] RecyclerView를 이용해 itemView, adapter 이용하기 2
1편에서는 간단히 로컬에서 데이터를 직접 추가해 데이터를 출력하였다 2편에서는 로컬 데이터가 아닌 Retrofit2를 이용한 데이터 호출을 이용해 RecyclerView를 생성해 볼 것이다. 참고 ) 시작 전 기본적으로 retrofit2을 사용할 줄 알아야 쉽게 이해할 수 있다. 필수는 아님 !! 현재 가져온 코드는 페이지에 표시되는 랭킹 시스템을 위해 만들어진 코드이다 레트로핏 부분은 다 제외하고 DataList와 그 아래 RankRecyclerView만 확인하면 된다 result?.GetlLankplace(MySharedPreferences.getUserKey(mainActivity))?.enqueue(object : Callback { override fun onResponse(call: Call,..
2022.09.20