Android/Study

Android/Study

[Android] Coroutine(코루틴) 간단 정리

Coroutine에 대해서 알아보자. Coroutine이란? Co(함께, 동시에) + routine(작업들의 집합) Coroutine은 비동적인 작업을 효율적으로 처리하기 위한 기술입니다. 코루틴은 스레드와 마찬가지로 동시성을 다루지만, 스레드와는 달리 코루틴은 하나의 스레드에서 여러 개의 작업을 처리할 수 있습니다. 코루틴은 일반적으로 suspend 함수를 사용하여 구현됩니다. suspend 함수는 실행 중지가 가능한 함수로, 실행이 중지된 후 다시 실행될 수 있습니다. 이를 통해 코루틴은 비동기 작업을 중단하고 다른 작업을 수행한 후 다시 이어서 작업을 진행할 수 있습니다. 코루틴은 비동기 작업을 간결하고 가독성 높은 코드로 작성할 수 있게 해주며, 코루틴 컨텐스트를 이용하여 작업의 스케줄링과 취소를..

Android/Study

[Android] 모듈을 기반으로하는 클린 아키텍처를 셋팅

이전에 클린아키텍처가 무엇인지에 대해서 글을 썻다. 오늘은 클린아키텍처를 안드로이드에서 실습해보자. 사이드 프로젝트 형식으로 해보았다. 1. 맨 처음에 Android Project 형식을 App -> Project로 바꾼 이후에 Project를 우 클릭하면 다음과 같은 화면이 나온다. 2. 이후 Module을 클릭하면 이와같은 Create New Module이 나온다. 그러면 2번째에 있는 Android Library를 클릭하여 사용자가 생성하고 싶은 이름으로 새로운 모듈을 생성하자. (ex. Data. Domain. Presentaion) 3. 위와 같은 방법으로 실행하였다면 아래와 같이 셋팅이 되어있을 것이다. 그렇다면 Gradle 파일로 가서 의존성을 넣어주자. Data 모듈의 Gradle 파일에는..

Android/Study

[Android] Intent 란?

Intent 란? 인텐트는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버)간에 통신을 하기 위한 메시지 객체 이다. 즉, 쉽게 말하자면 Component를 실행시키기 위해 시스템에 넘기는 정보이다. Intent를 사용하는 방법은 여러가지가 있지만 일반적으로 3가지이다. 액티비티의 시작: startActivity(Intent), startActivityForResult(Intent, requestCode) 서비스의 시작: startService(Intent), bindService(Intent) 브로드케스트 전달: sendBroadcast(Intent), sendOrderedBroadcast(Intent), sendStickyBroadcast() 또한 인텐트의 유형으로는 명시적 인텐트(Explicit I..

Android/Study

[Android] Context 란?

오늘은 안드로이드의 Context에 대해서 공부해보자. Context란? 애플리케이션(객체)의 현재 상태의 맥락(context)를 의미한다. Context 는 크게 두 가지 역할을 수행하는 Abstract 클래스 입니다. 어플리케이션에 관하여 시스템이 관리하고 있는 정보에 접근하기 안드로이드 시스템 서비스에서 제공하는 API를 호출 할 수 있는 기능 컨텍스트는 새로 생성된 객체가 지금 어떤일이 일어나고 있는지 알 수 있도록 한다. 따라서 액티비티와 애플리케이션에 대한 정보를 얻기 위해서는 컨텐스트를 사용한다. 또한 컨텍스트는 시스템의 핸들러와도 같다. 리소스, 데이터베이스, preferences 등에 대한 접근을 제공한다. 안드로이드 앱에서는 Activity가 존재하는데, 액티비티는 애플리케이션이 현재 ..

Android/Study

[Android] Fragment 생명주기(Life Cycle)

저번에는 Activity 생명주기에 관해서 정리를 하였다.https://superohinsung.tistory.com/56 onStart() -> onResume() ->" data-og-host="superohinsung.tistory.com" data-og-source-url="https://superohinsung.tistory.com/56" data-og-url="https://superohinsung.tistory.com/56" data-og-image="https://scrap.kakaocdn.net/dn/AlIk8/hyRgrMLHmC/ks2qXNt7GcdWmuhop8WEKk/img.png?width=800&height=982&face=0_0_800_982,https://scrap.kakaoc..

Android/Study

[Android] Clean Architecture(클린 아키텍처) 란

오늘은 클린 아키텍처에 대해서 공부해보자. 특정 수준 혹은 복잡도를 가진 애플리케이션을 위한 고품질 코드를 작성하기 위해서는 상당한 노력과 경험이 필요하다. 이에 기존의 계층형 아키텍처가 가지던 의존성에서 벗어나게 하는 설계를 제공하도록 하는 것이 Clean Architecture(클린 아키텍처)이다. 클린 아키텍처는 Robert C. Martin이 작성한 블로그 글에서 정립한 용어로, 클린코드 그리고 클린아키텍처라는 책이 존재한다. (나중에 읽어보자) 클린아키텍처는 외부 인터페이스에서 독립적으로 구현할 수 있도록 하게 하며, 계층형 아키텍처와는 달리 클린 아키텍처의 의존성은 항상 원 안쪽을 향한다. 즉, 바깥쪽 원에 해당하는 어떠한 것들도 안쪽 원에는 영향을 주지 않는다. (위 그림 참조) 이 아키텍처..

Android/Study

[Android] Android 란?

Android란? 안드로이드는 구글에서 만든 스마트폰용 운영체제입니다. 운영체제와 미들웨어, 사용자 인터페이스, 어플리케이션, MMS 서비스 등을 하나로 묶어 서비스를 제공하며 다양한 어플리케이션을 만들어 설치하면 실행될 수 있도록 구성된 어플리케이션 플랫폼이라고도 볼 수 있다. 많은 사람들이 iOS(애플 운영체제)에 견주어 스마트폰과 태블릿으로 안드로이드 운영체제를 사용하면서, 안드로이드는 세계 모바일 시장에서 가장 성공한 OS라는 평가를 받고있으며, 안드로이드는 리눅스(Linux)를 기반으로 제작되었고 언어는 자바와 코틀린을 사용한다. Android의 특징 자바기반 : 안드로이드를 개발할 떄 사용하는 언어는 자바이다. 따라서 전 세계의 많은 자바 개발자들이 안드로이드 앱 개발에 뛰어들 수 있었고 안드..

Android/Study

[Android] MVVM 패턴 이란?

안드로이드에는 다양한 아키텍처 구조가 존재한다.오늘은 MVVM 패턴에 대해서 공부해보려고 한다. MVVM는 간단하게 Model, View, ViewModel의 약자입니다.MVVM의 구조는 MVC, MVP의 단점을 보완한 구조로 하나의 앱 아키텍처를 최대한 기능적으로 작은 단위로 나누어 테스트가 쉽고 큰 프로젝트도 상대적으로 관리하기가 좋은 구조입니다. MVVM은 모든 입력들이 View로 전달되며, ViewModel은 입력에 해당하는 Logic을 처리하여 View에 데이터를 전달합니다. ViewModel은 View를 따로 참조하지 않기때문에 독립적이며 ViewModel과 View는 1:N관계입니다. 따라서 View는 자신이 이용할 ViewModel을 선택해 데이터를 바인딩하여 업데이트를 받게됩니다.그 후 ..

Tenacity_Dev
'Android/Study' 카테고리의 글 목록 (7 Page)