Android 기초

2010. 5. 4. 17:07언어/Android

※ 저도 공부하면서 써 넣는거라 자세하지 않을 수 있습니다 자세한 함수 내용은 http://developer.android.com/reference/packages.html 에서 보시면 됩니다.

setContentView(); - 레이아웃 리소스를 부풀려 유저 인터페이스를 배치

안드로이드 프로젝트의 리소스는 프로젝트 계층의 res라는 폴더 안에 저장, 이 폴더엔 drawable, layout, balues라는 하위폴더를 포함. ADT 플러그 인 은 이들 XML리소스를 해석하여, R이라는 변수를 통해 설계 시점에 이들을 접근 할 수 있도록 한다.

코드 내에서 XML의 UI에 접근하기 위해선 XML 정의에 식별자 identifier 속성을 추가 하여야 한다.
ex) android:id="@+id/identifiername"

접근 방법은 다음과 같다.
TextView mTextview = (TextView)findViewById(R.id.mTextView);

UI를 코딩으로 생성하는 방법도 있긴 한데. 솔직히 다 쓰기 귀찮아서 안적을까 했는데 적어보기로 했다. (실제로 안적을려다가 적는것.. ㅎㅎ)

LinearLayout.LayoutParams lp;
lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

LinearLayout.LayoutParams textViewLP;
textViewLP = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams,WRAP_CONTENT);

LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
TextView myTextView = new TextView(this);
myTextView.setText("Hello World, HelloWorld");
ll.addView(myTextView, textViewLP);
this.addContentView(ll, lp);


몇번 UI쪽 XML을 본 사람들이라면 이해하는데 그리 어렵지 않을 것이다.
이것을 OnCreate에 넣어주면 된다.

안드로이드의 어플리케이션 종류는 다음과 같이 3가지로 분류된다.
포그라운드 액티비티 - 화면에 보이지 않을 때는 사실상 일지 중단.
백그라운드 서비스    - 말그대로 화면에 나타나진 않지만 실행되고 있는 상호작용이 제한된 애플리케이션
인터미턴트 액티비티 - 상호작용이 있긴 하지만 대부분의 작업이 백그라운드에서 수행

3가지로 분류되지만 그렇다고 모든 프로그램을 꼭 한 범주안에 넣을 순 없다.

여기서 잠시 쉬어갈 점은 안드로이드를 개발 하다보면 application unresponsive라는 경고 문구가 뜨게 된다.
이것은 코드에 치명적인 오류가 있다는 것은 아니다. 하지만 반응성이 떨어진다는 것을 뜻한다.
안드로이드는 반응성 검사를 위해 다음과 같은 두가지 조건을 감시한다.
첫째 어플리케이션은 키 누름이나 화면 터치 같은 모든 사용자 액션에 대해 반드시 5초 이내료 반응해야한다.
둘째 브로드 캐스트 수신자는 자신의 onReceive 핸들러에서 반드시 10초 이내에 리턴해야 한다.

필자도 몇번 뜨는 것을 보았는데 꼭 반응성만은 아닌 것 같다. 프로그램의 테스트는 애뮬레이터로 하게 되는데 애뮬레이터가 완전하게 실행되지 않은 상태에서 바로 프로그램을 시작 하려고 하면 뜨기도 한다.

'언어 > Android' 카테고리의 다른 글

Tstore에 내가 만든 프로그램이 메인에 올라오다.  (0) 2010.05.28
Android 공부 2일차입니다.  (0) 2010.05.07
Android 공부 1일차입니다.  (0) 2010.05.04
Image 위에 버튼 올리기.  (1) 2010.04.22
Android 와 XML  (0) 2010.04.16