분류 전체보기(31)
-
Context란 무엇일까?
Context의 역할 Context 크게 두 가지 역할을 수행하는 추상 클래스입니다. - 어플리케이션에 관하여 시스템이 관리하고 있는 정보에 접근 - 안드로이드 시스템 서비스에서 제공하는 API를 호출 할 수 있는 기능 2가지 역할을 합니다. AOS가 제공해주는 시스템 기능 및 서비스를 프로그래머가 사용할 수 있도록 해주는 연결 포인트 (개인적인 생각으로는 운영체제의 대리인같은 느낌입니다.) Context의 종류 안드로이드 프레임워크에서 Context는 2가지 종류로 나뉩니다. - Application Context - Activity Context Application Context -> 어플리케이션의 라이프 사이클에 접목되어지는 개념 Application Context 는 어플리케이션이 실행되고 종료..
2019.05.07 -
4대 컴포넌트
액티비티(Activity) 액티비티는 UI화면을 담당하는 컴포넌트 입니다. - 어플리케이션은 반드시 하나 이상의 Activity를 가지고 있어야 합니다. - 액티비티는 여러 View를 가질 수 있습니다. - Fragment를 추가하여 화면을 분할하여 사용 가능합니다. - 두개의 액티비티를 화면에 동시에 띄울 수 없습니다. 서비스(Service) 서비스는 백그라운드에서 실행되는 컴포넌트이며 오랫동안 실행되는 작업이나 원격 프로세스를 위한 작업을 할 때 사용됩니다. - UI가 존재하지 않습니다. - 한번 실행되면 백그라운드에서 계속 작업을 수행합니다. - 모든 서비스는 Service 클래스를 상속받아 사용합니다. - 네트워크를 통해서 데이터를 가져올 수 있습니다. - 서비스는 메인 쓰레드에서 동작합니다. 방..
2019.05.07 -
Retrofit2 와 okHttp를 사용하여 통신을해보자
안녕하세요 오늘은 Retrofit2와 okHttp를 이용해서 저의 gitHub의 repo를 가져오는 통신을 해보려고합니다. result 값은 okHttp와 logging interceptor를 사용하여 찍어보도록하겠습니다. App수준의 build.gradle의 dependencies{ } 안에 아래 코드를 넣어주도록합니다. implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'com.google.code.gson:gson:2.8.2' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' implementation 'com.squareup.okhttp3:okhttp:3.11.0'..
2019.01.31 -
Garbage Collection과 Heap
JVM의 Runtime Area의 영역들은 Thread가 시작할 때 생성되는 경우가 있고,JVM이 시작할 때 생성이되는 경우가 있습니다. JVM이 시작할 때 생기는 영역이 바로 Heap입니다. Heap은 new (객체 생성시) 인스턴스 및 배열이 저장되는 곳이며, 모든 Thread가 공유합니다.객체의 생성이 빈번한 JAVA는 메모리 이슈가 이곳에서 발생하게됩니다. 그렇기 때문에 Garbage Collection은 Heap영역에서 발생합니다. Heap은 Young 그리고 Old 영역으로 나뉩니다. Young 영역은 하나의 Eden 영역과 두개의 Survivor 영역으로 구성되어있기때문에JVM의 Heap은 4개의 영역으로 나뉜다고 볼 수있습니다. ( Young, Old, Eden, Survivor) 먼저, ..
2019.01.29 -
안드로이드 아키텍처란 무엇일까?
안드로이드 아키텍처 앱 개발자 관점에서 안드로이드 플랫폼 아키텍처를 자세히 이해하거나 응용할 필요는 없겠지만, 플랫폼이 어떻게 설계되었는지 앱이 어떤 환경에서 수행되는지 알아야한다고 생각합니다. 출처 https://developer.android.com 안드로이드 플랫폼은 리눅스 커널 기반입니다. HAL(Hardware Abstraction Layer)은 자바 API 프레임워크에 하드웨어 기능을 이용하는 표준 인터페이스를 제공합니다. 자바 API 프레임워크에서 하드웨어 기기(카메라,블루트스)를 이용하기 위한 코드가 실행되면 내부적으로 HAL의 라이브러리 모듈이 로딩되어 처리합니다. 안드로이드 런타임(Android Runtime)은 ART 가상머신을 이용하며 그 위에 일반 어플리케이션 개발 시 이용할 수 ..
2019.01.22