■ Android

[안드로이드] Android를 처음 시작하려는 분께 선별한 암기사항 (2)

해당 포스팅은 안드로이드를 처음시작하지만 프로그래밍 언어에 대해 어느정도 아시는 분을 위해서 작성되었습니다.
아주 기본적인 내용입니다.

 

1. inflate : XML레이아웃을 aapt를 활용하여 파싱후 View객체로 변환시키는 것.

2. 리소스 : 안드로이드에서 리소스란 코드가 아닌 모든 데이터를 의미. (이미지, XML 등등)

3. Context : Activity는 Context의 서브클래스이다.

4. Getter / Setter 설정 (안드로이드 스튜디오기준) : Preferences -> Code Style -> Java -> Code Generation -> Naming에서 field, static field등에 접두어를 입력함 -> Control + Enter (맥기준) -> 선택.

5. onCreate : onCreate는 액티비티 생성시 OS에서 호출하고 필수 번들을 먼저 설정해야 하기 때문에 반드시 super클래스의 생성자를 제일 먼저 호출해야한다. 다른 생명주기 관련 메소드는 상관없음.

6. 액티비티생명주기 심화 : 액티비티 생명주기에서 Stashed(보존)라는 상태가 있다. 이는 OS가 임의로 오래되거나 필요없는 액티비티를 제거하는데, 이때 완전히 제거 하는 것이 아니고 “액티비티레코드”란 곳에 해당 액티비티의 주소값을 들고 언제든 되살릴수 있도록 만든다. 현재 액티비티가 액티비티레코드에 저장된 상태를 Stashed상태라고 한다. 이때는 onDestory가 호출되지 않는다. 따라서 번들객체를 위해서 onSaveInstanceState() 메소드를 오버라이딩 하고, onPause()에서 그밖에 어떤 처리를 한다.

7. 액티비티 생명주기 :

 

41

 

안드로이드는 로봇이다. 그래서 딱 만들어 놓으면 멈춰진 상태이다. (stopped) 이후 로봇을 시작(start)시킨다. 하지만 이놈은 구글이 만들어 거만해서 그런지 한번 바로 멈춰버린다. (paused, 밀당의고수) 그리고 잘 달래서 “다시좀잘해바” 라고 말해야(resume) 드디어 구동된다. 정지는 이것을 반대로 하면 된다.

 

8. 런타임 구성변경 : 화면전환, 언어변경 등 실제 디바이스가 새로 어플을 위해 새로 로드해야할 필요가 있는 액션들. 이때 onDestroy()가 호출되고 다시 onCreate가 호출된다.

 

9. onSaveInstanceState() : onPause, onStop, onDestroy 전에 호출.

 

10. startActivity() : 액티비티를 새롭게 시작시키는 함수이다. 이때 함수를 실행한 액티비티는 OS에 Activity Manager에 액티비티를 보낸다. 그리고 Activity Manager는 Intent정보를 통해 올바른 신규 액티비티를 실행시킨다. (즉 앱내에서 바로 실행하는 것이 아니고 OS 를 한번 거친다.) 이렇게 하는 이유는 다른앱과 액티비티를 연동 혹은 공유하기 위해서이다.

 

11. Intent Extra : Intent에 데이터를 전달할때 사용한다. (k-v 형태) 호출하는 액티비티가 데이터를 다른 액티비티에 넘길때 필요한 데이터를 넣기 위해 사용. 보통 패키지 이름을 사용하여 다른 앱과의 충돌을 피한다.

 

12. startActivityForResult() : 새로 만들어진 액티비티로부터 호출하는 액티비티가 결과값을 받을 필요가 있을때 사용.

 

13. setResult() : 신규 액티비티가 호출한 액티비티에 결과값을 보내기 위해 사용.

 

14. onActivityResult() : 해당 메소드를 오버라이딩 하여 신규액티비티를 호출한 기존액티비티에서 결과값을  이용할 수 있다.

Standard

댓글 남기기