본문 바로가기

android studio

(7)
안드로이드에서 검색기능 및 검색어 자동완성 기능 구현하기 (Debounce & Throttle 안녕하세요. 오늘은 안드로이드에서 kotlin을 이용해 안드로이드에서 검색기능 및 검색어 자동완성 기능 구현하는 방법에 대해 알아보겠습니다. 검색어 자동완성 기능을 구현하기 위해서는 우선적으로 Debounce의 개념을 이해해야 합니다. 1. Debounce란 Debounce는 마지막 이벤트가 발생한 후 일정 시간 동안 추가적인 이벤트가 발생하지 않을 때, 마지막 이벤트를 처리합니다. 다시 말해, 연속적으로 발생하는 이벤트 중 마지막 이벤트만을 실행합니다. 이를 통해 너무 자주 발생하는 이벤트를 하나로 묶어 처리할 수 있습니다.  그 예시로 사용자가 검색 입력창에 빠르게 여러 문자를 입력할 때, 입력이 끝난 후 일정 시간 동안 추가 입력이 없으면 마지막 입력에 대해 검색 요청을 보냅니다.  이러한 Debo..
Android Room 사용하기 안녕하세요. 오늘은 Jetpack Compose에서의 Room에 대하여 작성해보겠습니다. 참조 문서(android developer 공식 문서)https://developer.android.com/codelabs/basic-android-kotlin-training-persisting-data-room?hl=ko#0 Room을 사용하여 데이터 유지  |  Android DevelopersAndroid Kotlin 앱에서 Room을 사용하는 방법을 알아보세요. Room은 Android Jetpack의 일부인 지속성 데이터베이스 라이브러리로, SQLite 위에 있는 추상화 레이어입니다. Room은 데이터베이스를 설정하고 구developer.android.com 1. Room이란1) Roomd의 개념Andro..
Jetpack Compose에서 UI 화면 구성과 전환(scaffold, box, navHost) 안녕하세요. 오늘은 Jetpack Compose에서의 UI화면 구성과 전환 그리고 디자인에 관하여 작성해보겠습니다. 오늘 알아볼 내용을 요약하자면1. scaffold를 이용한 기본적인 화면 구조만들기2. 만든 화면에 대하여 modifier을 이용한 각 composable 스타일과 동작 정의3. box를 이용한 UI구성4. navController와 navHost를 이용한 화면 전환 제어 이제 본격적으로 시작해보겠습니다. 1. Scaffold참조문서(android developer 공식문서)https://developer.android.com/develop/ui/compose/components/scaffold?hl=ko Jetpack Compose  |  Android Developers이 페이지는 Cl..
Jetpack Compose와 Hilt 이해와 사용 안녕하세요. 이런 글을 프로그래밍 글을 쓰는 건 참 오랜만인데요그동안 프로그램 짜느라 못올렸습니다. 이번에 총 7~8편정도로 작성할 계획이니 많은 관심 부탁드립니다.  원래는 xml방식을 이용하여 android개발을 하였으나이번에 시간을 들여 jetpack compose와 hilt를 사용하는 방식으로새로운 기술을 공부하게 되었습니다. 이번에 새롭게 공부한 내용에 대해 소개하겠습니다. 1. Jetpack Compose 개념참조문서(android developer 공식문서)https://developer.android.com/codelabs/jetpack-compose-basics?hl=ko#0 Jetpack Compose 기초  |  Android Developers이 Codelab에서는 Compose의 ..
비전공자를 위한 Arduino를 이용하여 android 폰으로 Iot 전등 제어하기2(Arduino편) https://pinlib.tistory.com/entry/zx 비전공자를 위한 Arduino를 이용하여 android 폰으로 Iot 전등 제어하기(android편)이번 android편은 크게 3Step으로 이루어져 있습니다. STEP 1. 세팅하기 우선 view binding을 사용하기 위해 build.gradle module 수준에서 kotlinOption 하단에 작성한다. 뷰 바인딩(view binding)이란 레이아웃 XML 파pinlib.tistory.com이전 글에 이어서 이번에는 아두이노 편을 작성해보겠습니다. 이번 arduino편은 크게 ~로 이루어져 있습니다. STEP 1. 세팅하기이렇게 해줍니다. 중요 포인트1. 보드 이름 ( esp8266 -> LOLIN(WeMos)D1 R1)2. U..
비전공자를 위한 Arduino를 이용하여 android 폰으로 Iot 전등 제어하기(android편) 이번 android편은 크게 3Step으로 이루어져 있습니다. STEP 1. 세팅하기 우선 view binding을 사용하기 위해 build.gradle module 수준에서 kotlinOption 하단에 작성한다. 뷰 바인딩(view binding)이란 레이아웃 XML 파일에 선언한 뷰 객체를 코드에서 쉽게 이용하는 방법으로 기존에 XML파일에 등록할 뷰를 이용하려면 findViewById().함수를 이용하여 호출해야 하는 번거로움을 해결하기 위해 사용하게 되었습니다. viewBinding{ enabled = true } 이후 아두이노와 안드로이드의 통신과 버전을 적합하게 하기위해 dependencies의 내용을 모두 지우고 하단의 내용으로 수정한다. implementation 'androidx.cor..
retrofit2 저번 글에서는 REST API에 대하여 알아봤다면 이번 글에서는 안드로이드와 서버간의 REST API 통신을 도와주는 retrofit이라는 라이브러리에 대해 알아보겠습니다. retrofit은 통신 라이브러리 중 하나로 AsyncTask와 Volley 와 같은 다른 라이브러리보다 더 많이 이용됩니다. 그 이유를 알아보자면 타 라이브러리보다 확연하게 빠른 성능을 자랑합니다. 하지만 저 같은 안드로이드와 spring 개발에 초보자에게 무엇보다 중요한 장점이 많습니다. 그건 바로 인터넷에 자료가 정말 많습니다. 처음 앱 개발을 준비할 때도 '안드로이드 서버 통신 = retrofit2' 이렇게 공식처럼 되있더라구요. 더 자세한 내용은 https://square.github.io/retrofit/ 해당 사이트를 참..