IT분야 외에도 다양한 분야의 과목을 제공 해 주고있다.

 

http://www.homelearn.go.kr

 

http://www.ggw.or.kr


'IT World > Study' 카테고리의 다른 글

Oracle 함수 모음 (프로그래밍 함수들 모음)  (1) 2011.03.24
JAVA 한글 API  (3) 2011.03.24

1. 안드로이드에서는 기존의 자바처럼 코드상에서 화면을 구성하며 데이터를 정의하고 사용할 수 있지만 XML 문서를 이용하는 방법을 새롭게 지원하고있다.


2. XML 레이아웃의 장점

 - 코드와 데이터가 완벽하게 분리되므로 개발자와 디자이너의 분담 작업이 용이하다.

 - 조건에 따라 레이아웃을 통째로 교체할 수 있으므로 호환성 확보국제화에 유리하다.

 - 레이아웃만 수정할 때는 컴파일하지 않아도 되므로 개발 속도가 빨라진다.

 - 구조와 속성을 함축적으로 기술할 수 있으며 레이아웃 재활용도 가능하다.


3. 실무에서는 코드 레이아웃과 XML 레이아웃을 둘 다 사용하며 동시에 적용하기도한다. 디자인에 관련된 정적인 레이아웃은 주로 XML코드로, 런타임과 연관있는 레이아웃은 자바 코드를 사용하는것이 보통이다.

4. 가장 기본적으로 생성되는 메인.xml을 살펴보자.
main.xml  

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>
가장 위에 xmlns에서 안드로이드 애트리뷰트를 사용하겠다는 네임스페이스를 선언하는것이고 이 애트리뷰트 형식은 android:속성명="속성값" 이다. 각 속성명들과 속성값은 매우 다양하고 많기 때문에 예제를 통해서 하나씩 알아가는 것이 좋겠다.

5. 문자의 경우 Strings.xml에 마찬가지로 xml 형태로 관리되어 사용 할 수 있으며 아래와 같이 직접 문자열을 쓸 수 도 있다.
<TextView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="문자를 직접 입력합니다" />
6. AndroidMenifest.xml
 - 안드로이드 프로젝트 생성시 자동으로 생성되는 파일로 현재 프로젝트에 대한 뼈대를 구성하고있는 파일이다. 패키지 이름, 버전, 설치경로, SDK버전, Activity 등록 등에 대한 정보를 가지고있다.  

1. VIew 계층.

 1) 안드로이드 프로그램의 화면을 구성하는 주요 단위는 액티비티(Activity)이다. 하지만 액티티 자체는 화면에 직접적으로 보이지 않으며 실제로는 이 안에 뷰(View)라는 계층이 사용자에게 보여줄 화면을 구성한다. 즉 여러개의 뷰가 모여 하나의 액티비티를 이루고, 이러한 액티비티 여러개가 바로 하나의 응용 프로그램을 구성하는 것이다.


 2) View에서 파생된 클래스들이 매우 많고 각 클래스가 지원하는 속성이나 매서드 또한 상당히 많기 때문에 상당한 시간을 투자 해야 할 것이다. (아마 안드로이드 프로그래밍 공부의 절반 이상이 View를 포함한 GUI관련 공부가 될 것 같다.)


 3) VIew는 크게 2그룹으로 나뉜다.

  - 1. Widget(위젯) : 화면에 직접적으로 나타나는 사용자 인터페이스를 구성한다. 예를들어 Button, TextView, EditText, RadioButton 등이 있으며 흔히 컨트롤이라고도 부른다.


  - 2. View 그룹 : 직접적으로 보이진 안지ㅏ만 다른 뷰를 담는 컨테이너 역할을 한다. Layout(레이아웃)으로 불린다.



2. View 속성

 - View로부터 파생된 클래스들은 모두 View의 속성을 상속받고있기때문에 우선 View의 속성을 알아보도록하자. (하나하나 하기엔 너무 많기 때문에 중요한것부터 알아보도록하자... 몇개만 해보면 감이 올 것이다.)


 1) id

  - View를 칭하는 이름을 정하는것으로 xml문서에서 이 View를 참조할 때 사용하게된다. 

  - @+id/아이디명

  - 위의 사용법을 갖는다. @는 R.java 에 각 개체에대한 주소를 저장하도록 하게한다. +는 처음 정의할 때 사용하는방법으로 참조할 때는 +를 빼고 사용하면된다.

 2) layout_width, layout_height

  - View의 가로/세로 크기를 설정한다.

  - fill_parent //부모의 주어즌 크기를 다 채운다

    wrap_content //내용물의 크기만큼 채운다

    200px  // 200픽셀만큼 또는 사용자가 원하는 크기를 직접 정할 수 있다.

 3) background

  - View의 배경색을 지정한다

  - #RGB

    #ARGB

    #RRGGBB

    #AARRGGBB

  - #다음에 16진수로 각 생상 요소의 강도를 지정한다.

 4) padding

  - 안쪽 여백

 5) margin

  - 바깥 여백

 6) visibility

  - View의 표시 유무를 지정한다.

  - visible // 화면에 표시된다

    invisible //화면에 보이지 안게하지만 공간은 차지하고있다.

    gone // 화면에 보이지 않으며 공간역시 차지하지않는다.

 7) focusable

  - 키보드의 포커스(키 입력상태)를 받을지 설정.

  - 기본적인 View는 모두 false이고, EditText와같이 키보드입력이 꼭 필요한경우만 True로 되어있다.











ps. 안드로이드에서 사용되는 단위 설명

단위

 설명

 px

 픽셀

 in

 인치

 mm

 밀리미터

 pt

 포인트

 dp(또는 dip)

 해상도에 독립적인 단위

 sp(또는 sip)

 폰트 가변크기


1. 프로젝트 만들기

 -이미 앞에서 이클립스에 안드로이드 플러그인을 설치하고 SDK의 경로까지 지정했기때문에 일반 자바 프로젝트 만들듯이 안드로이드 프로젝트도 만들 수 있다.

 


 

 - New Project에서 안드로이드 프로젝트를 선택하면 위와같은 창이뜨는데, 프로젝트 명을 적고 아래 목록 중에서 실행 할 안드로이드 버전을 선택(현재는 2.2버전에서 개발을 많이 하고있다.)

 - Properties항목들이 중오한다. 가장먼저 어플 이름을 설정할 수 있고, 패키지 이름은 클래스 파일으 저장될 경로를 설정 하는 것으로 최대한 중복을 방지하기위해 2개 이상의 구분(점)을 필요로 한다. 그리고 액티비티 생성은 화면구성을 할 것인지에 대한 것으로 앞서 설명했듯 현재 생성할 프로그램이 서비스 프로그램이라면 액티비티가 필요 없는 것이다.

마지막으로 SDK버전은 API버전을 말하는것으로 위 목록에서 안드로이드2.2는 8버전을 사용한다고 되어있기 때문에 8이라고 적고 finish 하면 생성이 완료된다.

 

 

2. 프로젝트 구성요소

 - 아래와 같은 목록이 기본적으로 생성되며 하나씩 살펴 보도록 하자.


 

 1) src/ : 프로그램의 기본 소스 파일이 저장되는 공간으로 프로그램의 동작과 로직에 대한 프로그래밍이 이루어 진다.

 2) gen/R.java : 프로젝트 내에 각종 개체에 접근 할 수 있는 ID를 정의하는 곳으로 사용자가 임의로 수정할 수 없다.

 3) android 2.2 : 응용프로그램이 참조하는 안드로이드의 기본 라이브러리가 포함된다.

 4) assets/ : 리소스(자원) 폴더로 비디오나 오디오등의 파일을 저장하는 곳이다.

 5) res/drawable/ : 이미지 파일이 저장될 곳으로 해상도에따라 크기별로 저장도 가능하다.

 6) res/layout/ : 개체들의 화면을 구성할 수 있도록 레이아웃의 디자인이 정의 되는 곳이다.

 7) res/values/Strings.xml : 프로젝트에서 사용할 문자열을 xml 형태로 정의하여 관리하는 곳이다.

 8) AndroidManifest.xml : 프로젝트의 버전이나 이름, 구성 등에 대한 정보를 갖는다.

 9) default.properties : 프로젝트의 빌드 타깃이 명시되어있다.

 

+ Recent posts