Study/Programming

애플리케이션 구성, 자바 소스(기초)

까보자 2014. 4. 11. 17:54

하이2


안녕하세요 꼬로미입니다


안드로이드 기초, 애플리케이션의 구성과 기본적인 자바소스에 대해서 포스팅 합니다



애플리케이션 구성과 기본적인 자바소스


고고곡씽!







 

 




애플리케이션의 구성

                                                                                                  



이클립스에서 안드로이드 애플리케이션 프로젝트 메뉴를 생성하면

다양한 폴더가 생성됩니다

  • src : 소스 파일이 들어 있는 폴더( kr.co.company.hello는 패키지 이름)

  • gen : 이클립스가 자동으로 생성하는 파일들이 들어 있는 폴더, 변경하면 안됨

  • Android 4.2 : 애플리케이션에 포함되는 라이브러리 파일들이 들어 있음

  • assets : 리소스 폴더, 용량이 큰 오디오나 비디오 파일들을 저장하는 데 사용

  • bin : 컴파일러가 생성한 바이너리 파일들이 들어 있음

  • res : 각종 리소스가 저장되는 폴더
    drawable-..(해상도 별로 아이콘 파일들이 저장)
    layout(화면 구성 정의)
    values(문자열같은 리소스)

  • AndroidManifest.xml : XML 파일로 애플리케이션의 전반적 정보 즉 이름이나 내장 컴포넌트 구성과 같은 정보를 가짐

  • project.properties : 빌드 타깃이 지정되어 있음








기본적인 자바 소스

                                                                                                  



1. package : 클래스들을 보관하는 상자 같은 개념으로 현재 클래스를 이 패키지에 넣겟다는 것을 나타냄

kr.co.company.hello - 패키지를 선언하는 문장, 클래스 이름의 충돌을 막기위해 자바에서 고안


2. import : 패키지나 클래스를 포함시킬 때 사용

import android.app.Activity 


3. public class : 클래스는 객체 지향 프로그래밍에서 가장 기본이 되는 최소 단위

   extends : 상속

   public class MainActivity extends Activity {...}

   Activity 클래스에서 상속받아 MainActivity 작성


4. @Override : 메소드가 부모 클래스의 메소드를 재정의하였다는 것을 명확히 전달


5. onCreate(Bundle savedInstanceState) : 액티비티가 생성되는 순간에 딱 한번 호출

모든 초기화와 사용자 인터페이스 설정이 이루어지는 곳

매개변수는 애플리케이션이 이전에 실행되었던 상태를 전달

   public void onCreate(Bundle savedInstanceState) {...}


6. super : 상속관계에서 부모클래스를 나타내는 키워드

   super.onCreate(savedInstanceState); : Activity 클래스의 onCreat()를 호출


7. new : 새로운 객체를 만들 때 사용하는 키워드

   TextView tv = new TextView(this); : TextView의 객체를 생성하고 이것을 tv로 참조

   TextView : 안드로이드에서 제공하는 하나의 UI의 컴포넌트


8. setText("");

   TextView 객체의 텍스트를 setText()를 이용해 설정, 변경 가능


9. setContentView(tv);

   액티비티 화면을 설정하는 setContentView,

   위의 메소드는 화면에 tv를 나타내는 소스


* 액티비는 main()에서 시작되는 것이 아님,  액티비티 별로 독립적으로 실행

  개발자는 액티비티 중에서 가장 먼저 실행되는 액티비티를 지정해야 함

  (액티비티 중 onCreate() 메소드가 가장 먼저 실행)









읽어주셔서 감사드립니다

도움이 되셨다면 덧글을 부탁드립니다ㅎㅎ!