Application/Android Kotlin (7) 썸네일형 리스트형 [Android] Coroutine 예시 Coroutine 은 비동기 프로그래밍을 위한 프로그램 구성요소이다. 루틴 또는 스레드와 유사한 개념으로, 코드의 실행을 일시 중단하고 나중에 다시 시작할 수 있는 블록이다. 이러한 일시 중단과 재개는 애플리케이션의 효율성, 성능, 및 가독성을 향상시킬 수 있다. AppModalDrawer(drawerState, currentRoute, navActions) { TasksScreen( userMessage = entry.arguments?.getInt(USER_MESSAGE_ARG)!!, onUserMessageDisplayed = { entry.arguments?.putInt(USER_MESSAGE_ARG, 0) }, onAddTask = { navActions.navigateToAddEditTask(.. [Android] 4대 컴퍼넌트 기본적인 개념을 대충 알아두고 코드를 보고 다시 개념을 보면 그 의미를 조금 더 깊게 알 수 있다. Android 의 기본 4대 컴퍼넌트에 대해 가단하게 정리해보자. 후에 봤을 때 '아 이게 이런 내용이었어!' 하고 알 수 있게끔 액티비티 (Activity) UI를 나타내는 화면 사용자와 상호작용 진입점 역할 여러 화면 간의 내비게이션 서비스 (Service) 백그라운드에서 재생 (사용자 인터페이스 없이) 오래 실행되는 작업을 처리하는 데 적합 e.g. 음악 재생, 데이터 동기화, 백그라운드에서 파일 다운로드 방송 수신자 (Broadcast Receiver) 메시지 전달 및 이벤트 수신 e.g. 배터리 부족, SMS 수신, 인터넷 연결 변경 컨텐츠 제공자 (Content Provider) 데이터 저장, .. [Android] 데이터 저장 및 관리 참고하여 공부하고 있는 android architecture sample 의 데이터 저장 및 관리 부분이다. 안드로이드에서 데이터 저장 및 관리는 어떻게 수행되는지 파악하기 위해 각 파일에서 어떠한 역할이 수행되는지 알아보았다. 또한 그 과정에서 처음 보는 개념 및 궁금증에 대해 따로 정리해두었다. 각 파일 별 역할 DefaultTaskRepository.kt: 기본 작업 리포지토리 클래스를 정의한다. TaskRepository 인터페이스를 구현한다. 로컬 데이터 소스(localDataSource)와 네트워크 데이터 소스(networkDataSource)를 사용하여 작업(Task) 데이터를 관리한다. ModelMappingExt.kt: 이모델 간 변환을 위한 확장 함수를 정의한다. 데이터 모델 간의 변환.. [Kotlin] view binding 코드 해석 (var, val, lateinit, nullable) private lateinit var auth: FirebaseAuth private var _binding: FragmentEmailpasswordBinding? = null private val binding: FragmentEmailpasswordBinding get() = _binding!! 위의 코틀린 코드를 읽기 위해서 필요한 지식을 공부해보았다. var 와 val var 키워드로 선언된 변수는 값을 변경할 수 있는 반면에, val 키위드로 선언된 변수는 한번 초기화되면 값을 변경할 수 없다. lateinit 변수를 선언할 때, 초기 값을 할당하는 것이 아니고 나중에 필요한 시점에 값을 할당할 수 있다. view binding 안드로이드 앱 개발에서 UI 요소와 XML 레이아웃 파일을 연결하고.. [Android] Activity 와 Fragment 의 차이 Activity 앱이 UI를 그리는 screen을 제공함 사용자와 상호작용하는 하나의 화면을 담당 앱의 진입점 역할 Fragment Activity 안에서 사용할 수 있는 모듈 하나의 Activity 안에 여러 Fragment 포함 가능 Activity의 일부이며, 독립적으로 관리 Activity에서 Fragment를 추가, 제거, 교체하여 동적 UI 일반적으로 큰 화면에서는 하나의 Activity에 여러 개의 Fragment를 사용하여 유연한 UI를 구성한다. Activity와 Fragment는 각각 자체적인 생명주기를 가지고 있으며, 이 생명주기는 앱의 동작 및 화면 전환을 관리하는 데 중요하다. Activity 생명주기 onCreate(): Activity가 처음 생성될 때 호출된다. 여기에서 초기.. [Android] quick-start android (AndroidManifest.xml 분석) 웹과 마찬가지로 로그인, 회원가입은 firebase 연동을 통해 구현할 수 있다. 관련해서 공식 문서도 잘 되어있었다. 다만 단순히 코드의 부분부분만 나와있는 경우에는, 내가 아직 초보자라 그런지 직접적으로 사용하기 어려웠다. firebase를 이용한 샘플 코드(quickstart-android)는 전체 코드가 나와있어 사용하기 용이하였다. https://github.com/firebase/quickstart-android/tree/master/auth 이는 firebase 를 이용해서 다양한 로그인 방법(이메일+비밀번호, 구글, facebook oauth, MFA) 등에 대한 구현 코드이다. 코드의 양은 좀 되지만 구조가 단순하고 직관적이었다. 학습용으론 제격으로 보였다. 전체 코드를 통으로 분석하는 .. [Android] 입문 앱을 하나 만들기로 하였다. 장난감 앱을 만들 것이다. 내가 재밌게 놀 수 있고, 내 친구들도 재밌게 놀 수 있는 공간을 만들고 싶다. 그리고 간간이 용돈 정도 들어왔으면 좋겠다. 장난감을 만들고나서 내게 남을 것은 기술이다. 단순히 코딩하는 능력이 아닌, 앱을 바라보는 시야가 바뀌길 원한다. 안드로이드와 ios 중, 안드로이드를 고른 이유는 몹시 현실적이다. 시장점유율이 높은 운영체제를 골랐다. (국내 시장점유율이 안드로이드 7, ios 3 이다.) 확인해보고 싶은 사항은 새로운 언어, 환경에 얼마나 빨리 적응할 수 있냐 이다. 안드로이드, 코틀린 모두 나에게 낯선 단어들이다. 그러나 그동안 공부해왔던 벡엔드 기반 지식들이 있기에, 조금은 더 쉽게 공부를 진행할 수 있지 않을까 생각한다. https:/.. 이전 1 다음