본문 바로가기

Mobile/Android

[Android] 안드로이드 서비스 종류 및 생명주기 안드로이드 4대 컴포넌트 - 서비스란? 1. Service 정의 - 액티비티 처럼 사용자와 상호작용하는 컴포는트가 아닌 백그라운드에서 동작하는 컴포넌트 - 사용자에게 인터페이스를 제공하지 않고, 백그라운드에서 오래 실행되는 작업을 수행할 수 있는 애플리케이션 구성 요소 Ex) 파일 다운로드, 데이터 체크, 데이터 처리, 네트워크 트랜잭션, 음악 재성, Content Provider 와의 상호작용 등 - 액티비티가 종료되어 있는 상태(다른 앱으로 전환)에서도 동작하기 위해 만들어진 컴포넌트 Ex) 화면이 종료된 상태에서도 노래 재생 - 만약, 서비스가 실행되고 있는 상태라면, 안드로이드 OS 에서는 해당 프로세스를 웬만한 경우에 죽이지 않고 관리한자. 메모리 부족 등의 특별한 경우를 제외하고 백그라운드 동.. 더보기
[Android] 안드로이드 스프링부트 서버 통신 아. 날라가서 다시 쓴다. 스프링부트 서버 구축 진행 내용 요약 우선, AWS RDS 인스턴스를 생성하고, MySQL DB를 추가 구성으로 생성한 후 스프링부트 프로젝트에 연결했다. MySQL Workbench에서도 호스트로 접속하여 워크벤치 내에서 user 테이블과 간단한 회원가입을 테스트할 용도로 [identity(PK), name, id, password, passwordCheck] 와 같이 5개의 컬럼을 생성했다. 워크벤치에서 테이블을 생성한 후 스프링부트 프로젝트에서 실행한 결과 생성된 테이블이 반영된 것을 확인할 수 있었다. 스프링부트와 DB 연결을 완료하고, 테스트를 목적으로 간단한 컨트롤러와 연결되는 html 페이지를 생성하여 로컬 상에서 서버를 실행해 보았다. 그후, AWS EC2 서버에.. 더보기
[Android] 안드로이드 Activity 생명주기(Life Cycle) 안드로이드의 4대 컴포넌트 중 [액티비티, 서비스] 는 생명주기를 가지고 있다. - 여기에 더해, 액티비티의 하위 요소라고 할 수 있는 Fragment 역시 생명주기를 가지고 있다. 생명 주기(Life Cycle) 1. 생명주기의 정의 - 사용자가 앱을 탐색하고, 나가고, 돌아가는 등의 여러 상태 변화에 따라서 앱이 알아차릴 수 있도록 제공해주는 Callback 콜백(Call back) 메서드 1. 콜백 메서드의 정의 - 콜백 메서드란, 다른 함수에 인수로 전달되는 함수 - 일종의 이벤트 후에 실행될 것 - 각각의 상태 변화를 알아차릴 수 있도록 하여 상태 변화에 따른 할 일을 자동으로 알려주는 것 - 콜백에 대해 원하는 기능을 구현할 수 있음 2. 콜백 메서드의 목적 - 다른 클래스에서 일부 작업이 완.. 더보기
[Android] 안드로이드 Fragment 생명주기 프래그먼트 생명주기(Fragment Life Cycle) - Fragment 는 Activity 의 특징 일부를 물려받은 독자적인 생명주기를 가지는 UI 컴포넌트 - 그래서, Fragment의 생명주기는 Activity가 활성화된 상태(실행중인 상태)에서 작동 - 프래그먼트에서 필수적으로 구현해야 하는 메서드는, onCreate(), onCreateView(), onPause() 1. onAttach() 1) 액티비티에서 프래그먼트 추가 시 호출 2) 인자로 context를 받아 -> Listener Interface를 Implement한 경우, Context를 통해 가져올 수 있음 2. onCreate() 1) onAttach() 다음으로 호출되는 함수 2) Activity의 onCreate() 함수와.. 더보기
[Android] 안드로이드 브로드캐스트 리시버(Broadcast Receiver) 예제 안드로이드 4대 컴포넌트를 정리하면서 각 컴포넌트 별로 예제를 연습하기 위해서 작성하며, 여기서는 Broadcast Receiver 예제를 다룬다. 대표적인 브로트 캐스트 - 스마트폰에 전원 연결 및 전원 연결 해제 시 Toast Message 출력 - 방송 버튼 클릭 시 '방송' 에 해당하는 Toast Message 출력 AndroidManifest.xml - 브로드캐스트 이벤트를 사용하기 위해서는, AndroidManifest.xml 에 정의 - 전원 연결과 전원 해제 상태에 해당하는 ACTION_POWER_CONNECTED 와 ACTION_POWER_DISCONNECTED 추가 MainActivity.java - MainActivity 는 방송을 하는 발신자 역할을 하며, 브로드캐스트 리시버를 호출.. 더보기
[Android] 안드로이드 4대 컴포넌트 안드로이드의 4대 컴포넌트와 각 컴포넌트 중 생명주기, Life Cycle 을 갖는 컴포넌트의 생명주기 정도는 알고 사용하자. 안드로이드의 4대 컴포넌트(Component) 1. 4대 컴포넌트 정의 - 안드로이드의 4대 컴포넌트는 안드로이드 앱의 필수적인 기본 구성 요소이다. - 각 구성요소는 사용자가 앱에 들어올 수 있는 진입점 - 액티비티(Activity) - 서비스(Service) - Broadcast Receiver - 콘텐츠 제공자(Contents Provider) 로 이루어짐 2. 4대 컴포넌트 특징 1) 각 컴포넌트들은 하나의 독립적인 형태로 존재 2) 각 컴포넌트들은 고유한 기능(각기 뚜렷한 목적) 수행 3) 각 컴포넌트들은 인텐트를 통해 서로 상호작용 4) 각 컴포넌트 별 수명 주기 존재.. 더보기
[Android] 안드로이드 핸들러(Handler) 앞 부분에서, 핸들러를 통해 안드로이드 스레드 통신 수행시 필요한 메시지 전달 시스템 구성 요소에 대해 정리했다면! 이 부분은, 안드로이드에서 핸들러를 사용해 스레드 통신을 구현하는 방식에 대해 집중적으로! 1. 메시지 수신 스레드 - Handler 객체 생성 및 handlerMessage() 메서드 오바라이드 (1) 가장 먼저, 메인 스레드에서 수신 메시지를 처리하기 위한 핸들러 객체 생성 Handler handler = new Handler() { } ; 1) 핸들러는, 생성과 동시에 코드가 실행된 스레드에 연결(bind)됨 - Handler 클래스 생성자에서, 현재 스레드의 루퍼(Looper) 및 메시지 큐(MessageQueue)에 대한 참조를 가지게 됨 -> 이후 단계에서, 메시지 전달 시 이 .. 더보기
[Android] Thread / Handler / Message 매번 미루던 안드로이드 정리,, 한다 이젠,, + Service 정리도 해야한다. - 안드로이드에서는, Main Thread 를 통해서만 화면 UI 를 변경할 수 있다. -> 따라서, 핸들러를 통해서 Main Thread 에 접근하여 UI 를 수정할 수 있다. - 안드로이드에서 반복 작업을 하기 위해서는 핸들러 객체를 써야 하는데, '반복 작업'을 하는 타이머와 같은 것들을 구현하면서 가볍게 넘겨버린 개념이 확실하지 않아서,, - 스레드와 핸들러의 개념은 꼭 정리해야 하는 것,, 스레드(Thread) 란? 1. 스레드의 정의 1) 동시에 수행 가능한 작업 단위 - 하나의 프로세스 안에서 동시에 수행되어야 하는 작업을 위해 사용 2) 프로세스 내에서 '순차적으로 실행되는 실행 흐름' 의 최소 단위 - 프로.. 더보기