본문 바로가기
728x90

분류 전체보기86

[Android] Daum검색 Rest API를 이용해 책 검색 앱 만들기 (1) Kako Developers(https://developers.kakao.com) 사이트에서는 Daum검색과 관련된 다양한 Rest API를 제공합니다. Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 그중에서도 이미지 검색 API를 이용해 책 검색 앱을 만들어 보겠습니다. 앱을 구현하는 과정에서 Retrofit, ViewModel, LiveData, Repository, ListAdapter 같은 여러 라이브러리를 활용해보도록 하겠습니다. 구현할 프로그램의 실행결과를 먼저 보겠습니다. Http 통신을 위해 AndroidManifest.xml에 .. 2023. 1. 8.
[백준] 11650번 : 좌표 정렬하기 (Kotlin) 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 나의 풀이 fun main(args: Array) { val n = readLine()!!.toInt() val arr = ArrayList() repeat(n) { val input = readLine()!!.split(" ") arr.add(Pair(input[0].toInt(), input[1].toInt())) } arr.sortWith(compareBy({it.first}, {it.second})) r.. 2023. 1. 7.
[Android] BottomNavigationView(하단 네비게이션) 구현하기 최근 출시되는 대부분의 앱에서 다음과 같은 하단 바 형태의 메뉴를 보신 적이 있을 겁니다. 이런 하단 바 형태의 디자인을 안드로이드에서는 'BottomNavigationView' 라고 합니다. BottomNavigationView는 메뉴 항목에 따라 화면을 전환하는 역할을 수행하는데 전환되는 화면은 Fragment로 구성합니다. 화면은 하단의 메뉴(BottomNavationView)와 상단의 Fragment를 띄울 Layout으로 구성합니다. 이번에는 BottomNavigationView의 구현 방법에 대해 알아보겠습니다. 먼저 실행 결과와 프로젝트의 파일 구성을 보겠습니다. app/build.gradle에서 따로 dependence를 추가할 내용은 없고 뷰 바인딩을 사용하기 위해 viewBinding만.. 2023. 1. 6.
갤럭시 버즈 & 노트북 연결 시 깨지는 소리(?) 해결방법 이번에 '갤럭시 버즈1'에서 '갤럭시버즈2'로 교체해서 사용하고 있습니다. 근데 교체한 버즈로 노트북과 연결해서 사용하는데 노이즈(?), 깨지는 듣기 싫은 소리(?)가 들리더라구요? 몇번을 블루투스도 껐다 켜보고 페어링을 끊고 다시 연결해봤는데 고쳐지지 않았는데 며칠만에 해결했습니다..! 해결방법 1. 우측 하단 볼륨 아이콘에 우클릭을 하고 '볼륨 설정 열기'를 클릭합니다. 2. 중간 쯤에 '사운드 장치 관리'를 클릭합니다. 3. 출력 장치에 '머리에 거는 수화기'가 있다면 '사용 중지'를 클릭합니다. 4. 돌아와 출력 장치를 헤드폰으로 설정합니다. 설정을 바꾸니 이전보다 음질도 선명해진 것 같습니다..! 2023. 1. 6.
[Android JetPack] DataBinding + LiveData + ViewModel + Repository 적용해보기 포스팅 제목처럼 이번에는 DataBinding, LiveData, ViewModel, Repository를 모두 적용하며 간단한 프로그램을 구현해 보겠습니다. 이전 포스팅에서 공부했던 라이브러리는 간단히 살펴보고 넘어가겠습니다. 이전 포스팅 [안드로이드] ViewModel 이란? ( + ViewModelFactory) 이번에 알아볼 ViewModel은 이전 포스팅에서 공부했던 MVVM 디자인 패턴의 구성요소 중 하나인 ViewModel입니다. 이해를 돕기 위해 예제와 함께 작성하겠습니다. 이전 포스팅 [안드로이드] MVVM 디자인 develop-oj.tistory.com [안드로이드] LiveData 기본 Android JetPack 라이브러리 중 하나인 LiveData에 대해 알아보겠습니다. 특히, L.. 2023. 1. 5.
[Android JetPack] DataBinding 알아보기 앞서 공부한 ViewModel, LiveData와 함께 유용하게 쓰이는 DataBinding에 대해 공부해 보겠습니다. DataBinding이란? 과거 xml의 뷰에 접근하기 위해서는 findViewById()를 사용했습니다. 하지만 findViewById() 방식은 xml 파일이 많아질수록 뷰의 id가 중복되는 경우가 생기고 성능면에서 속도가 느리다는 단점이 있었습니다. findViewById()의 단점을 보완하기 위해 ViewBinding 개념이 등장합니다. ViewBinding 방식은 xml파일 각각을 컴파일 시 하나의 Binding 클래스로 생성한 후 해당 클래스에서 id를 찾는 방식입니다. 그리고 DataBinding은 위의 ViewBinding에서 나아가 xml 파일에서 뷰의 데이터를 처리해주.. 2023. 1. 5.
728x90
반응형