태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

SDK가 설치가 끝나면 아무거나 한번 만들어보는것이 사람의 예의!!!

뭐 처음하면 역시 Hello World~~

안드로이드 프로젝트를 만들어서 에뮬레이터를 돌리기만 하면 사실 헬로 월드가 표시되지만 그래도 해보는것이 예의!!

우선 안드로이드 프로젝트를 생성

「New」→「Other」→「Android」→「Android Project」를 선택


프로젝트 이름, 어플리케이션 이름, 패키지 이름, 등 쓰고싶은데로 쓰고 SDK버전은 1.5를 선택

1.1도 관계없고 구글Api도 상관없지만 그래도 사람은 최신으로 ... ㅡ,.ㅡ;; 컹컹

이제 한번 에뮬레이터를 돌려보자!!!!

에뮬레이터 돌리기 전에 살짝귀찮은 실행설정을 해야한다

누구나 다 아는 Run Configurations를 선택한다

Android Application 을 우클릭 하여 New 버튼 클릭 아래와 같은 화면에서 이름은 쓰고싶은데로 프로젝트란에 방금 만든

헬로 월드 프로젝트를 선택하고 Apply 그리고 Run!!


Run 하면 안드로이드 에뮬레이터가 실행된다

에뮬레이터를 처음 기동하면 시간이 킹왕짱 오래걸리므로 야동 한편.. 아니지 만화라도 보면서 느긋하게 기다리는 여유를 가진다

한참 기다려서 드디어 구동이 되었다!!! 면 아래와 같은 화면이 된다


이 상태에서  Menu 버튼을 누르면 화면잠김이 풀리면서


헬로월드 화면이 구동된다

다른것들도 만들기만하면 짠!!! 하고 나와주면 얼마나 좋을까나 ㅋㅋ

이제 간단히 소스를 보아 BoA요

//HelloWorld.java

package com.helloApp;

import android.app.Activity;
import android.os.Bundle;

public class HelloWorld extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

이것이 Hello World를 화면에 표시하게한 전부 우엉 뭐여 ㅡ,.ㅡ;;;;

public class HelloWorld extends Activity

기본적으로 안드로이드 어플리케이션은 Activity를 상속받는다

단순 Activity 이외에 ListActivity, ExpandableListActivity, MapActivity, LauncherActivity, PreferenceActivity 등이 있다

기회가 있다면 추후에 설명 ㅡ,.ㅡ;;; 하고 싶근영

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

onCreate메소드는 ,엑티비티의 라이프사이클에 관계된 이벤트헨들러로써 엑티비티가 생성되었을때 반드시 onCreate메소드가 호출

된다. (그럼또 이벤트 헨들러란 무엇인가??? 뭐 이벤트를 핸들하는거겠지라 ㅋㅋ 이것도 추후 설명 하고 싶삼 ㅋㅋ 홍상삼??)

화면에 UI(User Interface)를 설정하거나 데이터를 UI에 바인드하거나 하는 초기처리를 이 메소드 안에서 구현한다

조낸 캐중요 라이프사이클에서 가장 앞단에 있는놈 .... 귀찮은 ㅅㄲ ㅡㅡ;;

super.onCreate(savedInstanceState) ← 그리고 onCreate메소드 안에 반드시 동명의 메소드를 오버라이드 해야한다 ㅡ,.ㅡ;;; 씁!

setContentView() 메소드는 엑티비티에 대해서 UI를 설정하는 메소드 이다

setContentView(R.layout.main) ← 요렇다는 것은 HelloWorld 엑티비티에 main.xml이라는 레이아웃을 설정한다 요론 말씀

그럼 또 여기서 main.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>

요것이 화면을 구성하는 main.xml

LinearLayout으로 구성된 레이아웃에 TextView가 지정되어 있고 이 TextView가 화면에 문자열을 뿌려주는 간단한 구조!!

자세한 구성은 나중에 차근차근 .... 이 하지만 하나 짚고 넘어갈것은

android:text="@string/hello

요부분이 화면에 문자열을 뿌려주는 역할을 하는놈~!

이부분은 string.xml에서 hello 라는 문자열을 가져와서 뿌려주는것으로 되어 있다

귀찮지만 하는김에 string.xml도 봐보자

화면을 구성하는 레이아웃 xml은 프로젝트 밑에 res →layout 폴더 그리고 string.xml은 values폴더 밑에 있다

<!-- string.xml -->

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, HelloWorld!</string>
    <string name="app_name">FirstApp</string>
</resources>

아항.... 아까 화면에 뿌려졌던 Hello World, HelloWorld! 가 여기 써있구먼! 그럼  간단히 여기 서있는 문자열을 바꾸면

바꾼 문자열대로 화면에 출력이 되는 간단한 구조!!!

개인적으로 string.xml은 화면에 자주쓰이는 문자열을 지정해서 필요할때마다 불러 쓰고 있다

그럼 다시 본론으로 돌아와

main.xml에서 문자열을 설정해 주는 부분을 아래와 같이 바꾸면

android:text="헬로월드 지겹지 않소?"

화면에는 "헬로월드 지겹지 않소?" 라는 문자열이 출력된다

간단하고도 명료한 구조!! 우왕ㅋ굳ㅋ!

그럼 마지막으로 xml레이아웃을 사용하지 않고 코드에서 레이아웃을 구성하여 화면을 뿌려보겠사와요 ~

아래와 같이 코드를 작성

//HelloWorld.java

package com.helloApp;

import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

public class HelloWorld extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.main);
       
        //라이너 레이아웃 생성
        LinearLayout a = new LinearLayout(this);
        //라이너 레이아웃 설정
        setContentView(a);
       
        //텍스트뷰 생성
        TextView tv = new TextView(this);
       
        //화면에 보여질 문자열 설정
        tv.setText("Xml안쓰고 코드에서 화면뿌리기이~~");
       
        //라이너 레이아웃에 텍스트뷰 추가
        //ViewGroup.LayoutParams.FILL_PARENT는 main.xml의 android:layout_width 설정과 동일
        //ViewGroup.LayoutParams.WRAP_CONTENT는 main.xml의 android:layout_height 설정과 동일
a.addView(tv, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
       
    }
   
}


기존에 main.xml을 사용하는 부분은 주석처리

이렇게 코딩을 하고 에뮬레이터를 실행하게 되면


요런 결과를 얻을수 있다

간단한 예제를 통해 안드로이드를 사알짜악쿠웅 들여다 보았다

앞으로는 기본개념을 정리하여 안드로이드란 쉐키가 어떤 요소를 가지고 있는지 정리해야 쓰것다

공부를 했는데도 가물가물 볼때마다 햇갈려

까마귀 고기를 자셨나 ㅡㅡ;;; 아니 그저 볍진일뿐입니다 ㅋㅋㅋ
저작자 표시 비영리
신고
Posted by 무현군


티스토리 툴바