BLOG ARTICLE -_Android_- | 4 ARTICLE FOUND

  1. 2011.05.16 [Android] 프로젝트 불러오기
  2. 2011.04.05 Sample Source
  3. 2011.01.18 Scrap Book
  4. 2010.05.06 안드로이드 프로젝트 폴더 구성

이미 다른곳에서 작업된 프로젝트 파일을 불러 오고자 할 때

1) 이클립스를 실행  합니다.


2) File - New - Project


3) Android Project 선택


4) Contents를 Create project from existing source로 선택한 뒤
  Browse를 선택하여 불러오고자 하는 Project 폴더를 선택하고 Finish를 선택한다. 


5) 정상적으로 불러오기 되었는지 확인.


6) Manifest에 입력된 sdk 버전이 다른경우 경고 메시지가 뜰 수 있다.


7) Window - Android SDK and...을 선택


8) Available packages에서 project의 SDK를 선택하여 설치 한다.


10) Virtual devices에서 설치한 sdk에 맞는 가상머신(에뮬레이터)를 생성해 준다.


11) 프로젝트에서 오른쪽 마우스 클릭하여 properties에서
  android 의 버전을 맞춰준다.


12) Run - Run Configuration에서 
  해당 프로젝트와 생성한 에뮬레이터를 선택하여 테스트 한다.




AND

Sample Source

-_Android_-/Scrap 2011. 4. 5. 18:43
- missing call number

Cursor cursor = getContentResolver().query(
    Calls.CONTENT_URI,
    null,
    Calls.TYPE + " = ? AND " + Calls.NEW + " = ?",
    new String[] { Integer.toString(Calls.MISSED_TYPE), "1" },
    Calls.DATE + " DESC ");

  
  Log.i(TAG, "cursor.getCount() :"+cursor.getCount());


AND

Scrap Book

-_Android_-/Scrap 2011. 1. 18. 22:34
- wheel
http://code.google.com/p/android-wheel/source/browse/#svn%2Ftrunk%2Fwheel

-camera
http://meghendra.tistory.com/41

-popup
http://code.google.com/p/simple-quickactions/

- Bluetooth
http://arsviator.blogspot.com/2010/05/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EB%B8%94%EB%A3%A8%ED%88%AC%EC%8A%A4-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-bluewatch-project-2.html

- Alarm Source
http://name267.tistory.com/46

- SQL
http://www.androidpub.com/1264875

- Adsense
http://f7key.tistory.com/22

- Icon Sample
http://www.iconarchive.com/

- Custom Spinner
http://www.gersic.com/blog.php?id=57
http://stackoverflow.com/questions/2909249/how-can-we-create-iphone-like-spinners-in-android

- Market 등록
http://www.androidpub.com/56913

- Preference
http://test.androday.com:7788/blog/?p=436

- APK 생성
http://blog.naver.com/shywink1004/109653492

- 갤럭시 Tab 에뮬레이터 띄우기
http://blog.naver.com/PostView.nhn?blogId=brighteyes79&logNo=130097833168

- db
http://overoid.tistory.com/19
AND

1. 프로젝트 Root 폴더 구성

Eclipse IDE이나 기타 툴을 사용해 새로운 안드로이드 프로젝트를 생성하면 프로젝트의 루트 폴더는 다음과 같은 파일/폴더가 생성된다.

  • AndroidManifest.xml - 해당 어플리케이션에 대한 정보와 포함하는 컴포넌트 (activity, Content Provider 등) 정보가 수록된 xml형태의 문서
  • build.xml - 어플리케이션을 컴파일하고 안드로이드 디바이스에 인스톨하는데 사용되는 Ant script (주1)[각주]
  • default.property - Ant script가 사용하는 프로퍼티 파일
  • bin 폴더 - 컴파일된 바이너리가 저장되는 폴더
  • libs 폴더 - 어플리케이션이 필요한 외부 JAR 파일을 저장하는 폴더
  • src 폴더 - 어플리케이션의 Java 원시 코드를 저장
  • res 폴더 - 어플리케이션의 레이아웃, 사용되는 이미지/문자열 등 컴파일된 자바 코드와 함깨 패키징되는  리소스를 저장. 이곳에 저장된 리소스들은 AAPT(Android Asset Packaging Tool)의 의해 컴파일되고 리소스 명세가 프로젝트폴더\gen\R.java 이라는 자동 생성 파일에 정리된다. 소스코드 상에서는 R클래스(예: R.layout.main)를 통해 쉽게 컴파일된 리소스에 접근할 수 있다.
  • asset 폴더 - 어플리케이션 배포 시 static하게 패키지에 포함 시킬 리소스 저장. res폴더에 저장된 리소스와 다른점은 이곳에 저장된 리소스들은 컴파일 되지 않고 raw형태로 packaging되며, 소스코드 상에서 AssetManager클래스를 이용해 바이트 스트림 형식으로 읽어와서 사용 해야한다.

 

 

 

2. 안드로이드 프로젝트 생성시 자동으로 생성되는 요소

  • src 폴더 및의 소스 파일 - 소스 파일은 프로젝트 생성시 사용자가 재공한 main activity의 이름에 따라 프로젝트폴더\src\main_activy_이름.java 파일이 생성됨. 이 폴더에 저장된 파일은 자유롭게 편집하거나 또는 새로운 파일을 추가 할 수 있음.
  • gen 폴더 및 R.java 파일 - 프로젝트를 처음 빌드하면 프로젝트 루트 폴더 밑에 gen이라는 이름의 폴더가 생성되고, 내부에는 R.java 파일이 자동으로 생성된다. R.java 파일은 실행 코드 내부에서 리소스들을 쉽게 사용할 수 있게 해주는 R객체 인스턴스의 기본이 되는 클래스이며, 내부에는 aapt에 의해 컴파일된 리소스(\res)들을 식별하는 리소스 identifier 상수가 자동으로 저장됨으로, 절대 임의로 수정하면 안됨. (eclipse개발 환경에서는 res\ 밑에 리소스를 추가 후 프로젝트를 저장하면 자동으로 R.java 클래스가 update됨)

 

 

 

3. res 폴더 내부

프로젝트폴더\res\에는 다음과 같이 각기 다른 리소스가 폴더별로 저장 됨.

  • res\anim - animation을 지정하는 xml 형식의 문서 저장. frame by frame(프레임 별로 에니메이션 설정) 또는 tweened(에니메이션의 처음과 끝의 형태를 지정하면 자동으로 중간 단계들이 채워짐) 두 종류의 animation을 지원.
  • res\drawalbe - png, jpeg등의 이미지
  • res\layout - UI layout 관련 xml 형식의 문서
  • res\menu - menu 관련 xml 형식의 문서
  • res\raw - 컴파일 되지 않은 리소스 저장. (ex. 계정 정보를 담은 CVS파일) 자바코드에서는 Resources.openRawResource() 메소드를 사용해 리소스에 접근
  • res\values - string, 오브젝트 크기 등
  • res\xml - 어플리케이션에 포함시키고자 하는 xml 형식의 자원

 

 

 

4. 산출물 저장

프로젝트를 컴파일 후 프로젝트폴더\bin\ 폴더는 다음과 같이 구성.

  • bin\classes 폴더 - 컴파일된 자바 코드
  • bin\classes.dex - 실행가능한 컴파일된 자바 코드
  • bin\AppName.ap - res 폴더 밑의 리소스들이 zip 압축 알고리즘을 사용해 압축된 파일
  • bin\AppName-debug.apk 또는 bin\AppName-unsigned.apk - install 가능한 안드로이드 어플리케이션 (-debug가 붙은 apk파일은 특정 에뮬레이터의 전자서명 키로 전자서명된 것을 뜻함. 반면 -unsigned를 포함한 apk파일은 release 빌드이지만 정식 전자서명 키와 jarsigner를 이용해 전자서명 하여야 최종 릴리즈 가능 함)

 

Install가능한 .apk 파일은 zip 압축 알고리즘을 사용한 압축 파일로 다음과 같은 요소를 포함.

  • .dex 파일 - 컴파일된 실행 파일
  • AppName.arsc - 컴파일된 리소스 파일
  • 컴파일 필요 없는 리소스 - \res\raw 폴더 밑의 자료 등
  • AndroidManifest.xml 파일




(주1) Ant script: make와 같은 각종 shell에 dependent한 빌드 툴 대신 모든 플렛폼에서 유니버셜하게 사용가는한 xml포멧의 문서를 build script로 사용하는 build tool. Apache 프로젝트의 일환. (http://ant.apache.org/ 참고)
AND