안드로이드/정리

    [Android] Coroutine에 관해...

    루틴 컴퓨터 프로그램에서 하나의 정리된 일(작업을 정의한 명령어 집합) 프로그램은 보통 크고 작은 여러가지 루틴을 조합시켜 성립 루틴은 메인루틴과 서브루틴으로 나뉨 메인루틴 프로그램 전체의 개괄적인 동작 절차 표시하도록 만드는 핵심 역할 서브루틴 반복되는 특정 기능을 모아 별도로 묶어 이름을 붙이고 사용하는 하위 루틴 서브루틴은 별도의 메모리에 해당 기능을 모아 놓고 있어, 서브루틴이 호출될 때마다 저장된 메모리로 이동했다가 return 을 통해 원래 호출자의 위치로 돌아옴 함수와 비슷한 개념 서브루틴과 코루틴 코루틴도 루틴의 일종이다. 서부루틴과 코루틴의 차이점 코루틴에선 메인-서브 개념이 없어 모든 루틴들이 서로 호출할 수 있음 메인 루틴에서 특정 서브루틴의 공간으로 이동 후 return에 의해 호출..

    [Android] Thread에 관해...

    쓰레드란? => 프로세스 내에서 순차적으로 실행되는 실행 흐름의 최소 단위이다. 프로세스? => 운영체제에 의해 메모리에 적재되어 실행 중인 프로그램. => 스레드로 구성 => 모든 프로세스엔 1개 이상의 스레드가 존재하여 작업 수행. => 하나의 프로세스 내에 2개 이상의 스레드가 동작하도록 하는 것을 멀티스레드 프로그래밍 멀티스레드 => 하나의 프로세스 내 둘 이상의 쓰레드가 동시에 작업 수행하는 것 => 각 쓰레드가 자신이 속한 프로세스의 메모리 공유 => CPU의 코어 수보다 더 많은 쓰레드가 실행되면, 각 코어가 정해진 시간 동안 여러 작업 번갈아가며 수행 => 각 쓰레드가 서로 교체될 때 쓰레드 간의 문맥 교환(context switching)이 발생 => Context Switching은 현..

    [Android] 센서에 관해... (with camera)

    안드로이드 기기는 움직임, 방향 및 다양한 환경 조건을 측정하는 센서가 내장되어 있다. 1. 환경센서 2. 동작센서 3. 위치센서 센서 사용을 위한 클래스 및 인터페이스 4가지 1. Sensor 2. SensorEvent 3. SensorManager 4. SeonsorEventListener SensorManager 센서를 관리하고 이용할 수 있도록 하는 클래스. 센서 이벤트 리스너 등록, 센서의 값 얻어오기 가능 Sensor SensorManager를 통해 활용하고자 하는 유형의 센서 클래스 생성 가능 유형 - TYPE_ACCELEROMETER [ 하드웨어 ] - 중력을 포함해 x,y,z에서 기기에 적용되는 가속력 측정 (움직임 감지 흔들기, 기울기 등) - TYPE_GRAVITY [ 소프트웨어, 하..

    [Android] Firebase에 관해...

    프로젝트 만들기 https://console.firebase.google.com/ 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 프로젝트명 설정 후 프로젝트를 만든다. 프로젝트 완성 ! 안드로이드 탭을 선택하여 시작한다. 설명에 따라 단계를 진행한다. SHA-1은 안드로이드 스튜디오 터미널에서 gradlew signingReport 를 입력하면 나온다. 2단계에서 google-services.json을 다운 받은 후 안드로이드스튜디오의 Project단 app에 google-service.json을 넣어준다. 이렇게.. 3단계에서 SDK를 프로젝트 수준, 앱 수준 gradle에 다 세팅해준다. 그럼 끝 !!! Real..

    [Android] ContentResolver, ContentProvider에 관해

    ContentProvider는 어떤 앱이 다른 앱으로 데이터를 제공하고자 할 경우 사용한다. 요청은 ContentResolver 클래스에 의해 처리된다. URI ( Uniform Resource Identifier ) 데이터의 위치를 표시하고 데이터를 가져오기 위해 사용 ex) content://authority/path/id - content:// 문자열이 URI 을 나타냄 - authority 중복되지 않아야 하며 패키지 명을 사용하는 것을 권장 - path 가상의 경로 - id 있으면 단수, path 까지만 있으면 복수 Query parameter resolver.query( , , , , ) - projection : 칼럼을 필터링 - selection : 행을 필터링하는 방법 - selectio..