차근차근/Android

[ study ] 다이어리 어플 만들어보기 1 - 부가 설명 1

예쁜꽃이피었으면 2015. 4. 20. 16:44


출처 : 안드로이드 프로그래밍 정복 1 


* p47 ~ 4가지 구성요소

- 실행파일과 프로세스가 1:1로 대응되며 응용프로그램 끼리는 서로 완전히 독립적이다.

- main 같은 유일한 진입점이 따로 없으며 처음으로 생성되는 인스턴스의 생성자가 실질적인 진입점이 된다.

- 4개의 컴포넌트

1) 액티비티

2) 서비스

3) 방송 수신자

4) 컨텐트 제공자

- 응용 프로그램은 이들 컴포넌트 중 일부만을 가질 수도 있고 여러 개를 가질 수도 있다.

응용 프로그램의 컴포넌트 구성은  매니페스트라는 설정파일에 저장 및 관리 되며 

최초 실행시 어떤 액티비티를 띄울 것인가도 매니페스트에서 지정한다.

- 4가지 컴포넌트들을 서로 독립적으로 동작하므로 상호간의 통신을 위한 장치가 필요한데 이 역할을 인텐트가 담당한다.

인텐트는 컴포넌트 간의 통신 수단이며 메시지에 대하 상세한 정보를 가진다.


AndroidManifest.xml 기본 예제

( 메인 액티비티에 MAIN, LAUNCHER 속성을 가져야 쉘에 액티비티가 나타난다.

차후 프로젝트에 액티비티나 인텐트 필터, 서비스 등을 추가한다거나 프로그램 실행에 필요한 권한을 지정할 때 이 파일을 편집 )


메인 클래스 파일 작성

- 메인클래스는 Activity클래스를 상속받는다.

- Activity는 화면 하나를 표현하므로 이 클래스를 상속받으면 화면 하나가 만들어 진다.

- 액티비티가 생성될 때 호출되는 onCreate 메서드를 제정의하여 필요한 초기화를 하는데 제일 먼저 슈퍼 클래스인 ctivity의 onCreate를 호출하여 부모부터 초기화한다.

- 운영체제가 요구하는 초기화를 수행한 후에 setContentView메서드를 호출해 액티비티에 내용물을 채운다.




xml로 화면을 만들어 보자.


fill_parent, match_parent 차이를 검색해 봄 

match_parent는 API 8이상부터 사용가능하며, 하위 버전에서는 fill_parent를 사용하여야 하므로 

match_parent를 사용하기 위해서 Min_API는 8 이상이 되어야 한다.

(http://younghooni.tistory.com/entry/Android-fillparent-matchparent-%EC%B0%A8%EC%9D%B4)


음.. 그래도 일단 찾아봄.( http://dkdlel072.tistory.com/entry/fillparent-%EC%99%80-wrapcontent%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90 )

fill_parent : 부모가 가지는 길이를 모두 채울 때 사용. (해당 레이아웃을 취하는 컨테이너의 길이를 모두 사용)

wrap_content : 해당 뷰가 그려질 수 있게 필요한 길이만 사용. 절대값을 넣을 수 있다.





@+id 와 @id 의 차이

'@'기호는 id를 리소스(R.java)에 정의하거나 참조한다는 뜻이고 무조건 붙여야 한다.

'+'기호는 ID를 새로 정의한다는 뜻인데 처음 정의할 때만 붙이고 참고할 때는 붙이지 않는다.

소문자 id는 예약어이므로 그대로 쓰면 되고 '/' 뒤에 원하는 이름을 작성한다.

=> 가장 처음에 id가 없는 아이를 만들때는 @+id 를 쓰고

이미 존재하는 id를 가져다 쓸때는 @id를 쓰면 된다는 말


onItemClick  / setOnClickListener 차이

는 없다. 방법이 다를 뿐 결과는 같다.


http://croute.me/446 

[Android] 리스트뷰 아이템 클릭 이벤트 - ListView Item Click




반응형