반응형 개발44 [Android] 두 개의 RecyclerView 사이에서 Drag and Drop 구현하기 개요 일반적으로 ReyclerView에서 Drag and Drop을 구현할 때는 ItemTouchHelper를 사용해서 구현합니다. 하지만 두 개 RecyclerView 사이에서 Drag and Drop을 구현하기에 어려움이 있어 DragListener를 통해 구현해 보았습니다. 해당 Drag and Drop을 구현하기 위해 ListAdpater, ViewModel, Databinding을 사용하였습니다. 다음은 실제로 구현한 화면입니다. 설명 우선 Drag and Drop을 구현하기 위해 크게 2개가 필요합니다. DragListener : RcyclerView와 ViewHolder에 DragListenr를 등록하기 위한 abstarct class입니다. ItemModifyListener : Reycle.. 2022. 9. 17. [Android] 런처앱(Launcher app)에서 Widget 생성하기 Widget을 사용하기 위해 알아야 하는 기본 클래스 1) AppWidgetHost 홈 화면과 같이 UI에 앱 위젯을 삽입하고자 하는 AppWidget 서비스와의 상호작용을 제공하는 클래스이다. 2) AppWidgetHostView 위젯이 표시되어야 할 때마다 래핑되는 프레임입니다. 3) AppWidgetManger AppWidget의 상태를 업데이트하고 설치된 AppWidget provider에 대한 정보와 그 위젯과 연관된 여러 가지 상태에 대한 정보를 얻을 수 있는 클래스이다. Launcher 앱에 등록된 위젯 생성 및 관리 위젯을 생성하기 위해서는 다음과 같은 과정으로 이루어집니다. 현재 Launcer 앱에 있는 모든 위젯 가져오기 해당 widget의 packageName, className을 가.. 2022. 9. 1. [Android] DataBinding이란? 오늘은 ACC의 하나인 Databinding에 대하여 공부해봅시다. Databinding은 안드로이드 앱에서 MVVM Architecture을 구현하기 위해 주로 사용합니다. 보통 ViewModel과 LiveData와 같이 사용합니다. 1️⃣ DataBinding이란? 기존의 View를 참조하기 위해서 보통 findViewById를 사용하였다. findViewById는 런타임에 view계층을 탐색하여 찾습니다. View가 깊어질수록 탐색 시간이 더 길어지므로 사용자 입장에서 앱을 사용할 때 반응을 느리게 할 수 있는 요소가 됩니다. 하지만 Databinding을 사용하면 컴파일 타임에 activity나 Fragment와 layout을 연결할 수 있습니다. 컴파일러는 activity가 생성될 때 bindi.. 2022. 8. 14. [Linux] 윈도우와 파일 공유를 위한 삼바(SAMBA) 설치 오늘은 윈도우와 리눅스 사이에서 파일을 공유할 수 있게 해주는 samba라는 프로토콜에 대해 알아보려고 합니다. 보통은 윈도우를 통해 개발을 하고 이를 리눅스를 통해 빌드를 하고 싶을 때 많이 사용할 때 주로 사용합니다. 1. SAMBA란? 리눅스와 윈도우 사이에서 파일 공유를 위한 프로토콜 (일종의 공유 폴더) Samba를 통해 공유 가능한 범위 파일 프린터 CD-ROM DVD-ROM USB 이제 설치하는 방법을 알아봅시다. 2. SAMBA 설치 필자의 Linux 환경은 Ubuntu 20.04 LTS입니다. 터미널을 열고 아래의 명령어를 입력합니다. apt-get install -y samba 2-1. 삼바 계정 생성 삼바 계정을 등록할 때는 아이디는 기존의 리눅스 계정을 만들 때 등록한 계정 이름을 .. 2022. 8. 7. [Android] The emulator process for AVD has terminated 오류 해결 문제 발생 이번에 Android Studio를 업데이트하면서 앱 테스트를 위해 Emulator를 사용했는데 계속 업데이트가 필요하다고 하였습니다. 그래서 최신 버전으로 업데이트를 했는데도 문제가 해결되지 않았습니다. 그래서 Device Manager에서 직접 Emulator를 켰는데 다음과 같은 에러 문구가 떴습니다. The emulator process for AVD has terminated 그리고 해결방법을 찾아보았는데 생각보다 간단하였습니다. 해결 방법 근본적인 문제는 AVD를 실행하기 위한 SDK Tool이 부족해서였습니다. 해결방법은 맥을 기준으로 Tool > SDK Manger를 들어가서 다음 3개의 SDK tools을 다운받아야 합니다. Android Emulator Android SDK.. 2022. 7. 9. [Android] 백그라운드 작업을 위한 Service (1) - 기본 개념 🔴 개요 백그라운드에서 오래 실행되는 작업을 위한 애플리케이션 컴포넌트 서비스는 크게 3가지 특징이 있습니다. 일반적으로 서비스는 보이지 않는 화면에서 동작합니다. 다른 애플리케이션 구성 요소가 서비스를 시작할 수 있으며 이는 사용자가 다른 애플리케이션으로 전환하더라도 백그라운드에서 동작할 수 있습니다. 구성 요소를 서비스에 바인딩하여 서비스와 상호작용할 수 있다. 우리는 서비스를 통해서 다음과 같은 기능을 백그라운드에서 구현할 수 있습니다. 음악 재생 프로세스 간 통신(IPC) 파일 입출력 네트워크 트랜잭션 크게 서비스는 3가지 유형이 있습니다. (포그라운드, 백그라운드, 바인드) 각 유형의 자세한 내용은 다음 포스팅에서 하나하나 알아봅시다. 🔴 서비스 vs 스레드 (Service, IntentSer.. 2022. 7. 5. 이전 1 2 3 4 5 ··· 8 다음 반응형