안드로이드 프로그래밍의 세가지 관점


[안드로이드 프로그래밍의 세 가지 관점]
1. 뷰 관점 : 화면을 보여주는 작업을 하는 액티비티, 화면을 구성하는 UI 컴포넌트(버튼, 텍스트뷰, 에디트 텍스트 등), 화면의 윤곽을 잡아주는 레이아웃으로 구성.
     이에 따른 이벤트 처리(행위) 필요.
     + 정해진 뷰 외에 사용자가 정의하는 사용자 정의 뷰 존재.
     + 액티비티에서 다른 액티비티로 이동할 떄 중간에서 메신저 역할을 하는 '인텐트', API 레벨과 시스템 레벨 사이에서 액티비티의 정보를 관리하는
       '컨텍스트' 등을 이해.
2. 데이터 관점 : UI 컴포넌트에 데이터를 전달하기 위한 객체(DTO)와 여러 객체들을 선형(List)이나 맵으로 저장하거나 전송하는 방법 제공.
 + 데이터를 레이아웃에 매칭시켜 보여주는 '어댑터'
 + 서브 쓰레드에서 매인 쓰레드의 화면에 데이터를 반영시키기 위한 'UI 쓰레드' 필요.
3. 프로세싱 관점 : 데이터를 인터넷 등 외부에서 가져오기 위해 IO 이용 + 쓰레드 + 핸들러 + 동기처리 및 비동기처리 
   + 인터넷의 여러 리소스(HTML, JSON, XML, Image)를 필요한 데이터로 변환시키는 '파싱'
   + 안드로이드 메이페스트(액티비티 등록, 퍼미션 등록) 설정 방법

[앱 디렉토리 구조] : 프로젝트를 'Android'구성으로 보았을 경우
[app]-[AndroidManifest.xml] : 안드로이드 app에 대한 기본 환경 정보를 갖고 있음. 퍼미션(허가), 액티비티, 서비스 정보를 저장.
[app]-[java]-[패키지] : 안드로이드 앱 프로그램 소스
[app]-[res] : 안드로이드에 필요한 자원을 저장
      - [layout] : 액티비티나 리스트뷰, 그리드뷰의 아이템에 대한 레이아웃을 저장
      - [menu] : 액티비티 상단의 오른쪽에 위치하는 선택 버튼 역할
      - [values] : 색상, 문자열, 스타일을 xml로 저장
cf.)자바_케스팅 : 작은 타입은 큰 타입으로 자동 변환되지만, 큰 타입을 작은 타입으로 변활 할 때는 '변환하려는 타입' 형식으로 타입 변환을 해서 사용.
    while과 동일하지만, 적어도 한 번 실행할 때는 do~while을 사용.
    쓰레드 : 큰 단위의 작업을 작은 단위로 나눠서 동시에 작업하면 시간을 단축 가능. 이떄 작은 단위의 작업을 쓰레드라고 함.
    동시작업은 멀티프로세스임. 쓰레드는 동시 작업을 흉내내는 기능

댓글