목록안드로이드 (30)
운기의 블로그
이전 두편에서는 코루틴이란 무엇인지에 대해서 이름의 정의부터 알아봤다. 이번부터는 안드로이드 개발자 문서 가이드에 따라서 하나하나 알아보도록 하겠다. 안드로이드 개발자 가이드에서는 비동기 프로그래밍에 코루틴을 권장하는 이유는 4가지이다. 경량? 경량은 가벼운 무게라는 뜻을 가지고있다. 그렇다면 뭐가 가벼운지에 대해서 생각해 볼 필요가 있다. 안드로이드 개발자 가이드 문서에서 설명하기로는 스레드를 차단하지 않는 정지를 지원하므로 단일 스레드에서 많은 코루틴을 실행 할 수 있다고 한다. 여기서 중요한건 스레드를 정지하지 않고, 단일 스레드로 많은 코루틴을 실행한다는거다. 해당 문구에 대해서 알아기 위해서는 우리는 이전편에서 알았단 비동기에 대해서 알아야지 이해를 할 수 있다. 우선 기존에 비동기 처리방법에 ..
이전글 에서는 왜 코루틴이라고 불리는지에 대해서 기본 개념을 알아봤다. 이번글에서는 코루틴이 비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 실행 설계 패턴이라고 설명하는지 알아보려고 한다. 그전에 동시성(동시 실행 설계 패턴)이 무엇인지 비동기가 무엇인지 순서대로 알아보자 비동기와 동시성에 대해서 어느정도 알고 있다는 가정하에 작성해보려고 한다. 동시성이란? 동시성이라는 용어에 대해서 찾아보면 꼭 같이 나오는 용어가 있는데 바로 병렬성이다. 예전에는 하나의 프로세스에 하나의 스레드일 때는 상상도 할 수 없던 방법이다. 하지만 나날이 성능이 좋아지면서 멀티 프로세스와 멀티스레드가 등장하면서 해당 기법은 중요한 기법으로 자리를 잡았다. 동시성은 하나의 프로세스에서 여러작..
처음 코루틴을 봤을 때 안드로이드 개발자 가이드 문서에서는 개발자 가이드 문서에서 코루틴은 비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 실행 설계 패턴이라고 설명한다. 코루틴의 장점 경량 : 코루틴을 실행 중인 스레드를 차단하지 않는 정지를 지원하므로 단일 스레드에서 많은 코루틴을 실행할 수 있습니다. 정지는 많은 동시 작업을 지원하면서도 차단보다 메모리를 절약합니다. 메모리 누수 감소 : 구조화된 동시 실행을 사용하여 범위 내에서 작업을 실행합니다. 기본으로 제공되는 취소 지원 : 실행중인 코루틴 계층 구조를 통해 자동으로 취소가 전달됩니다. jetPack 통합 : 구조화된 동시 실행에 사용할 수 있는 자체 코루틴 범위도 제공합니다. 라고 설명되어 있다. 스레드를..
1. 안드로이드 저장소 저번에 쉐어드 프리퍼런스에 대해 소개하면서 안드로이드에서는 앱 데이터나 파일을 저장하는 방법에 대해서 간략하게 설명했다. 쉐어드 프리퍼런스가 키 - 값 쌍 으로 데이터를 저장한다면 ROOM은 로컬 데이터베이스에 저장하는 방식이다. 2. ROOM 사용할 때 ROOM을 사용하는 경우는 안드로이드 가이드에서는 아래와 같이 설명하고 있다. Apps that handle non-trivial amounts of structured data can benefit greatly from persisting that data locally. The most common use case is to cache relevant pieces of data so that when the device ca..
토이 프로젝트로 계산기 앱을 만들고 있었다. tableLayout으로 균일하게 버튼을 배치하려고 했는데 버튼의 크기가 커서 레이아웃 밖으로 나가는 현상이 발생했다. 나누기, x , -, +, = 마지막 버튼들이 레이아웃 밖으로 나간걸 볼 수 있다. ( CosntraintLayout을 사용했다면 제약사항을 주어 레이아웃 배치를 할 수 있었을 거다. ) tableLayout의 경우는 어떻게 해야하는지 알아 본 결과 android:shrinkColumns="*" shrinkColumns를 사용한다. shrink는 수축하다, 줄이다라는 뜻을 가지고 있고 columns는 열 을 뜻하는데 이때 해당 열들을 자동으로 줄여서 레이아웃안에 균일하게 배치되게 된다. 사용법 두 번째 열만 줄이고 싶다면 android:shr..
코틀린으로 넘어가면서 그동안 간단한 데이터를 저장하는데 사용했던 쉐어드 프리퍼런스에 간략하게 적어보려고한다. 1. 안드로이드 저장소 안드로이드에서는 사용자 데이터를 기기의 파일, 키 - 값 쌍, 데이터베이스, 기타 데이터 유형으로 보존하고 다른앱과 기기 간에 데이터를 공유할 수 있다. 각각의 유형은 사용하는 시점이 다르다. 2. SharedPreference ShardPreference 비교적 적은 데이터를 저장하는데 사용이 되며 키-값을 쌍을 이용해서 데이터를 저장하게 된다. 저장된 데이터는 모바일에서 데이터 삭제를 하지 않는 이상 데이터가 유지되는 장점도 있다. 그럼 쉐어드 프리퍼런스 사용법에 대해서 알아보자 3. SharedPreference 사용법 - 자바 쉐어드 프리퍼런스를 사용하기 위해서는 쉐..