JKUN

Welcome To The Jkun.net

블로그 포스트 검색결과


Smart Phone/Android 에 해당되는 글 5개가 검색 되었습니다.

  1. 2010.09.06 Android 학습 - Chap 1
  2. 2010.09.01 안드로이드 디버그 android debug
  3. 2010.08.20 안드로이드 이클립스에서 빌드 오류
  4. 2010.08.04 안드로이드 OS를 PC에서 사용하기
  5. 2010.08.03 안드로이드를 컴퓨터에 설치

Blog

Android 학습 - Chap 1

2010.09.06 23:05 Smart Phone/Android


* 안드로이드

구글 안도로이드는 개방적이고 무료인 최초의 모바일 플랫폼이다.
  • 모바일 사용자 : 다양하고 많은 컨텐츠
  • 이동통신 : 수익성 높은 방식으로 컨텐츠 통제
  • 모바일 개발자 : 콘텐츠 개발을 통한 수익
  • 단말기 제조사 : 저렴한 비용으로 사용할 수 있는 플랫폼
특징
  • 라이센스 사용료가 없다.
  • 운영체제 : GPL v2
  • 플랫폼 : ASL / Apache2
  • 카메라, 센서, GPS, Wi-Fi 등의 하드웨어 접근 가능
  • 구글맵 지원
  • 백그라운드 서비스 지원
  • SQLite 데이터베이스 지원
  • 공유데이터와 어플리케이션 간의 통신을 지원
  • 2D / 3D 지원
  • 최적화된 메모리와 프로세스 관리
실행환경

어플리케이션 
Email 클라이언트, SMS 프로그램, 달력,
지도, 브라우저 등의 코어 어플리케이션 
어플리케이션 프레임워크 
안드로이드 어플리케이션 개발 시
필요한 API 를 제공 
라이브러리 (Android Runtime) 
안드로이드 프레임워크에서 필요한 C 와
C++ 라이브러리 
리눅스 커널 
메모리 관리, 프로세스 관리, 네트워크 세펠 등
하드웨어 지원 



개발환경구축 (리소스 다운로드)
  • Android SDK
    • Download : http://developer.android.com/sdk/index.html/
  • Eclipse galileo
    • Download : http://www.eclipse.org/downloads/
  • Java SDK
    • Download : http://java.sun.com/javase/downloads/index.jsp
  • Eclipse ADT Plugin
    • Download : https://dl-ssl.google.com/android/eclipse/
구글 안드로이드 개발자 사이트
http://developer.android.com/index.html

구글 안드로이드 개발형태
  1. Managed Code
    • Java 로 Dalvik VM 에서 동작하는 프로그램을 작성하는 방식
  2. Web Apps
    • 웹 서버에 웹페이지를 작성하고 이를 안드로이드의 브라우저로 실행하는 방식
  3. Native Code
    • C / C++ 로 작성된 라이브러리를 Dalvik 에서 JNI (Java Native Interface)  형태로 호출하는 방식

안드로이드 어플리케이션 프로젝트 구조

assets : 디바이스에 어플리케이션을 설치할때 함께 설치할 데이터 파일.
bin : 컴파일 된 어플리케이션 파일
gen : 안드로이드 빌드 시스템에 의해 자동으로 생성된 리소스 참조 파일
res : 문자열, 이미지등 어플리케이션에서 사용할 리소스 파일
src : 어플리케이션 소스코드

AndroidManifest.xml : 어플리케이션의 기본 설정 파일
default.properties : Ant 빌드 스크립트에서 참조하는 설정 파일

리소스 디렉토리 구조
  • res/drawable-hdpi : 해당 해상도에서 보여질 이미지
  • res/drawable-ldpi : 해당 해상도에서 보여질 이미지
  • res/drawable-mdpi : 해당 해상도에서 보여질 이미지
  • res/layout : 사용자 인터페이스에서 레이아웃을 정의하는 XML 파일
  • res/menu : 메뉴를 정의하는 XML 파일
  • res/values : 문자열 등 각종 값을 정의하는 파일
  • res/xml : XML 형태로 저장된 다양한 파일
  • res/raw : 기타 파일 (mp3, mp4 등등)
결과 디렉토리 구조
  • bin/classes/ : 컴파일된 자바 클래스
  • bin/classes.dex : 컴파일된 자바 클래스로 생성한 Dalvik 클래스 파일
  • bin/resources.ap_ : 컴파일된 자바 클래스로 생성한 Dalvik 클래스 파일
  • bin/app_name.apk : 컴파일된 자바 클래스로 생성한 Dalvik 클래스 파일
AndroidManifest.xml 파일 구조


<use-permission> 애플리케이션이 필요로 하는 권한
<permission> 외부 액티비니나 서비스가 필요로 하는 권한
<instruction> 액티비티가 실행되는 등의 주요이벤트가 발생했을때 어플리케이션의 어떤 부분을
 호출할 지를 결정 (기록, 모니터링)
<uses-library> 추가로 필요로 하는 라이브러리 지정 (구글맵스)
<uses-sdk> 어플리케이션이 필요로 하는 안드로이드 버전
<application> 어플리케이션과 관련된 정보

<activity> 어플리케이션이 사용할 클래스 지정
<service> 백그라운드에서 실행할 클래스 지정
<receiver> 브로드캐스트 리시버 클래스 지정
<use-library> 어플리케이션에서 사용할 외부 라이브러리


저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

안드로이드 디버그 android debug

2010.09.01 00:45 Smart Phone/Android



출처 : http://blog.naver.com/goodhorror/80101602787

프로그램이 죽는 경우 기본적인 디버깅 방법조차 모르는 경우가 많은 것 같아서 정리를 합니다. 프로그램이 죽어서 Q&A 게시판에 글을 남기실때 이 내용을 반드시 확인하시고 질문을 올려주시기 바랍니다.

  

프로그램이 죽는 경우라 하면 먼저 위와 같은 에러 메시지(Sorry! The application XXXX (process com.xxx.xxx.xxx) has stopped unexpectedly. Please try again. Force close)가 화면에 나타나는 경우를 말합니다.

이 경우 디버깅 화면의 LogCat 메시지를 살펴보면 다음과 같습니다. (로그캣이 뭔지 모르신다면 먼저프로젝트 실행과 디버깅 그리고 단말 세팅 이 글을 읽어보세요)


가장 가까운 마지막 부분 근처에 E 로 찍히고 빨간색으로 표시되는 메시지가 주욱 찍힙니다. 소스 어디에서 어떤 이유로 에러가 발생했는지를 표시해주는 로그로 에러의 해결을 위해 가장 중요한 부분입니다. 

08-05 00:02:14.564: ERROR/AndroidRuntime(12848): Uncaught handler: thread main exiting due to uncaught exception
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.apis/com.example.android.apis.view.Gallery1}: java.lang.NullPointerException
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.app.ActivityThread.access$1800(ActivityThread.java:112)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.os.Looper.loop(Looper.java:123)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.app.ActivityThread.main(ActivityThread.java:3948)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at java.lang.reflect.Method.invokeNative(Native Method)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at java.lang.reflect.Method.invoke(Method.java:521)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at dalvik.system.NativeStart.main(Native Method)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): Caused by: java.lang.NullPointerException
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at com.example.android.apis.view.Gallery1.onCreate(Gallery1.java:48)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848):     ... 11 more


주루룩 선택하고 에러 메시지를 카피&페이스트할 수 있습니다. 여기서 중요한 부분은 굵은 글씨로 표시해보았습니다. 널포인트 익셉션이 발생하고 소스의 어느 어느 위치에서 발생하는지를 표시합니다.

        super.onCreate(savedInstanceState);
setContentView(R.layout.gallery_1);

// Reference the Gallery view
Gallery g = (Gallery) findViewById(R.id.add);
// Set the adapter to our custom adapter (below)
g.setAdapter(new ImageAdapter(this));

// Set a item click listener, and just Toast the clicked position
g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
Toast.makeText(Gallery1.this, "" + position, Toast.LENGTH_SHORT).show();
}
});

// We also want to show context menu for longpressed items in the gallery
registerForContextMenu(g);

해당 소스의 관련 부분을 보고 어디에서 문제가 발생했는지를 확인합니다.
저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

안드로이드 이클립스에서 빌드 오류

2010.08.20 14:36 Smart Phone/Android


아우.. 계속 보고도 까먹는다. 그래서 포스팅을 한다. 담배를 끊든가 해야지..
먼저 오류 내용은 이렇다.


나의 경우에는 빌드시 layout 의 main.xml 파일의 존재하지도 않는 엘리먼트 아이디를 입력하였을때 빈번하게
발생하였다. 뭐 다른경우에도 존재하겠지만..

일단 해결 방법은 간단하다.
이클립스의 Project -> Clean 을 실행한다.




저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

안드로이드 OS를 PC에서 사용하기

2010.08.04 09:34 Smart Phone/Android



출처 : http://djpresident.blog.me/130091285420

닛케이 BP 사 닛케이 Linux 공동 기획


 

본 제품은 닛케이 BP 사 닛케이 Linux 종이와 미라클 리눅스 주식 회사 (이하 미라클 리눅스)의 공동 기획으로 ITpro에 게재된 Android의
USB 부토·이메지입니다.
USB 메모리에 Android 부트 이미지를 설치하면 귀하의 넷북 및 MID 쉽게 Android를 사용할 수 있습니다.
자세한 내용은 ITpro 기사를 확인하시기 바랍니다.
http://itpro.nikkeibp.co.jp/article/COLUMN/20090219/325052/


 

필요한 것


  • x86 아키텍처 PC, USB 메모리보다 부팅하는
    (OS는 묻지 않지만 다음 절차에서는 Linux를 가정합니다.)
  • USB 메모리 (512MB)


 

설치 방법


 

  1. 아래 링크에서 USB 메모리 이미지를 검색하고 'android - usb.img'라는 이름으로 저장한다.
  2. USB 메모리 이미지를 저장할 디렉토리로 이동한다.
  3. USB 메모리를 PC에 삽입한다.
  4. USB 메모리 이미지를 삽입하는 USB 메모리에 씁니다.
    UNIX 계열의 OS (Linux 포함)의 경우에는 터미널에서 다음 명령을 입력합니다. ( '$'는 명령 프롬프트)

    $ sudo dd if = android - usb.img of = / dev / sdb
    

    여기서 / dev / sdb는 삽입된 USB 메모리의 장치 이름.
    장치 이름을 확인하는 방법은 각 OS 설명서 등을 참조.
  5. PC를 다시 시작합니다. 그 때, 부팅 장치로 만든 USB 메모리를 사용하면된다.


 

* 설치시주의 사항


 

설치 위치는 반드시 USB 메모리디바이스를 지정하십시오. (위의 예제이다 / dev / sdb)
지정 대상을 잘못된 경우 다른 디스크 내용을 파괴 해 버리는 위험이 있습니다.



 

*주의 사항

본 제품은 Miracle 리눅스가 권리를 보유하며, 저작권 및 기타 법령에 의해 보호되고 있습니다.
본 제품에 대한 지원 및 문의 사항에 관해서는 현재 미라클 리눅스는 허용하지 않습니다.
본 제품을 사용함으로써, 고객에게 어떤 불이익이 발생하더라도, 미라클 리눅스에 대한 책임을지지 않습니다합니다.
본 제품은 모든 하드웨어에서 동작을 확인하는 뜻이 없습니다.

Android의 USB 부팅 이미지 다운로드

 

DD for Windows (이미지 굽기 프로그램) 다운로드


 

참조 : http://muzbox.tistory.com/470

저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment

Blog

안드로이드를 컴퓨터에 설치

2010.08.03 14:25 Smart Phone/Android


출처 : http://kinlife.tistory.com/

 

PC 에 설치되어 작동하는 안드로이드

오늘 소개해드릴 내용은 '내 PC 에 직접 안드로이드 OS 를 설치하여, 안드로이드폰 없이 안드로

이드를
즐기는 방법' 입니다.


가능하냐구요???

이것이 오픈 소스의 위력입니다.

직접 체험해 보세요. 아래 몇 가지만 따라하시면, PC 로 안드로이드 앱을 다운받고, 스카이프로 전화도

하고, 여러가지를 즐길 수 있답니다. 노트북이나 넷북에 깔아서 사용하시면 더더욱 좋으실듯.


그럼 시작 합니다.

준비물 : 512 MB 이상의 플래쉬 메모리


1. 아래 두 사이트를 방문하여, 설치 파일을 다운로드 받습니다.

- http://www.android-x86.org/download


- http://unetbootin.sourceforge.net/



2. 다운받은 파일 중 먼저 'UNetbootin' 를 실행 합니다.


플래쉬 메모리를 꽂은 다음, 'UNetbootin' 을 실행 시키고, 'Diskimage' 를 클릭하여 주시고,

앞서 다운받은 'android-x86-1.6-r2.iso' 파일을
지정합니다.

밑의 Type 란은 'USB Drive' 를 지정해 주시고, USB 의 드라이브를 설정한 다음 'OK' 버튼을

누릅니다.


* 물론 USB 드라이브가 아닌, CD or DVD 를 사용하셔도 됩니다. *

3. 자동으로 부팅 디스크를 만듭니다.



완료가 되었으면, 'Reboot Now' 버튼을 눌러서 컴퓨터를 재부팅 합니다.

4. PC를 재부팅할 때 앞서만든 USB 드라이브나, CD or DVD 를 이용하여 부팅을 합니다.


바이오스에 들어가서, 부팅을 USB 나 CD-ROM 드라이브를 우선 선택 하여 줍니다.


Live CD - Run Android-x86 without installation 을 선택하여 줍니다.


5.  자신의 PC 에 'Android' 글자가 보이며, Android OS 로 부팅이 됩니다.



6. PC 에 안드로이드 OS 가 보이시면, 성공!!



7. 이제 뭘 하면 되나구요?

안드로이드 OS 를 마음껏 즐기시면 됩니다.

안드로이드용 앱도 마음껏 다운로드 해보시고, 앱 사용도 하면서, 즐겨보세요.

노트북을 Wireless 연결하시고, 마이크와 헤드폰이 있으면, 스카이프를 통해 전화도 가능

하답니다.





* 주의점 *

자신의 노트북이나 PC 가 'AMD' 계열 CPU 면 에러가 상당히 자주 발생하거나, 설치가 되지

않을수도 있습니다. 그리고, 개발자가 많은 컴퓨터를 테스트 해보았지만, 그래도 몇 가지 기종

에서는 정상작동 하지 않을 수 도 있다고하니, 참고하세요.


http://www.android-x86.org/#Tested_platforms

유익한 정보라 생각이 드시면, 다른분들께도 알려드리기 위하여 아래의 '추천' 한방 부탁드립니다.
저작자 표시
신고
현재 0 개의 댓글이 있습니다.
Comment