본문 바로가기

카테고리 없음

안드로이드 주요 함수 및 서비스 정리

<데이터 송수신>

Intent 데이터 추출

- Uri uri = Intent.getData()

- Bundle bundle = Intent.getExtras()


Intent 데이터 전송

- [암시적] Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"))

- [명시적] Intent intent = new Intent(this, ActivityB.class)

- intent.putExtra("query", "select * from data")

- startActivity(indent)

- startActivityForResult(indent, REQUEST_CODE)


Broadcast 데이터 전송

- sendBroadcast(intent)

- sendOrderedBroadcast(intent)


Thread 데이터 추출

- Message msg = handler.obtainMessage()

  Bundle = msg.getData()


Thread 데이터 전송

- handler.sendMessage(msg)


<주요 내용>

Intent 속성

- 상호간 데이터 교환 및 알림 방법

- Action

- Flag


Provider

- 내부 DB 를 외부 프로세스와 공유

- android:authorities => 절대 URI 경로 (ex : org.cozyu.mydbapp.mydbprovider)

- android:name => 클래스 이름

- ContentResolver => 컨텐츠 처리, 컨텐츠 변경 감지


Service

- 백그라운드에서 돌아가는 객체


Activity

- 독립적인 역할을 하는 수행 객체


-------------------------------------------------

IBinder

Message

Bundle

Firebase



<Activity>

-

-


<Service>

started service

- 동기식

- 호출되면 호출한 프로세스의 메인 스레드에서 실행

- 주요함수 : startService(), stopService()


intent service

- 비동기식

- 새로운 쓰레드에서 실행

- 주요함수 : onHandleIntent()


bound service

- 동기식

- 상호작용 가능 (IBinder 객체 이용)

- 주요함수 : bindService(), unbindService(), onBind()

- [로컬바인딩] onServiceConnected, onServiceDisconnected()

- [원격바인딩] handleMessage(Message msg) - Handler 상속

- 로컬 프로세스(ex : :myprcoess 인경우 호출쪽이 죽으면 같이 죽음)


<Content Provider>

- 내부 DB 를 외부 프로세스와 공유

- 주요함수 : query(), insert(), update(), delete()

- URI 기반 조회 방법 : Content URI - org.cozyu.mydbapp.myprovider/product/3