'Programming/Android'에 해당되는 글 5건

  1. 2010.07.25 안드로이드 프로세스 우선순위
  2. 2010.07.25 안드로이드 apk 파일 1
  3. 2010.07.25 TextView
  4. 2010.07.25 Intent를 이용한 지도 띄우기
  5. 2010.07.25 안드로이드 환경 설정
2010. 7. 25. 16:34
* 우선순위 1
    - 화면에 보이며 사용자와 상호작용할 수 있는(즉, 포커스를 가진) 액티비티를 갖고 있는 프로세스 (onResume()이 호출된 
        액티비티를 갖고 있는 프로세스).
    - 실행중인 브로드개스트리시버를 갖고 있는 프로세스(onReceve()메소드를 실행중인 브로드캐스트리시버를 갖고 있는 
        프로세스).
    - 막 시작하는 서비스를 갖고 있는 프로세스(onCreate(), onStartCommand(), onDestroy()메소드가 실행중인 서비스를 
        갖고 있는 프로세스.

* 우선순위 2
    - 화면에 보이지만 활성화되지 않은(포커스를 가지지 않은) 액티비티를 갖는 프로세스.
    - 부분적으로 가려지거나 투명한 액티비티에 의해 가려진 경우.
    - onPause()메소드가 호출된 액티비티를 갖고 있는 프로세스.
         
* 우선순위 3
    - 시작된 서비스를 갖는 프로세스.

* 우선순위 4
    - 화면에 보이지 않는 액티비티를 갖는 프로세스.
    - onStop()메소드가 호출된 액티비티를 갖는 프로세스.
        
* 우선순위 5
    - 빈 프로세스
    - 다음 실행속도를 보장하기 위해 프로세스를 캐싱한다.

'Programming > Android' 카테고리의 다른 글

안드로이드 apk 파일  (1) 2010.07.25
TextView  (0) 2010.07.25
Intent를 이용한 지도 띄우기  (0) 2010.07.25
안드로이드 환경 설정  (0) 2010.07.25
Posted by 어북어위크
2010. 7. 25. 16:32

    안드로이드 환경에서 프로그램을 실행하면 아래 콘솔창에 Installing xxx.apk...이라는 로그를 볼수 있다.   
    이apk파일은 우리가 만든 프로그램을 ADT플러그인이 안드로이드sdk에 있는 개발도구를 이용해서 자동으로 만들어 주는
    파일이다.

                                                                                                     
    프로젝트를 생성하면 기본적으로 아래와 같은 파일이 생성된다. 여기에 있는 모든 파일들이 apk파일 하나로 만들어 지는 것 이다.
                   

    java파일을 컴파일 하게되면 .class이 생기는데 이.class파일은 JVM이 인식할 수 있는 바이트 코드 파일이다. 그런데, 
    안드로이드 환경 에서는 JVM이 아닌 Dalvik Virtual Machine이다. 그래서 이.class파일은 Dalvik에서 인식될 수 있는 포맷으로 
    다시 만들어 주어야 한다. 그 파일이 바로 .dex라는 파일이다. 이때 컴파일 할때는 javac도구를 이용하지만 이클래스 파일을 .dex
    파일로 변환할 때는 dx라는 도구를 사용한다. 이 작업은 사용자가 직접하지 않고 이클립스에서 자동으로 해준다.

    위의 파일중에 바이너리 형태가 아닌 리소스들 즉, UI관련 xml이나 자원관리용 xml 또는 이미지 파일들도 최소한의 메모리를 
    사용하게끔 컴파일 하게 된다. 그래서 dex파일과 컴파일된 리소스와 기존 바이너리 파일들이 다 합쳐서 apk파일이 생성 되는
    것이다. 이 apk파일이 실질적으로 단말기에 올라가서 실행되는 것이다. 

    아래 그림은 위에서 설명한 파일들이다. 
    dex, ap_, apk가 있는데, resources.ap_파일이 컴파일된 리소스이다.
   
  



    여기서 apk의 내용은 apk파일이 있는 폴더로 가서 android-sdk-windows\platforms\android-7\tools안에 들어있는
    aapt.exe로 확인할 수 있다.
    예> aapt list Hello.apk

    
    우리가 만든 프로그램을 마켓에 올려야 할 경우가 있는데, 디폴트로는 디버그용으로 signing되어서 apk파일이 만들어진다.
    릴리즈용으로 배포하기 위해선 디버그용으로 signing되지 않은 결과물을 얻어온 후에 인증키를 이용해서 릴리즈용으로 signing
    작업만 한번 더 해서 올리면 된다.

'Programming > Android' 카테고리의 다른 글

안드로이드 프로세스 우선순위  (0) 2010.07.25
TextView  (0) 2010.07.25
Intent를 이용한 지도 띄우기  (0) 2010.07.25
안드로이드 환경 설정  (0) 2010.07.25
Posted by 어북어위크
2010. 7. 25. 16:18

안드로이드에서 화면상에 글을 보여주기 위해서는 TextViewf를 사용한다. 윈도우 프로그래밍에서는
컨트롤과 같은 것이다.

기본적으로 프로젝트를 하나 생성 하면 TextView가 생기고 그위에 Hello World라는 글자를 보여준다.
여기서 돌아가는 흐름을 이해하기위해 하나 더 추가해서 예제를 만들어보자.

프로젝트를 생성하면 자동으로 main.xml과 string.xml파일이 생성된다.

           
main.xml은 기본적으로 생성되는 화면작업을 위한것 이고, string.xml은 화면작업을 위해 쓰이는 자원관리를 하는 파일이다. 화면에 어떤 글씨를 보여 줄지에 대한 정보가 모두 여기에 저장 되어 있다.













    그럼 main.xm을 사용해서 TextView를 디자인 해보자. 
    main.xml을 더블클릭 후 아래 Layout탭으로 이동해서 왼쪽의 Views에서 TextView위젯을 드래그&드롭으로 끌어다가 검은 화면 
    위에 올려 놓으면 끝이다. 오른쪽 Outline에서 TextView가 추가된것을  볼 수 있다. 

    
    또는 아래와 같이 xml파일에서도 TextView가 추가된것을 확인할 수 있다.

    
    아래 예제는 위에서 만든 TextView를 가져다가 값을 출력하는 부분이다. 2줄이면 코딩 끝~
    findViewById()는 해당 위젯을 찾는 함수이다. 인자로는 R.id.TextView01이라고 주었는데 여기서 R은 자원을 관리 해주는 
    클래스 이다. 사용자가 위젯을 하나씩 추가할때 마다.gen밑에 R.java라는 클래스에 사용자가 추가한 위젯의 아이디가 자동으로 
    등록되게 된다. 사용자가 등록한 모든위젯들의 아이디는 R.java클래스에서 참조하면 된다.
 
    

'Programming > Android' 카테고리의 다른 글

안드로이드 프로세스 우선순위  (0) 2010.07.25
안드로이드 apk 파일  (1) 2010.07.25
Intent를 이용한 지도 띄우기  (0) 2010.07.25
안드로이드 환경 설정  (0) 2010.07.25
Posted by 어북어위크
2010. 7. 25. 16:12
인텐트란 메세지 기반의 프레임웍이라고 보면 된다.
어떠한 일이 발생했다는 상황에 대한 정보(데이타)를 담고 있는 메세지다.
인텐트로 할 수 있는일은 매우 다양하다.다른 컴포넌트와도 통신이 가능하고, 화면전환 및 다른 서비스 컴포넌트를 실행할 때도 쓰일 수 있다.또 어떠한 상황이 발생했다는 상황정보를 알려주기 위한 브로드캐스팅에도 쓰인다.

아래 코드에서는 지도를 보고싶다는 인텐트와 핸드폰에 관한 인텐트를 발생시키면
안드로이드 플랫폼이 그 인텐트에 담긴 정보와 제일 적합한 화면을 찾게되고 사용자에게 보여준단.
즉 컴포넌트를 찾아서 사용자에게 보여주는 것은 안드로이드 플랫폼이 알아서 해준다. 

지도를 보여주기 위해서는 프로젝트 생성시 Build Target에서 Google APIs를 선택해야한다 


import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class IntentAppActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Button mapButton = (Button) this.findViewById(R.id.mapButton);              // 지도버튼 생성.
        Button phoneButton = (Button) this.findViewById(R.id.phoneButton);         // 폰버튼 생성. 
       
        mapButton.setOnClickListener( new View.OnClickListener() {
   
           @Override
           public void onClick(View v) {
    
               Uri uri = Uri.parse("geo:37.4944732,127.05413818333334");                  // 좌표값 설정.
               Intent intent = new Intent( android.content.Intent.ACTION_VIEW, uri); // 인텐트 생성.  
    
               startActivity(intent);                                                                     // 액티비티 실행.
           }
    });

    phoneButton.setOnClickListener( new View.OnClickListener() {
   
        @Override
         public void onClick(View v) {
    
             Uri uri = Uri.parse("tel:555-1234");         // 전화번호 설정.
             Intent intent = new Intent( android.content.Intent.ACTION_DIAL, uri); // 인텐트 생성.  
    
             startActivity(intent);             // 액티비티 실행.
         }
      });
    }
}

아래는 실행 화면이다.

map 버튼 클릭화면.


phone 버튼 클릭화면.


'Programming > Android' 카테고리의 다른 글

안드로이드 프로세스 우선순위  (0) 2010.07.25
안드로이드 apk 파일  (1) 2010.07.25
TextView  (0) 2010.07.25
안드로이드 환경 설정  (0) 2010.07.25
Posted by 어북어위크
2010. 7. 25. 15:57

윈도우에서 안드로이드 개발환경을 설정해 보자.

1. JAVA SDK설치.
     - http://java.sun.com/javase/downloads/index.jsp

2. 안드로이드 SDK설치.
     -http://developer.android.com/sdk/index.html

3. 이클립스 설치.
     - http://www.eclipse.org/downloads/
     - Eclipse IDE for Java EE Developers 으로 다운로드.
     - 갈릴레오 버전 설치.

4. 안드로이드 이클립스 플러그인 설치(ADT)
     - 이클립스 -> Help -> Install New Software... -> 우측상단에 Add 클릭.


    Name, Location을 입력해야 한다.
    Name은 Android Plugin ADT으로(자기가 알아보기 쉬운것으로)입력하면되고.
    Location은 경로를 설정해줘야 한다.
    
    내용을 입력하기위해 아래 사이트로 이동.
    http://developer.android.com ->  SDK 탭으로 이동 -> 왼쪽메뉴에 ADT Plugin for Eclipse -> ADT 0.9.7 클릭. 
    내용중에 Downloading the ADT Plugin항목 에서의 "https://dl-ssl.google.com/android/eclipse/" 입력하거나,
    Troubleshooting ADT Installation 항목중에 "ADT-0.9.7.zip" 파일을 다운 받아서 파일 위치를 적어주면 된다.
    
    OK버튼을 클릭하면, 아래와 같이 나오는데 Developer Tools 체크하고 Next버튼 클릭


     아래 화면에서 Next버튼 클릭.


    라디오 버튼 체크하고 Finish 버튼 클릭.


    아래와 같이 설치되는 과정을 볼 수있다.         


        아래화면에서 체크박스 체크하고 OK버튼 클릭.
    

        Yes버튼 클릭.  

        
        이클립스가 재시작되고 아래그림에서 빨간줄친 항목이 보이면 설치 완료.


        플러그인 설치가 완료되었으면, 이클립스에서 안드로이드 SDK를 쓸 수 있도록 이클립스와 SDK를 연결해야 한다.

5. 이클립스와 Android SDK 연결.

      -  이클립스 메뉴에서 
         Windows->Preference 클릭 -> 좌측메뉴에 Android 항목 클릭 -> 오른쪽 SDK Location의 "Browse..." 버튼 클릭.
         위의 순서 2번에서 다운로드한 SDK 폴더(android-sdk-windows) 지정 후 Apply버튼클릭 -> OK 버튼 클릭.
         이로써 기본적인 환경설정은 끝이난다. 

        

'Programming > Android' 카테고리의 다른 글

안드로이드 프로세스 우선순위  (0) 2010.07.25
안드로이드 apk 파일  (1) 2010.07.25
TextView  (0) 2010.07.25
Intent를 이용한 지도 띄우기  (0) 2010.07.25
Posted by 어북어위크