'old > Prepare' 카테고리의 다른 글

DDMS에서 로그를 확인하기 위한 메서드  (0) 2010.03.04
R.drawable image preview  (0) 2010.03.03
Framework 소스 변경 필요 시  (0) 2010.03.02
시스템 유틸 삭제 및 유저데이터 삭제  (0) 2010.03.02
Sim Card Check 해제  (0) 2010.03.02
Posted by jazzlife
,
    @SuppressWarnings("unused")
    private static void log(String logMsg) {
        Thread current = Thread.currentThread();
        long tid = current.getId();
        StackTraceElement[] stack = current.getStackTrace();
        String methodName = stack[3].getMethodName();
        // Prepend current thread ID and name of calling method to the message.
        logMsg = "[" + tid + "] [" + methodName + "] " + logMsg;
        Log.d(TAG, logMsg);
    }

'old > Prepare' 카테고리의 다른 글

이클립스 한글언어팩  (0) 2010.03.15
R.drawable image preview  (0) 2010.03.03
Framework 소스 변경 필요 시  (0) 2010.03.02
시스템 유틸 삭제 및 유저데이터 삭제  (0) 2010.03.02
Sim Card Check 해제  (0) 2010.03.02
Posted by jazzlife
,

'old > Prepare' 카테고리의 다른 글

이클립스 한글언어팩  (0) 2010.03.15
DDMS에서 로그를 확인하기 위한 메서드  (0) 2010.03.04
Framework 소스 변경 필요 시  (0) 2010.03.02
시스템 유틸 삭제 및 유저데이터 삭제  (0) 2010.03.02
Sim Card Check 해제  (0) 2010.03.02
Posted by jazzlife
,

전체소스를 Linux에서 풀어보시면

build_target.sh 라는 파일이 있습니다.

이것을 실행하시면 build가 진행이 되고

/out/target/product/alohag 밑에 boot.img, system.img, userdata.img가 생성이 됩니다.

이것을 Fastboot mode에서 download.bat 파일을 실행하면

폰으로 다운로드가 되고 새로운 System.img파일이 올라가게 됩니다.

*download.bat파일은 tool이라는 폴더에 공유해 드렸습니다.

 

/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates

빌드를 하시고 이쪽을 열어 보시면 classes.jar 파일이 생성 되어 있습니다.

이것을 eclipse에서 사용하는 것 입니다.

Posted by jazzlife
,

Usb 케이블 연결하고 power를 눌러 폰을 켜고(현재 버전이 불안정 해서 그런 것이고  나중에는 폰켜고 나서도 될 거에요)USB Debugging”이 켜져 있는지 확인하고

도스창 띄워놓고

 

adb remount

adb shell

#cd system/app

#rm Mms.apk

#exit

 

이렇게 실행 하시면 Mms app가 폰에서 삭제 됩니다.

이렇게 하고 나서 fastboot mode에서

 

fastboot.exe -w

 

이렇게 입력하시면 User data가 지워 집니다.

다시 폰을 부팅하시고 eclipse에서 빌드된 Mms apk를 폰에 올리시면 됩니다.

'old > Prepare' 카테고리의 다른 글

R.drawable image preview  (0) 2010.03.03
Framework 소스 변경 필요 시  (0) 2010.03.02
Sim Card Check 해제  (0) 2010.03.02
프로젝트 실행 & 이클립스 디버깅 & 단말 세팅  (0) 2010.02.11
이클립스 개발환경 & 사용법  (0) 2010.02.11
Posted by jazzlife
,

시료폰에 전체이미지를 새로 올릴 경우 간혹 심카드가 없어서 긴급통화를 제외하고 모든 기능이 잠기게 되는 경우가 발생하는데

그런 상황이 발생할 때 심카드 체크를 해제해야 합니다.

 

Android SDK c:\android에 설치되었을 때의 예입니다.


** usb를 연결하고 power 버튼을 눌러 전원을 켜고 usb debugging 모드로 진입하는 것을 확인 한 후 **

1.
 
C:\android\tools\adb shell
2.     #su
3.     #echo app.setupwizard.disable=1 > /data/local.prop
4.     #reboot

 

폰이 재부팅되면 심카드 체크가 해제되어 모든 기능이 활성화 되어 정상 테스트가 가능합니다.

Posted by jazzlife
,
Activity 실행

메뉴에서 Run/Run Configurations 실행

Android Application에서 오른쪽 마우스 클릭후 New 선택
Name: New_configuration 을 프로젝트에 맞게 변경
Project : Browse후 해당 Project선택
Launch Action : Run시 실행할 Activity를 선택합니다.


(그림 3-1)

새로 작성한 Activity를 실행해 보기 위해서 Launch를 선택하고 List에서 새로생성한 MyActivity를 선택합니다.
Apply 후 Run을 실행하면 Emulator가 아직 떠있지 않다면 자동으로 실행합니다. Emulator는 한번 생성해 놓으면 매번 프로그램을 실행할때 마다 다시 시작시킬필요없이 재사용될 수 있습니다.

Run을 하게 되면 자동으로 Emulator에 이전에 인스톨되어있던 프로그램을 언인스톨하고 새로 작성된 프로그램을 인스톨한 후 선택한 Activity로 실행하여 줍니다.


(그림 3-2)

에뮬레이터를 처음 실행하였을 때 (그림 3-2)와 같은 화면이 나오는데 MENU라고 써져 있는 부분을 클릭하면 프로그램 화면을 볼 수 있습니다. 정상적으로 실행이 되었다면 에뮬레이터에 myactivity.xml에서 작성해주었던 "안녕하세요 모바일 플레이스 안드로이드 강좌 수강생 여러분" 라는 문구가 나타납니다.


(그림 3-3)

다시 프로그램을 실행시킬 때에는 (그림 3-3)에 표시된 아이콘을 누른 후 생성한 Configuration을 선택하면 됩니다.

디버깅

소스 에디터의 왼쪽 부분을 더블 클릭하면 해당 위치에 브레이크 포인트가 설정됩니다. 브레이크 포인트가 설정된 지점에 작은 동그라미가 표시됩니다.


(그림 3-4)

그럼 이제 디버깅 모드로 프로그램을 실행시켜보도록 하겠습니다. (그림 3-5)에 표시된 벌레 모양 아이콘이 디버깅을 위한 실행 버튼입니다.


(그림 3-5)

다이얼로그 창이 뜨는데 확인을 누르면 이클립스가 디버그 상태로 전환됩니다. 이것을 Debug Perspective로 전환되었다고 합니다. 그리고 아까 잡아주었던 브레이크 포인트에 현재 실행이 멈추어 있는 것을 확인할 수 있습니다.


(그림 3-6)

Step Into (F5) : 메서드 속으로 들어가서 실행
Step Over (F6) : 한줄 실행

등 디버깅과 관련된 명령과 아이콘의 모양은 메뉴의 Run에서 확인하실 수 있습니다.

Perspective

소스 변경화면과 디버깅 화면등의 Perspective 전환은 오른쪽 위화면에서 각각 Java와 Debug의 클릭으로 가능합니다. 


(그림 3-7)

안드로이드 개발시 또하나의 유용한 Perspective가 있는데 바로 DDMS입니다. 메뉴의 Windows/Open Perspective에서 DDMS를 선택하면 열수 있습니다. (바로 보이지 않는다면 Other를 클릭하면 선택하실 수 있습니다.)


(그림 3-8)

DDMS Perspective에서는 현재 에뮬레이터 및 단말의 프로세스, 쓰레드, 힙, 파일등의 다양한 정보를 확인할 수 있습니다. 또한 에뮬레이터에서 SMS, 전화, GPS 등을 시뮬레이션할 수도 있습니다.

로그캣

저번 강좌에서 소스에 Log.d("MyTag", "Print Test Log"); 라는 코드를 넣었습니다. 이것은 개발할때 필요한 로그를 출력해주는 역할을 합니다. 디버깅 혹은 DDMS 화면 밑 부분에 LogCat이라는 영역에서 로그를 확인하실 수 있습니다. Print Test Log라고 찍힌 부분을 확인하실 수 있습니다.


(그림 3-9)

그런데 로그가 너무 많이 나와서 복잡합니다. 작성한 어플리케이션에서 나오는 메시지만을 따로 확인하기 위해서 필터를 적용할 수 있습니다. Log.d함수의 첫번째 인자인 Tag부분을 이용해서 가능합니다. 녹색 + 모양을 눌러 Filter를 생성합니다.


(그림 3-10)

Log Filter라는 창에서 Filter Name은 적당히 적은 후, 따로 메시지를 확인할 Tag부분을 "MyTag"로 적어서 OK를 합니다.


(그림 3-11)

이제 LogCat창안에 새로운 필터 탭이 생겨서 MyTag라는 Tag를 가지는 메시지는 따로 분류해서 보여줍니다.


(그림 3-12)

단말 디버깅

안드로이드 실제 단말을 통한 개발은 몇가지 설정만 해준다면 에뮬레이터를 통한 개발과 크게 다르지 않습니다.

단말 상에서 Settings를 실행 Applications/Development로 들어가서 USB debugging과 Stay awake를 체크해줍니다.
그런 후 단말을 USB케이블을 통해서 PC연결해주면 새로운 장치를 찾았다며 드라이버를 설치하라는 화면이 나옵니다.
드라이버는 SDK가 설치된 폴더 밑에 usb_driver라는 폴더에 저장되어있습니다. (1.0 SDK Release2에서 부터 포함되서 나왔습니다.)

정상적으로 드라이버가 설치되었다면 DDMS화면의 왼쪽 윗부분 Devices화면에 Emulator가 아닌 실제 장치가 표시됩니다.


(그림 3-13)

실제 단말상에서 개발시 소스 상에서 추가해줘야 하는 부분이 하나 있습니다. AndroidManifest.xml에 application 태그에서 android:debuggable="true"를 추가해주어야 합니다. 만약 설정해주지 않는다면 Wating For Debugger화면에서 더 이상 진행되지 않습니다.


(그림 3-14)

debuggable tag는 개발시에 넣어두고 실제 릴리즈시에는 삭제해주는 것이 좋습니다. 이제 모든 설정이 끝났고 실제 단말에서도 에뮬레이터에서 디버깅을 하는 것과 동일하게 개발을 하실 수 있습니다.

이번 강좌에서는 안드로이드 개발과 디버깅을 위한 이클립스의 사용법과 단말 세팅까지 살펴보았습니다. 이제 이클립스에 환경과 기본적인 프로젝트 구성에 익숙해지셨을 테니 다음 강좌 부터는 본격적인 개발에 들어가 보도록 하겠습니다.

출처 : http://www.mobileplace.co.kr/android_dev_info/764

'old > Prepare' 카테고리의 다른 글

R.drawable image preview  (0) 2010.03.03
Framework 소스 변경 필요 시  (0) 2010.03.02
시스템 유틸 삭제 및 유저데이터 삭제  (0) 2010.03.02
Sim Card Check 해제  (0) 2010.03.02
이클립스 개발환경 & 사용법  (0) 2010.02.11
Posted by jazzlife
,

프로젝트 생성

이클립스 메뉴에서 File / New /Project 선택
Android / Android Project 선택 후 Next
다음과 같은 창이 뜹니다. 
  
(
그림 2-1)

Project Name :
이클립스에서 프로젝트를 구분해주기 위한 이름
Package Name : 자바 패키지 지정
Activity Name : 기본으로 생성되는 Activity 클래스에 사용될 이름
Application Name : 단말에서 어플리케이션에 사용되는 이름

다음과 같이 입력해보도록 하겠습니다.
MobilePlace Lecture
kr.mobileplace.lecture
Main
MobilePlace

액티비티(Activity)? 안드로이드 어플리케이션의 기본 단위. 보통 사용자가 현재 보고 있는 전체 화면이라고 생각하면 됩니다. 화면의 구성 정보를 가지고 있고 사용자의 입력을 받아서 처리하는 역할을 합니다.

프로젝트 패키지

 기본으로 생성되는 프로젝트 패키지를 펼쳐 보면 다음과 같습니다.


(
그림 2-2)

src : 자바 소스가 위치합니다.

        Main.java : 기본으로 지정해주었던 Activity 클래스

        R.java : 리소스 파일에서 생성되는 클래스로 항상 자동으로 생성되며 직접 수정을 해서는 안됩니다.

res : 어플리케이션에서 필요한 그림, 멀티미디어, 레이아웃, 문자열 등 다양한 리소스 관리

        drawable : 어플리케이션 내에서 사용될 그림 파일들

        layout : Activity의 화면 구성 정보를 담고 있는 xml파일들

        values : 문자열, 배열, , 스타일등 다양한 부가 정보들.

Android Library : 안드로이드 SDK 사용을 위해 포함된 라이브러리


AndroidManifest.xml :
어플리케이션과 구성과 관련된 모든 정보를 담고 있는 파일. 어플리케이션 작성에서 가장 중요한 역할을 하는 파일입니다. 어플리케이션과 Activity의 다양한 설정, 사용권한, 연관된 라이브러리 등 다양한 정보를 포함합니다.

액티비티 생성

새로운 Activity를 직접 작성해보면서 이클립스의 기능을 살펴보도록 하겠습니다.

클래스 생성

먼저 왼쪽 프로젝트 패키지 화면에서 src/kr.mobileplace.lecture 라는 패키지 위에서 마우스 오른쪽 버튼을 클릭합니다. New를 선택하고 Class를 선택합니다.



(
그림 2-3)

새로운 클래스를 생성하는 다이얼로그가 나타납니다. 먼저 Name부분에 새로 작성할 Activity의 클래스 명을 적습니다. MyActivity라고 적고 그 아래 상속할 Superclass의 이름을 적어줍니다. Activity 클래스를 상속할 것이기 때문에 Activity를 적고 오른쪽에 Browse버튼을 클릭합니다.



(
그림 2-4)

그러면 Activity라는 단어를 포함한 모든 클래스가 나열됩니다. Superclass로 사용할 Classandroid.app.Activity를 선택하고 OK를 클릭합니다.



(
그림 2-5)

이제 다시 (그림 2-4) New Java Class화면에서 Finish를 클릭하면 프로젝트 소스에 새로운 클래스에 대한 파일이 생성된 것을 확인할 수 있습니다.

레이아웃 XML 생성

이번에는 액티비티의 화면 구성에 사용되는 레이아웃 파일을 만들어 보겠습니다. res/layout 폴더위에서 오른쪽 마우스 버튼을 클릭한 후 New 에서 File을 선택합니다. 파일이름을 myactivity.xml이라고 설정한 후 OK를 누릅니다. res 밑에 들어가는 파일들은 항상 소문자, 숫자, _ 만으로 구성되어야 하니 유의하시기 바랍니다!


(
그림 2-6)

아직 xml파일의 내용을 작성하지 않아서 빨간 X표시가 붙어있을 것입니다. myactivity.xml을 더블 클릭한 후 myactivity.xml이 에디터 창에 열립니다. 그런 후 에디터 아래쪽에 있는 Layout | myactivity.xml 탭에서 myactivity.xml을 선택하면 xml을 내용을 에디트 할 수 있는 화면이 열립니다.


(
그림 2-7)

일단 레이아웃 파일의 자세한 작성법은 나중에 다루기로 하고 main.xml에 있는 내용을 그대로 복사 넣고 android:text=”” 부분을 사용자 마음대로 수정해 봅니다.


(
그림 2-8)

AndroidManifest 수정

새로운 Activity를 생성하면 항상 AndroidManifest에다가 관련 정보를 등록해야 합니다. AndroidManifest에 넣어주어야 단말이 해당 Activity의 존재를 알 수 있습니다. 그렇지 않으면 단말에서 정상적으로 Activity를 생성할 수 없습니다.

먼저 AndroidManifest.xml을 더블 클릭한 후, 에디터 창의 아래 탭에서 AndroidManifest.xml을 선택합니다. 일단 기존에 생성되어있는 activity 태그 부분을 그대로 복사하여 하나 더 만든 후에 android:name=”” 부분에 새로 생성한 클래스의 이름 “.MyActivity”를 넣습니다. android:label 부분은 titlebar에 출력될 텍스트를 설정하는 부분입니다. 그리고 Main에 있던 category 부분은 일단 제거하고 저장하도록 하겠습니다.


(
그림 2-9)

메서드 오버라이드

자 이제 필요한 파일들은 모두 생성을 했습니다. 이제 생성된 파일들을 실제 동작할 수 있도록 자바 코드를 작성해 보겠습니다. 다시 MyActivity.java 파일로 돌아갑니다.

클래스의 { } 사이를 클릭해서 커서를 위치 시킨 후 오른쪽 마우스 버튼을 클립합니다. 그리고 Source Override/Implement Methods를 클릭합니다.


(
그림 2-10)

생성된 다이얼로그 창에서 오버라이드할 메서드인 onCreate(Bundle)을 찾아서 체크한 후에 OK 하면 MyActivity.java에 해당 메서드를 오버라이드한 코드가 자동으로 생성됩니다.


(
그림 2-11)

이제 오버라이드한 onCreate메서드에 아까 만들었던 myactivity.xml 이라는 레이아웃을 이 Activity의 화면 구성에 사용한다는 코드인 setContentView(R.layout.myactivity); 작성하여 넣습니다. 그 다음 디버그 메시지 출력을 위한 코드인 Log.d(“MyTag”, “Print Test Log”);를 작성하여 넣습니다. 그런데 Log라는 클래스명에서 빨간 밑줄이 그어지며 에러표시가 난 것을 확인하실 수 있습니다. 해당 클래스가 현재 파일에 import되어있지 않기 때문에 발생하는 에러입니다. Log 위에서 오른쪽 마우스를 클릭한 후 SourceAdd Import를 클릭합니다. (단축키로 Ctrl+Shift+M도 사용하실 수 있습니다.) Log클래스가 여러 개 있기 때문에 선택을 위한 다이얼로그가 뜹니다. android.util.Log를 선택합니다.


(
그림 2-12)

이제 기본적인 코드 작성이 끝이 났습니다. 새로 작성한 소스를 실행해보는 일이 남았는데요 다음 강좌에서 계속 하도록 하겠습니다.

Posted by jazzlife
,