Study 30

안드로이드 면접 북 스터디 Q60 ~ Q66

안드로이드 기술 면접 책 북 스터디를 하면서보다 간결하게 실제 면접하는 것처럼 글을 정리해보려 한다. 중요하다고 생각된 질문만 정리했다. Q60) Json 형식을 어떻게 객체로 직렬화하나요?최신 안드로이드 앱은 원격 서버와 자주 상호작용하기 때문에 Json을 객체로 직렬화합니다.앱은 Kotlin 객체를 Json으로 직렬화하여데이터를 백엔드로 보내 필요한 정보를 요청하고, 서버의 Json 응답을 받으면 다시 객치로 역직렬화 합니다. 수동 직렬화 및 역직렬화외부의 솔루션을 사용하지 않고도 직접 수동적으로 문자열 조작 및 파싱 기술을 통해객체를 Json 문자열로 변환하고, 그 반대로 변환하여 직, 역직렬를 할 수 있습니다.data class User(val name: String, val age: Int)fu..

Study 2025.10.23

안드로이드 면접 북 스터디 Q50 ~ Q59

안드로이드 기술 면접 책 북 스터디를 하면서보다 간결하게 실제 면접하는 것처럼 글을 정리해보려 한다. 중요하다고 생각된 질문만 정리했다. Q51) ViewBinding을 사용하면 어떤 장점이 있나요? ViewBinding은 레이아웃의 뷰와 상호 작용하는 프로세스를 단순화하기 위해 도입된 기능입니다.수동으로 findViewById()를 호출하지 않아도 되고, 뷰에 접근하는 타입-세이프 방식을 제공하여보일러 플레이트 코드를 줄이고 잠재적인 런타임 오류를 최소화합니다. ViewBinding 작동 방식프로세스에서 ViewBinding을 활성화하면 안드로이드는 각 XML 레이아웃 파일에 대한 바인딩 클래스를 생성합니다.생성된 바인딩 클래스의 이름은 레이아웃 파일 이름에서 파생되어각 밑줄은 카멜 케이스로 변환되고 ..

Study 2025.10.20

안드로이드 면접 북 스터디 Q40 ~ Q49

안드로이드 기술 면접 책 북 스터디를 하면서보다 간결하게 실제 면접하는 것처럼 글을 정리해보려 한다. 중요하다고 생각된 질문만 정리했다. Q41) RecyclerView는 내부적으로 어떻게 동작하나요?RecyclerVIew는 새로운 아이템 뷰를 반복적으로 인플레이션 하는 대신 재활용하여대규모 데이터 셋을 효율적으로 표시하도록 설계된 유용하고 유연한 안드로이드 컴포넌트입니다.ViewHolder 패턴으로 알려진 뷰관리를 위한 객체 풀과 유사한 매커니즘을 사용하여 이러한 효율성을 달성합니다. RecyclerView 내부 매커니즘의 핵심 개념뷰 재활용(Recycling Views)RecyclerView는 데이터 셋의 모든 항목에 대해 새 뷰를 생성하는 대신 기존 뷰를 재사용합니다.뷰가 보이는 영역 밖으로 스크롤..

Study 2025.10.16

안드로이드 면접 북 스터디 Q30 ~ Q39

안드로이드 기술 면접 책 북 스터디를 하면서보다 간결하게 실제 면접하는 것처럼 글을 정리해보려 한다. 중요하다고 생각된 질문만 정리했다. Q30) R8 최적화란 무엇인가요? R8은 안드로이드 빌드 프로세스에서 APK 또는 AAB의 크기를 줄이고런타임 성능을 향상시키기 위해 사용되는 코드 축소 및 최적화 도구입니다.안드로이드 빌드 시스템에 통합되어 Proguard 도구를 대체하고, 코드 축소, 최적화, 난독화 및 리소스 관리를 위한 제공을 제공합니다. R8 최적화의 주요 특징죽은 코드 제거 : 코드베이스를 분석하여 앱에서 도달할 수 없거나 사용되지 않는 코드를 식별하고 제거인라이닝 : 짧은 메서드나 함수를 호출자쪽에서 직접 인라이닝하여 메서드 호출 오버헤드를 줄이고 런타임 성능을 향상시킵니다.클래스 병합 ..

Study 2025.10.13

안드로이드 면접 북 스터디 Q20 ~ Q29

안드로이드 기술 면접 책 북 스터디를 하면서보다 간결하게 실제 면접하는 것처럼 글을 정리해보려 한다. Q20) ActivityManager란 무엇인가?ActivityManager는 기기에서 실행중인 Activity, 태스크, 프로세스에 대한 정보를 제공하고관리하는 안드로이드 시스템 서비스 입니다.안드로이드 프레임워크의 일부로, 개발자가 앱 생명주기, 메모리 사용량 및 태스크 관리 측면에서 상호작용하고제어할 수 있도록 합니다. ActivityManager의 주요 기능태스크 및 Activity 정보- 실행 중인 태스크, Activity 및 해당 스택 상세에 대한 세부 정보를 추적할 수 있습니다.- 앱 동작 및 시스템 리소스 사용량을 모니터링 하는데 도움이 됩니다.메모리 관리- 앱의 메모리 소비 및 시스템 전..

Study 2025.08.16

안드로이드 면접 북 스터디 Q10 ~ Q19

안드로이드 기술 면접 책 북 스터디를 하면서보다 간결하게 실제 면접하는 것처럼 글을 정리해보려 한다. Q10) BroadcastReceiver란 무엇인가요?BroadcastReceiver는 안드로이드 운영 체제 전체의 브로드캐스크 메시지나앱 특정 브로드캐스트를 수신하고 응답할 수 있도록 하는 컴포넌트 동적인 시스템 또는 앱 수준 이벤트에 반응하는 응답성 있는 애플리케이션을 구축하는데 유용합니다. BroadcastReceiver의 목적Activity나 Service의 생명주기에 직접적으로 연결되지 않을 수 있는 이벤트를 처리하는 데 사용됩니다.백그라운드에서 계속 실행되지 않고도 변경 사항에 반응할 수 있도록 하는 메시징 시스템 역할을 하여 리소스를 절약합니다. BroadcastReceiver의 유형시스템 ..

Study 2025.08.09

성공적인 안드로이드 앱 인수인계를 위한 체크리스트

사람이 바뀌어도 프로젝트는 계속되어야 한다.사람이 바뀌면 계정, 작업환경이 바뀐다그러기에 우리는 언제나 인수인계를 준비해야만 한다.사람이 바뀐다고 모든 계정을 갈아엎고 작업환경을 갈아엎는다면 시간을 많이 사용할 것이다.이번에 팀 프로젝트에 참여하게 되면서 알아두면 좋을 것들을 정리해 봤다. 구글 콘솔, 키파일 관련앱이 만약 플레이스토어에 배포되어 있다면 후임자는 이어받아서 배포를 해야 한다.먼저 앱의 배포 권한을 이전받는 과정을 알아보자.앱 이전받기앱을 이전받으려면 다음 프로세스를 거치면 된다.https://support.google.com/googleplay/android-developer/answer/6230247?hl=ko 다른 개발자 계정으로 앱 이전 - Play Console 고객센터도움이 되었..

Study/Android 2025.06.07

앱 현지화, 개별 앱 언어 변경 설정

저는 현재 하루를 기록하고 관리하는 Routiner라는 안드로이드 앱을 만들고 있습니다.기록알람, 반복 기록 저장과 같은 기능들을 추가하고 있습니다. 최근 들어서 앱에서 다른 언어도 지원하면 어떨까라는 생각을 하게 되었습니다.그렇게 된다면 한국 사용자뿐만 아니라 미국, 일본, 여러 나라에서도 저의 앱을 사용할 수 있어서 좋을 것 같다고 생각했습니다. 안드로이드의 경우 어떻게 적합한 리소스를 찾을까?https://developer.android.com/guide/topics/resources/providing-resources?hl=ko#BestMatch 앱 리소스 개요 | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 앱 리소스 개요 컬렉션..

Study/Android 2025.05.04

[Hilt] @Provides를 사용하는 경우 object 키워드로 클래스를 정의해야 하는 이유

Android의 DI 라이브러리인 Hilt 공식 문서를 살펴보면@Provides를 사용하여 인스턴스 삽입 케이스에서@Module 애노테이션을 부착한 클래스를 object 키워드로 설정했습니다.왜 class가 아닌 object 키워드를 사용한 지에 대해 알아보겠습니다.object 키워드란?Kotlin에서 object 키워드가 의미하는 바는 클래스를 정의함과 동시에 객체를 생성하는 것입니다.즉 사용자의 객체 생성 없이 해당 객체를 사용할 수 있음을 의미합니다.class 키워드 대신 object를 사용하면 해당 클래스의 객체는 싱글턴으로 생성됩니다. 그 외에 다른 용도로 object 키워드를 사용할 수가 있는데해당 글과는 맞지 않아 적지 않겠습니다. 오늘 글의 예시인 ApiModule입니다.ApiModule은..

Study/Android 2024.12.18

[Android] 멀티모듈 프로젝트 UI단에서 httpException을 처리하는 방법

서두 저는 최근 nexon open api를 이용하여 "메이플스토리" 게임의 캐릭터 정보를 검색하는 앱을 만들고 있습니다. 해당 글 또한 해당 앱을 만들면서 retrofit2.HttpException을 적절한 에러 메시지로 표시하는것을 설명한글입니다. 해당 앱에대해 더 궁금하시다면 아래 링크를 방문해주시면 감사하겠습니다. https://github.com/hegunhee/MapleFinder GitHub - hegunhee/MapleFinder Contribute to hegunhee/MapleFinder development by creating an account on GitHub. github.com 사전 설명 해당 앱은 현재 Multi Module로 구성되어있고 다음 그림과 같습니다(해당 글에 포..

Study/Android 2024.03.11