반응형

IT/Android 16

[Android] 생명주기 메서드의 종류

onCreate() 액티비티를 생성할 때 바로 실행되므로 필수적으로 구현해야 한다. 즉, 액티비티가 생성되면 상태는 (onCreate) 상태. 액티비티의 전체 생명주기 동안 한 번만 발생 예를 들어 onCreate() 구현하면 목록에 데이터를 Binding, 액티비티를 ViewModel 과 연결, 일부 클래스의 변수를 인스턴스화 할 수 있다. 이 메서드는 savedInstaceState 라는 parameter를 수신하는데 이는 액티비티의 이전 저장 상태가 포함된 Bundle 객체이다. 처음 생성된 액티비티라면 이 값은 null이겠지? XML파일을 정의하고 setContentView()에 전달하여 화면에 표시할 수 있다. ex) binding = DataBindingUtil.setContentView(th..

IT/Android 2024.01.26

[Android] Activity LifeCycle(액티비티 생명주기) 가 뭐에요?

생명주기란? 사용자가 앱을 사용하다가, 앱에서 나가고, 앱으로 다시 돌아오면 액티비티 인스턴스는 수명주기 안에서 상태가 바뀐다. Activity 클래스에서는 액티비티가 상태 변화를 알아차릴 수 있는 콜백을 제공한다. 즉, 안드로이드 앱이 실행된 후 다른 액티비티 화면으로 전환되거나, 화면이 꺼짐, 폰 상태바를 내려서 액티비티가 가려짐, 혹은 앱이 종료 될 때 등을 상태변화가 일어난다고 한다. 사용자가 액티비티를 벗어났다가 다시 돌아왔을 때 액티비티가 작동하는 방식을 생명주기 메서드에서 선언할 수 있다. ex) 유튜브 시청 중 카톡이 와서 카톡 앱에 들어가면 동영상 일시중지-> 카톡 답장 후 유튜브 앱 돌아오면 다시 동영상 시작 생명 주기 콜백을 잘 구현하면 앱에서 아래 문제가 발생하지 않도록 예방할 수 ..

IT/Android 2024.01.23

[Android Studio] 안드로이드 ADB(Andorid Debug Bridge) 가 뭐에요?

안녕하세요 안드로이드 공부 빡세네요 :( 오늘은 ADB에 대해 공부했어요 ADB(Andorid Debug Bridge)는 안드로이드 개발 및 디버깅 도구로서 안드로이드 디바이스와 컴퓨터 간에 통신하고 제어하는 데 사용되는 강력한 명령줄 도구입니다. ADB는 안드로이드 앱을 개발, 디버깅, 테스트하고 디바이스와 상호 작용하기 위해 필수적입니다. 이 글에서는 ADB의 역할, 기능, 사용법, 주요 명령어 및 활용 사례에 대해 자세히 설명하겠습니다. ADB의 주요 역할과 기능 디버깅 및 로깅 ADB를 사용하여 디바이스에서 실행 중인 앱의 로그를 가져오고 디버그 정보를 확인할 수 있습니다. 이를 통해 앱의 문제를 해결하고 개선할 수 있습니다. 파일 전송 ADB를 통해 파일 및 디렉토리를 디바이스와 컴퓨터 간에 복..

IT/Android 2023.09.13

[Android Studio] 안드로이드 아키텍처 패턴(MVVM, MVP)이 뭔가요?

안녕하세요 안드로이드 공부하다가 아키텍처 패턴이 나와서 정리해보려고합니다. MVVM (Model-View-ViewModel) MVVM 아키텍처 패턴은 모델(Model), 뷰(View), 뷰 모델(ViewModel)로 구성됩니다. 모델은 데이터와 비즈니스 로직을 처리합니다. 뷰는 사용자 인터페이스를 나타내고, 뷰 모델은 뷰와 모델 사이의 중간 역할을 하며 데이터 바인딩을 통해 뷰에 데이터를 제공합니다. MVVM은 데이터와 UI를 분리하여 테스트 가능성을 높이고 유지 관리를 쉽게 합니다. MVP (Model-View-Presenter) MVP 아키텍처 패턴은 모델(Model), 뷰(View), 프레젠터(Presenter)로 구성됩니다. 모델은 데이터와 비즈니스 로직을 처리하고, 뷰는 사용자 인터페이스를 표시..

IT/Android 2023.09.12

[Android Studio] 안드로이드 가상 디바이스 (AVD)란 무엇인가요?

안녕하세요 안드로이드 앱 개발하다보면 안드로이드 디바이스가 없어서 어떻게 테스트해봐야할지 막막한 경우가 있죠 이 때문에 안드로이드 개발자들은 "안드로이드 가상 디바이스" 줄여서 "AVD"를 사용하여 이러한 문제를 해결합니다. AVD란 무엇인가요? AVD는 "Android Virtual Device"의 약어로, 안드로이드 애플리케이션을 개발하고 테스트하기 위한 가상 에뮬레이터 디바이스입니다. 이는 안드로이드 스튜디오(Android Studio)와 같은 개발 환경에서 제공되며, 여러 가지 안드로이드 디바이스 및 환경을 시뮬레이트하고 테스트하는 데 사용됩니다. AVD의 중요성 AVD를 사용하는 이유는 다음과 같습니다. 다양한 디바이스 시뮬레이션 AVD를 사용하면 다양한 안드로이드 디바이스 및 화면 크기에서 앱..

IT/Android 2023.09.10

[Android Studio] 안드로이드의 핵심 컴포넌트(Activity, Service, BroadcastReceiver, ContentProvider) 가 뭔가요?

안녕하세요 안드로이드를 공부하면서 핵심 컴포넌트라는 개념이 중요하다는데 한번 알아보겠습니다. 핵심 컴포넌트는 총 4가지입니다. 액티비티 (Activity) 액티비티는 안드로이드 앱의 사용자 인터페이스(UI)를 나타내는 컴포넌트입니다. 사용자가 화면과 상호 작용하는 데 사용됩니다. 각 액티비티는 하나의 화면을 표시하며, 사용자가 다른 액티비티로 이동할 때 액티비티 간의 전환이 발생합니다. 서비스 (Service) 서비스는 백그라운드에서 실행되는 컴포넌트로, 사용자 인터페이스를 갖지 않습니다. 주로 백그라운드 작업을 수행하거나, 오래 걸리는 작업을 처리하고 다른 앱 구성 요소와 데이터를 공유하는 데 사용됩니다. 예를 들어, 음악 앱은 음악 재생을 위한 서비스를 사용하여 앱이 화면을 닫아도 음악을 계속 재생할..

IT/Android 2023.09.08

[Android Studio] "No JVM installation found" 오류 어떻게 해결해요?

안녕하세요 "No JVM installation found" 오류는 Android Studio가 Java Virtual Machine (JVM)을 찾지 못할 때 발생하는 오류입니다. Android Studio는 JVM을 실행하는데 필요하므로 이 오류를 해결해야 합니다. 다음은 이 문제를 해결하기 위한 몇 가지 단계입니다 JDK 설치 확인 먼저 컴퓨터에 Java Development Kit (JDK)가 설치되어 있는지 확인하십시오. Android Studio는 JDK를 사용하여 Java 언어로 작성된 Android 앱을 빌드하고 실행합니다. JDK를 설치하지 않았거나 올바르게 설치하지 않았다면 오류가 발생할 수 있습니다. 환경 변수 설정 JDK가 올바르게 설치되었는데도 Android Studio가 JVM을..

IT/Android 2023.09.06

[Android Studio] GlobalApp 이 뭐에요?

안녕하세요 Global App 에 대해서 포스팅해보겠습니다. 안드로이드 스튜디오에서 "Global App"이라는 용어는 기본적으로 안드로이드 앱의 전역적인 상태나 동작을 관리하는 구조나 클래스를 가리킵니다. 이 개념은 여러 컴포넌트 간의 데이터 공유, 앱 전체의 설정 또는 기능의 활성화/비활성화와 같은 글로벌한 측면을 처리하는 데 사용됩니다. 왜 Global App을 사용하는가? 안드로이드 앱은 여러 화면(액티비티)과 기능으로 구성되어 있습니다. 이 때, 앱 전반에서 공유되어야 할 데이터나 설정이 있을 수 있습니다. 예를 들어, 사용자의 로그인 상태, 어플리케이션 설정, 언어 설정 등은 앱의 여러 부분에서 사용될 수 있는데, 이런 데이터와 설정을 여러 컴포넌트 간에 일관되게 관리하기 위해 Global A..

IT/Android 2023.08.21

[Android] UI Thread 에서는 SyncPopup 사용 불가 Error 원인과 해결책 알려주세요

안녕하세요 안드로이드 모바일 개발하다가 막혔습니다... 그래서 정리합니다! UI 스레드란? UI 스레드는 안드로이드 애플리케이션에서 사용자 인터페이스를 업데이트하는 메인 스레드입니다. UI 스레드에서는 애플리케이션의 그래픽 사용자 인터페이스 요소에 대한 작업을 처리하는데 사용됩니다. 그러나 UI 스레드는 메인 스레드이므로 해당 스레드에서는 일부 작업을 수행할 수 없습니다. SyncPopup 사용 불가 에러는 UI 스레드에서 SyncPopup를 사용하려고 할 때 발생하는 오류입니다. SyncPopup 이란? SyncPopup는 Android 프레임워크에서 제공하는 팝업 뷰 중 하나입니다. SyncPopup는 백그라운드 스레드에서 비동기적으로 사용됩니다. 따라서 UI 스레드에서 SyncPopup를 사용하려고..

IT/Android 2023.07.02

안드로이드 스튜디오 바인딩(Data Binding)이 뭐에요?

안녕하세요 안드로이드 개발하다가 Binding 개념이 나와서 정리해보려합니다. 안드로이드 스튜디오 바인딩 (Android Studio Data Binding)은 안드로이드 앱 개발에서 UI와 데이터를 손쉽게 연결할 수 있는 라이브러리입니다. 이를 통해 XML 레이아웃 파일과 데이터 모델을 바인딩하여 UI 업데이트를 자동화하고, 개발자의 생산성을 향상시킬 수 있습니다. 이번 글에서는 안드로이드 스튜디오 바인딩의 개념과 장점, 사용 방법에 대해 자세히 알아보겠습니다. 안드로이드 스튜디오 바인딩의 개념 안드로이드 스튜디오 바인딩은 안드로이드 앱의 UI 컴포넌트와 데이터를 연결하는 메커니즘을 제공합니다. 기존에는 findViewById()를 사용하여 XML 레이아웃에서 UI 요소를 찾고, 데이터를 직접 설정하고..

IT/Android 2023.06.18
반응형