본문 바로가기

프로그래밍/안드로이드

[안드로이드/Android] 안드로이드 어플리케이션 구조

[안드로이드] 안드로이드 어플리케이션 구조




  • AndroidManifest.xml(필수) - 해당 어플리케이션에 대한 정보와 포함하는 컴포넌트 (activity, Content Provider 등) 정보가 수록된 xml형태의 문서 이 파일을 이용하여 애플리케이션에 필요한 권한을 직접 정의할 수도 있으며, 애플리케이션의 서비스들을 이용하여 즉정 권한을 다른 애플리케이션에 부여할 수도 있다.
  • build.xml - 어플리케이션을 컴파일하고 안드로이드 디바이스에 인스톨하는데 사용되는 Ant Script
  • default.property - Ant Script가 사용하는 프로퍼티 파일
  • bin 폴더 - 컴파일된 바이너리가 저장되는 폴더
  • libs 폴더 - 어플리케이션이 필요한 외부 JAR 파일을 저장하는 폴더
  • src 폴더(필수) - 어플리케이션의 Java 소스 코드를 저장
  • res 폴더(필수) - 어플리케이션의 레이아웃, 사용되는 이미지/문자열 등 컴파일된 자바 코드와 함깨 패키징되는  리소스를 저장. 이곳에 저장된 리소스들은 AAPT(Android Asset Packaging Tool)의 의해 컴파일되고 리소스 명세가 프로젝트폴더\gen\R.java 이라는 자동 생성 파일에 정리된다. 소스코드 상에서는 R클래스(예: R.layout.main)를 통해 쉽게 컴파일된 리소스에 접근할 수 있다.
    이폴더의 하위에는 drawable, anim, layout, menu, values, xml, raw 폴더가 들어 있다.
  • drawable 폴더(옵션) - 이미지나 이미지 디스크립터 파일이 들어 있는 폴더
  • anim 폴더(옵션) - 애니메이션들이 서술돼 있는 XML 디스크립터 파일이 들어 있는 폴더
  • layout 폴더(옵션) - 뷰 폴더, 애플리케이션 뷰는 코딩을 통해서가 아니라 반드시 XML 디스크립터를 이용해서 생성해야 한다. 
  • menu 폴더(옵션) 메뉴에 대한 XML 디스크립터 파일이 들어 있는 폴더 
  • values 폴더(옵션) - 기타 리소스가 들어 있는 폴더. 이폴더 내의 모든 리소스는 XML 디스크립터에도 정의 된다. 이 폴더에는 strings, styles, colors 등의 리소스가 들어 있다.
  • xml 폴더(옵션) - 추가 XML 파일이 들어 있는 폴더
  • raw 폴더(옵션) - XML 이외의 추가 데이터가 들어 있는 폴더
  • asset 폴더(옵션) - 어플리케이션 배포 시 static하게 패키지에 포함 시킬 리소스 저장. res폴더에 저장된 리소스와 다른점은 이곳에 저장된 리소스들은 컴파일 되지 않고 raw형태로 packaging되며, 소스코드 상에서 AssetManager클래스를 이용해 바이트 스트림 형식으로 읽어와서 사용 해야한다.

    안드로이드는 리소스에 있어 제약이 거의 없다는 점 또한 매우 중요하다.
  • 안드로이드는 사전에 정의돼 있는 res의 하위 폴더 내 파일들의 1차 목록만 지원된다.
  • 안드로이드는 res 하위에 존재하는 폴더(layout... 등)에 하위 폴더를 사용할 수 없다.
  • res 하위의 assets과 raw 폴더 간에 일부 유사성이 존재한다. 두 폴더 모두 미가공 파일들을 포함할 수 있지만, raw 폴더 안의 파일들은 리소스로 간주되는 데 반해 assets 폴더 안의 파일들은 그렇지 않다. 따라서 raw 폴더 안의 파일들은 지역화 되고 리소스 ID를 통해 접근할 수 있게 되는데 반해, assets 폴더 안의 파일들은 리소스 제한이나 지원  없이 이용될 범용 컨텐츠로 간주된다. assets 폴더 안의 파일들이 리소스로 간주되지 않기 때문에 그 안에 폴더와 파일들의 임의의 계층 구조를 집어 넣을 수 있다.

  • 덧글]

    개발하시다가 온몸이 찌뿌둥하시면 아래 동영상을 따라 스트레칭을 한번하세요.


    1. 목디스크 예방을 위한 목운동    ☞  http://jwandroid.tistory.com/192 

    2. 손목터널증후군 손목스트레칭으로 예방합시다.     ☞  http://jwandroid.tistory.com/193

    3. 개발자 여러분 허리를 세우세요 - 척추체조 1번     ☞  http://jwandroid.tistory.com/194

    4. 개발자 여러분 허리를 세우세요 - 척추체조 2번     ☞  http://jwandroid.tistory.com/195

    5. 개발자 여러분 허리를 세우세요 - 척추체조 3번     ☞   http://jwandroid.tistory.com/196

    6. 개발자 여러분 허리를 세우세요 - 척추체조 4번     ☞  http://jwandroid.tistory.com/197