본문 바로가기

프로그래밍/안드로이드

(14)
[Android/Kotlin] SlidingUpPanel 간단하게 슬라이딩 레이아웃 구성 SlidingUpPanel은 복잡한 설정 없이 위, 아래에서 드래그가 가능한 레이아웃을 구성할 수 있는 라이브러리다. github.com/hannesa2/AndroidSlidingUpPanel hannesa2/AndroidSlidingUpPanel It provides a simple way to add a draggable sliding up panel (popularized by Google Music and Google Maps) - hannesa2/AndroidSlidingUpPanel github.com Gradle에 라이브러리 추가 프로젝트, 앱 Gradle에 다음 문장을 추가한다. build.gradle (Project) allprojects { repositories { ... maven ..
[Android/KakaoAPI] 커스텀 마커 & 말풍선, 마커 클릭 시 이벤트 이 글에서는 안드로이드 카카오 지도 API에서 커스텀 마커와 커스텀 말풍선의 사용법, 그리고 POIItemEventListener를 이용해 마커와 말풍선 클릭 시 이벤트를 추가하는 방법을 적는다. 커스텀 마커 커스텀 마커는 굉장히 쉽다. 지도에 마커 등록 시 마커 이미지를 CustomImage로 설정하면 된다. MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding // 뷰 바인딩 private lateinit var mapView : MapView // 카카오 지도 뷰 override fun onCreate(savedInstanceState: Bundle?) { ..
[Android/KakaoAPI] 장소 검색 결과를 리사이클러 뷰에 추가 이전 글에서는 REST API를 이용해 장소 검색 결과를 받아오는 것을 해봤고, 이번에는 받아온 결과를 리사이클러 뷰에 추가하는 것과, 추가된 아이템 클릭 시 해당 장소로 이동하는 것을 만들어봤다. (코드가 많이 지저분할 수 있습니다...) 실행 결과 레이아웃 먼저 메인 액티비티 레이아웃이다. activity_main.xml 다음은 리사이클러 뷰 아이템 레이아웃이다. list_layout.xml 검색 API 클래스, 인터페이스 인터페이스에 매개변수로 page를 추가한 것을 제외하면 이전 글과 같다. ResultSearchKeyword.kt // 검색 결과를 담는 클래스 data class ResultSearchKeyword( var meta: PlaceMeta, // 장소 메타데이터 var documen..
[Android/KakaoAPI] 카카오 장소 검색 (Retrofit) 카카오에서 제공하는 API 중에는 REST API를 통한 장소 검색 기능이 있다. 이 글에서는 Retrofit 라이브러리를 이용해서 API 서버와 통신해 장소 검색 결과를 가져오는 방법을 적는다. Kakao Developers | 로컬 Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com Retrofit 라이브러리 추가 앱에서 REST API를 이용하기 위해서는 Retrofit 라이브러리를 이용해야 한다. 앱 Gradle에 다음을 추가한다. (혹시 REST API가 뭔지 궁금하시다면... 구글에 검색해주세요 저도 자세히는 몰라요) build.gradl..
[Android/KakaoAPI] 카카오 지도에서 현재 위치 추적 카카오 지도 API에서 현재 위치를 추적하는 법을 적는다. 코드를 보면 알겠지만 위치 권한 획득이 대부분을 차지한다. (TedPermission을 사용하면 훨씬 짧아질 것이다. 그런 의미에서 해당 깃허브 링크를 남긴다.) GitHub - ParkSangGwon/TedPermission: Easy check permission library for Android Marshmallow ParkSangGwon/TedPermission Easy check permission library for Android Marshmallow - ParkSangGwon/TedPermission github.com 레이아웃 activity_main.xml 액티비티 MainActivity.kt import android.Man..
[Android/KakaoAPI] 안드로이드 앱에서 카카오 지도 사용하기 안드로이드 스튜디오에서 카카오 지도 API를 사용하는 방법이다. Kakao Developers 지도/로컬 Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com Kakao API 키 발급, 앱 등록 카카오 지도를 사용하기 위해서는 먼저 카카오 개발사 사이트에서 API 키를 발급받아야 한다. 아래 사이트로 이동한 후 가입이 안되어있으면 가입하고, 다음 과정을 진행한다. Kakao Developers Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을..
[Android/Firebase] 실시간 데이터 수신 (+초 단순한 대화앱) Firestore에는 데이터에 변화가 생길 경우(추가, 수정, 삭제), 해당 데이터를 실시간으로 수신하는 기능이 있다. addSnapshotListener를 이용해서 아주 간단한 채팅앱을 만들어 보았다. (작동만 하는 수준이다.) Cloud Firestore로 실시간 업데이트 가져오기 | Firebase (google.com) Cloud Firestore로 실시간 업데이트 가져오기 | Firebase onSnapshot() 메서드로 문서를 수신 대기할 수 있습니다. 사용자가 제공하는 콜백이 최초로 호출될 때는 단일 문서의 현재 내용으로 문서 스냅샷이 즉시 생성됩니다. 그런 다음 내용이 변경될 때마 firebase.google.com 앱은 로그인 프래그먼트와 채팅 프래그먼트로 구성했다. 로그인 프래그먼트에..
[Android/Firebase] Firestore 읽기, 쓰기 이번 글에서는 Firestore에 저장된 데이터를 읽어 리사이클러 뷰에 추가하는 것과, 앱에서 Firestore 데이터베이스에 데이터를 추가하는 법을 알아본다. Firestore에 문서 추가 먼저 Firestore에 문서를 추가하는 작업을 한다. 여기서는 이름(name)과 전화번호(number) 필드를 생성했다. 레이아웃, 리사이클러 뷰 어댑터 사용한 레이아웃 구성이다. activity_main.xml list_layout.xml 다음은 리사이클러 뷰 아이템, 어댑터 클래스다 ListLayout.kt // 리사이클러 뷰 아이템 class ListLayout (val name: String, val number: String) 이때 변수 타입은 Firestore 필드의 타입과 같게 한다. ListAdapt..