액티비티

2021. 7. 4. 22:43(구)공부/ANDROID

728x90

안드로이드 4대 컴포넌트
Activity - 화면 구성의 기본 컴포넌트
Service - 액티비티와 상관없이 백그라운드에서 동작
Broadcast Receiver - 문자, 배터리, sd카드 탈부착, 네트워크 변화등이 발생하면 전체 방송
Content Provider - 응용 프로그램 사이 데이터를 상호 공유하기 위한 컴포넌트
방법으로는 URI가 있음

액티비티 생명 주기


Activity 여러개를 사용할때는 AndroidManifest.xml 에
<activity android:name=".SecondActivity" android:label="Second 액티비티"/>같은 식으로 등록 해줘야함
class만들기가 아닌 activity 만들기를 할 경우 자동 등록

Activity 에서 다른 Activity를 호출할 때는
Intent intent = new Intent(context,이름.class)
startActivity(intent)
식으로 함.

Intent - 4대 컴포넌트 상호간 데이터 교환을 위한 메시지 객체
명시적, 암시적으로 구분

명시적 - 다른 액티비티의 이름을 명확히 지정할 때
ex) Intent intent = new Intent(context,이름.class)
주는 쪽 intent.putExtra() -> 받는 쪽 Intent intent = getIntent() , intent.getExtra() 
양방향 액티비티 데이터 전달
startActivity 대신 startActivityForResult를 사용하며 onActivityResult를 오버라이드 한다.
두번째 액티비티에서는 putExtra로 데이터를 준비하고 setResult를 이용하여 데이터를 돌려준다.

암시적 - 약속된 액션을 지정해 안드로이드에서 제공하는 기존 프로그램 실행 ex)전화, 웹브라우저 등
ex) Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:/911")); 와 같은 형태
전화의 경우 <uses-permission android:name="android.permission.CALL_PHONE"/> 권한 추가

728x90

'(구)공부 > ANDROID' 카테고리의 다른 글

어댑터 뷰  (0) 2021.07.04
옵션 메뉴  (0) 2021.07.04
고급 위젯  (0) 2021.07.04
레이아웃  (0) 2021.07.02
안드로이드 위젯들  (0) 2021.07.01