Google's Andy Rubin, who heads up the company's Android effort, with a display model of the Nexus One phone at the company's Mountain View headquarters, May 25, 2010. (Patrick Tehan, Mercury News) - 출처 http://www.mercurynews.com/ci_15184465?nclick_check=1


Andy Rubin 구글 부사장과의 인터뷰(Mercury News interview: Andy Rubin, vice president, mobile platforms, Google)에서 "안드로이드 운영체제(Android OS) 업데이트를 이제 1년에 한 번만한다"고 하군요.

구글의 Android OS가 애플의 iPhone OS처럼 1년에 한번씩 OS를 발표하게 된듯 합니다.

(출처: Mercury News interview: Andy Rubin, vice president, mobile platforms, Google )
Our product cycle is now, basically twice a year, and it will probably end up being once a year when things start settling down, because a platform that's moving — it's hard for developers to keep up.

현재의 개발 사이클에서 1년에 한 번씩 제품을 출시하지만, 아마도 이번엔 1번으로 줄인다. 플랫폼을 이동시켜야하기 때문. 개발자들에게 모두 따르긴 어렵다. 하군요.

(※ 인터뷰에서 다룬 내용은 블로터닷컴에서 매우 상세히 다루고 있습니다.- “안드로이드 업데이트 1년에 한 번만” )


구글 안드로이드 OS가 잦은 업데이트로 인한 피로도를 줄이고 제조사나 이동통신사가 새로운 버전을 대응할 수 있고, 개발자들이 앱을 개발하는데 무리없는 주기를 갖기 위해서 안드로이드 업데이트를 1년에 한번씩만한다는 것이 요지입니다.


그리고 전세계에 40억개의 스마트폰, 14억개의 Connected PC (인터넷에 연결된 PC, 넷북, 타블렛, 데스크탑종류등), 12억개의 자동차,  8억개의 TV가 있는데 안드로이드 OS는 4개의 타겟인 스마트폰, PC, 자동차, TV 에 안드로이드 OS를 확산하려고 하는 걸 보면 세계 정복을 할듯할 느낌이 듭니다.

(출처: Mercury News interview: Andy Rubin, vice president, mobile platforms, Google )

Q In terms of where Android goes next, what types of devices are interesting to you beyond mobile phones?

A You can sort those product segments based on how many devices are out there, what's the total market size for these things.

We're at about 4 billion cell phones. About 1.4 billion Internet connected PCs — that includes desktop and laptops and everything else. Like 1.2 billion automobiles. Some 800 million TVs.

And it's like, "OK, let's target the top four." Let's do everything we can to get the big ones. Remember, our business is volume, because it's an advertising business and we want to delight a lot of people. And how do you delight a lot of people? You get in the products that they use every day.

(※ 인터뷰에서 다룬 내용은 블로터닷컴에서 매우 상세히 다루고 있습니다.- “안드로이드 업데이트 1년에 한 번만” )

그리고 안드로이드 OS가 TV에 적용 될것이라는 말까지 나왔는데 과연 IPTV시장에서 성공할지는 앞으로 알아봐야겠지요?  

(Apple TV가 죽을 쑤는 것과 대형 TV제조사들이 Google TV OS를 허용할지가... 진입장벽이 높다고 생각을 많이 합니다. 아무럼 그 벽을 깨면 성공하겠지만^^)

안드로이드 OS가 자동차에도 적용된다면 어떻게 될련지는 아직도 상상이 되지 않습니다. 아직 자동차 분야는 네비게이션 뿐만 아니라 운전자가 운전하는데 어떻게 가야 기름을 절약하는지 이런 걸 안드로이드 OS가 한다는 이야기일까요?



구글 부사장님의 인터뷰를 보면 안드로이드 플랫폼이 스마트폰, PC뿐만 아니라 자동차, TV등에 진출하고 Ubiquitous Computing을 향해 나아갈것이라는 의도도 보입니다.

이 안드로이드 플랫폼이 성공을 하면 우리 생활에서 Google이 들어간 제품, 서비스를 안 쓸래야 안쓸수가 없을듯 하군요.

(ps. 국내 포털, 국내 스마트폰 제조사, 국내 TV제조사, 국내 자동자 제조사 모두 Google의 행보를 보면서 경계해야할겁니다. - 언제 Google에게 밥 그릇이 뺏길지는 모를 일이죠? )

Buy me a coffeeBuy me a coffee


Gold Card작성을 하지 않았으면 Rooting을 잠시 보류하고 Gold Card부터 작성을 합니다.
2010/05/26 - [Mobile/Android] - HTC Desire Rooting기록 - 1. Gold Card작성하기.

Rooting을 하기 전에 정말 주의 및 경고를 줄 것이 있습니다.

  1. 루팅에 대한 모든 책임은 사용자에게 있습니다.
  2. SKT의 순정롬으로 사용할때 전혀 문제 없이 통화, 문자, MMS등이 보내지지만, Unroot된 상태로 돌아갈수 없습니다.
  3. Rooting을 하기전에 모든 자료들의 백업을 하시기 바랍니다. 내부용량에 있던 자료들이 다 날라갑니다.
  4. 만약 고장등의 문제가 있어도 정상 수리가 될 확률도 낮고, 벽돌되면 못쓰게 되니 명심하시기 바랍니다.


맨 처음에는 hTC Desire를 루팅하여 Desire의 기본 롬을 쓰게 되는 법을 다룹니다.

HTC 디자이어 루팅 #.2 루팅시작 에서 파일을 다운로드 받은 후에 압축을 풉니다.

여기에서는 Ubuntu를 기준으로 설명을 합니다. 위의 링크에선 Windows를 기준으로 설명하였지만 리눅스나 맥에서도 따라할 수 있습니다.

(※ 루팅전에 백업은 필수. 그리고 adb 명령어나 ddms로 desire가 인식되는지 확인해야 합니다.)

  1. 다운받은 파일의 압축을 풉니다.
  2. HTC 디자이어와 PC연결 케이블 연결을 해제 합니다. 이후에 디자이어 전원을 끕니다. 이후엔 앞에서 만든 골드카드를 삽입. 
  3. 디자이어의 취소(뒤로가기) 버튼을 누른채 전원을 켭니다.
  4. 화면 중앙에 빨간 박스 안에 FAST BOOT라고 써진게 나오면 PC와 케이블 연결.
  5. 터미널에서 'step1-linux.sh' (Mac이라면 'step1-mac.sh') 입력 후 엔터.
  6. 작업이 완료되면 다시 부트로더의 화면이 나오고 잠시 대기한다.
  7. 완료후 디자이어의 배터리 분리. 골드카드를 빼고 다른 티플래쉬 카드를 삽입. 또는 골드카드를 포맷후 다시 삽입해야합니다.
  8. 볼륨다운 버튼을 누른채 전원을 켠다.


  9. 메뉴에서 RECOVERY 선택.(볼륨다운 키로 메뉴 이동. 전원버튼으로 선택)
  10. 디자이어에서 경고 화면이 나오면 도스창에 'step2-windows.bat' 입력 후 엔터.
  11. 작업이 정상적으로 진행이 되면 디자이어의 화면이 리커버리 모드로 전환.
  12. 'Wipe' 모드에 들어가서 맨 위에서부터 차례대로 (트랙패드로 이동, 눌러서 선택. 이전 메뉴는 볼륨다운사용)

  13. 'wipe data/factory reset', 'wipe cache', 'wipe Dalvik-cache' 3가지 메뉴를 실행해서 캐시를 삭제.
  14. 'Flash zip from sdcard'를 선택. 다음 화면에서 'rootedupdate.zip'을 선택

  15. 루팅이 끝났습니다.

이후에 hTC Desire가 루팅된 상태에서 SKT 롬으로 돌아가 정상 작동되는 법을 다룹니다.
앞에서는 디자이어 기본롬으로 루팅을 했기 때문에 뭔가 빠진듯한 허전한 느낌이 나올겁니다

그렇기 때문에 HTC 디자이어 루팅 #.3 추가 내용에 있는내용을 보고 SKT롬을 올려야합니다.

  1. 위의 링크에서 다운로드 받은 pre-rooted-skt.zip파일을 티플래쉬 최상위에 복사.
  2. 디자이어의 전원을 끈다.
  3. 볼륨다운을 누른채 휴대폰을 켠다.
  4. 부트로더화면이 나오면 볼륨키를 이용해서 RECOVERY선택.
  5. 터미널에서 recovery-linux.sh (Mac이라면 'recovery-mac.sh')  입력 후 엔터. 
  6. 정상적으로 진행이 되면 디자이어의 화면이 Recovery 모드로 전환
  7. Recovery 모드에서 트랙패드를 이용해서 'wipe' 선택.
  8. 'wipe' 안의 맨 위에서 3개를 차례대로 실행.(캐쉬삭제 작업)
  9. 삭제가 다 되면 볼륨다운을 눌러 이전 메뉴로 이동.
  10. 메뉴중에 update from sd를 선택.
  11. 다음 화면에서 1번에서 복사했던 pre-rooted-skt.zip 선택.


아래는 루팅후, adb로 root권한으로 휴대폰을 shell로 접근하는 모습입니다.

루팅하기전엔 $로 표기되지만 루팅이 되면 #으로 변합니다.

리눅스같은 *NIX류의 OS에선 터미널에서 Root권한이 있으면 #으로 표기하고 Root권한이 없으면 $로 표시하는걸 그대로 똑같이 보여주군요.

(역시 Android OS는 Linux기반의 운영체제 딱지가 보이군요)


Buy me a coffeeBuy me a coffee

아이폰 및 안드로이드폰, WM폰에서 접속할수 있는 네이트 모바일 웹버전이 나왔습니다.

이제서야 모바일폰에서 네이트, 싸이월드, 미니홈피등을 즐길수 있을겁니다.



hTC Desire (Android 2.1)에서 본 Nate 모바일 홈페이지 http://m.nate.com/



예전만 해도 네이트 홈페이지가 컴퓨터에 최적화 되어서 안드로이드폰에서 제대로 안보여지는 단점이 있었습니다만, 이제는 모바일 웹 버전이 나오면서 깔끔해진것 같습니다.

네이트, 미니홈피 등등 관련 네이트 서비스들이 안드로이드폰에서 정상적으로 작동되는 모습을 확인하였습니다. 

경쟁업체인 네이버(http://m.naver.com/), 다음(http://m.daum.net/), 파란(http://m.paran.com/)보다 늦었지만, 늦은 만큼 잘 만든 느낌이 듭니다. 그래도 이제야 시행착오는 많이 겪을듯. (다음, 네이버, 파란이 모바일 홈페이지 만드는데 과거에 시행착오 많이 겪었습니다 ㅎㅎ)

그리고 안드로이드용 앱이 3가지 출시되었다는걸 알게 되었습니다. 그러나 아직 안드로이드 마켓에는 올라가지 않은 모양입니다. -_-;; (NHN처럼 안드로이드 마켓에 올리지) 

hTC Desire (Android 2.1)에서 본 Nate 모바일 애플리케이션 목록. 아직까지 3개만 준비된 모양입니다. 앞으로 나아지겠죠.


이제 SK컴즈도 안드로이드+아이폰 앱을 내놓으면 모바일 웹관련쪽에서 엄청난 반항을 일으키며 업계 2위까진 올듯한 느낌이 듭니다. 우선 킬러 앱인 싸이월드+네이트온이 있으니 이걸 제대로 활용하면 업계 1위 네이버도 위험할듯한 느낌이 듭니다.

Buy me a coffeeBuy me a coffee


관련 링크
Unlocking AndroidA Developer's Guide(출판사 링크) - http://www.manning.com/ableson/
unlocking-android (Google Code) - http://code.google.com/p/unlocking-android/ 


외국에서 출판되어 번역된 언로킹 안드로이드란 책을 보니 정말 이것도 괜찮은 책이다는 생각을 하였습니다.

책 소스코드도 Google Code 홈페이지인 http://code.google.com/p/unlocking-android/ 에서 쉽게 구할 수 있더군요.


1. 소스 코드를 다운로드 받는 방법

http://code.google.com/p/unlocking-android/downloads/list 에 있는 zip파일을 다운로드 받아서 설치한다.


2. subversion을 사용해서 다운로드 받기 (svn checkout)

(Windows, Linux, Mac등 여러가지 플랫폼에서 subversion을 설치했으면 언로킹 안드로이드 소스코드를 자유롭게 다운로드를 할 수 있습니다.)

맨 처음에는

svn checkout http://unlocking-android.googlecode.com/svn/trunk/ unlocking-android-read-only

실행하여 unlocking android 소스 코드를 받을려고 하니...

README.TXT에서 Chapter별로 다운로드 받으라는 친절한 설명이 나옵니다 orz.

그러면  checkout한 폴더로 들어가서 아래와 같이 Chapter1~13까지 다운로드를 해봅니다.


svn co http://unlocking-android.googlecode.com/svn/chapter1
svn co http://unlocking-android.googlecode.com/svn/chapter2
svn co http://unlocking-android.googlecode.com/svn/chapter3
svn co http://unlocking-android.googlecode.com/svn/chapter4
svn co http://unlocking-android.googlecode.com/svn/chapter5
svn co http://unlocking-android.googlecode.com/svn/chapter6
svn co http://unlocking-android.googlecode.com/svn/chapter7
svn co http://unlocking-android.googlecode.com/svn/chapter8
svn co http://unlocking-android.googlecode.com/svn/chapter9
svn co http://unlocking-android.googlecode.com/svn/chapter10
svn co http://unlocking-android.googlecode.com/svn/chapter11
svn co http://unlocking-android.googlecode.com/svn/chapter12
svn co http://unlocking-android.googlecode.com/svn/chapter13


또는 예제별로 받고 싶으면 아래와 같은 명령어를 사용하시면 됩니다.

Sample Code by Chapter

1. Targeting Android

WhereDoYouLive? 
svn co http://unlocking-android.googlecode.com/svn/chapter1/trunk/

2. Development Environment

AndroidTipCalculator
svn co http://unlocking-android.googlecode.com/svn/chapter2/trunk/

3. User Interfaces

RestaurantFinder
svn co http://unlocking-android.googlecode.com/svn/chapter3/trunk/RestaurantFinder

4. Intents and Services

WeatherReporter
svn co http://unlocking-android.googlecode.com/svn/chapter4/trunk/WeatherReporter/
 ServiceBinderExample
svn co http://unlocking-android.googlecode.com/svn/chapter4/trunk/ServiceBinderExample/

5. Storing and Retrieving Data

SharedPreferencesTester 
svn co http://unlocking-android.googlecode.com/svn/chapter10/trunk/SoundRecordingDemo/
SharedPreferencesOtherPackageTester 
svn co http://unlocking-android.googlecode.com/svn/chapter5/trunk/SharedPreferencesOtherPackageTester/
FileStorage 
svn co http://unlocking-android.googlecode.com/svn/chapter5/trunk/FileStorage/
ProviderExplorer 
svn co http://unlocking-android.googlecode.com/svn/chapter5/trunk/ProviderExplorer/
ProviderWidgets
svn co http://unlocking-android.googlecode.com/svn/chapter5/trunk/ProviderWidgets/

6. Networking

NetworkExplorer 
svn co http://unlocking-android.googlecode.com/svn/chapter6/trunk/NetworkExplorer/
NetworkSocketServer
svn co http://unlocking-android.googlecode.com/svn/chapter6/trunk/NetworkSocketServer/

7. Telephony

TelephonyExplorer
svn co http://unlocking-android.googlecode.com/svn/chapter7/trunk/TelephonyExplorer/

8. Notifications and Alarms

SimpleAlarm 
svn co http://unlocking-android.googlecode.com/svn/chapter8/trunk/SimpleAlarm/
NotifyAlarm 
svn co http://unlocking-android.googlecode.com/svn/chapter8/trunk/NotifyAlarm/
SMSNotifyExample 
svn co http://unlocking-android.googlecode.com/svn/chapter8/trunk/SMSNotifyExample/
SMSNotifyExample2
svn co http://unlocking-android.googlecode.com/svn/chapter8/trunk/SMSNotifyExample2/

9. Graphics and Animation

BounceyBall 
svn co http://unlocking-android.googlecode.com/svn/chapter9/trunk/BounceyBall/
OpenGLSquare 
svn co http://unlocking-android.googlecode.com/svn/chapter9/trunk/OpenGLSquare/
XMLAnimate 
svn co http://unlocking-android.googlecode.com/svn/chapter9/trunk/XMLAnimate/
XMLDraw
svn co http://unlocking-android.googlecode.com/svn/chapter9/trunk/XMLDraw/

10. Multimedia

SimpleVideo 
svn co http://unlocking-android.googlecode.com/svn/chapter10/trunk/SimpleVideo/
SimpleCamera 
svn co http://unlocking-android.googlecode.com/svn/chapter10/trunk/SimpleCamera/
SoundRecordingDemo 
svn co http://unlocking-android.googlecode.com/svn/chapter10/trunk/SoundRecordingDemo/
MediaPlayerExample
svn co http://unlocking-android.googlecode.com/svn/chapter10/trunk/MediaPlayerExample/

11. Location Based Services

WindWaves 
svn co http://unlocking-android.googlecode.com/svn/chapter11/trunk/WindWaves/
GeocodeExample
svn co http://unlocking-android.googlecode.com/svn/chapter11/trunk/GeocodeExample/

12. Putting it all together 1: A Field Service Application

Android Client 
svn co http://unlocking-android.googlecode.com/svn/chapter12/trunk/android
Server
svn co http://unlocking-android.googlecode.com/svn/chapter12/trunk/server

13. Hacking Android

DaytimeClient 
svn co http://unlocking-android.googlecode.com/svn/chapter13/trunk/daytimeclient
Native C Code
svn co http://unlocking-android.googlecode.com/svn/chapter13/trunk/native




실행화면

C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter1

A    chapter1\trunk

A    chapter1\trunk\.classpath

A    chapter1\trunk\assets

A    chapter1\trunk\.project

A    chapter1\trunk\AndroidManifest.xml

A    chapter1\trunk\src

A    chapter1\trunk\src\com

A    chapter1\trunk\src\com\msi

A    chapter1\trunk\src\com\msi\manning

A    chapter1\trunk\src\com\msi\manning\unlockingandroid

A    chapter1\trunk\src\com\msi\manning\unlockingandroid\R.java

A    chapter1\trunk\src\com\msi\manning\unlockingandroid\AWhereDoYouLive.java

A    chapter1\trunk\res

A    chapter1\trunk\res\values

A    chapter1\trunk\res\values\strings.xml

A    chapter1\trunk\res\drawable

A    chapter1\trunk\res\drawable\icon.png

A    chapter1\trunk\res\layout

A    chapter1\trunk\res\layout\main.xml

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter2

A    chapter2\trunk

A    chapter2\trunk\.classpath

A    chapter2\trunk\assets

A    chapter2\trunk\.project

A    chapter2\trunk\AndroidManifest.xml

A    chapter2\trunk\src

A    chapter2\trunk\src\com

A    chapter2\trunk\src\com\manning

A    chapter2\trunk\src\com\manning\unlockingandroid

A    chapter2\trunk\src\com\manning\unlockingandroid\ChapterTwo.java

A    chapter2\trunk\src\com\manning\unlockingandroid\R.java

A    chapter2\trunk\res

A    chapter2\trunk\res\values

A    chapter2\trunk\res\values\strings.xml

A    chapter2\trunk\res\drawable

A    chapter2\trunk\res\drawable\icon.png

A    chapter2\trunk\res\layout

A    chapter2\trunk\res\layout\main.xml

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter3

A    chapter3\trunk

A    chapter3\trunk\RestaurantFinder

A    chapter3\trunk\RestaurantFinder\test

A    chapter3\trunk\RestaurantFinder\test\com

A    chapter3\trunk\RestaurantFinder\test\com\msi

A    chapter3\trunk\RestaurantFinder\test\com\msi\manning

A    chapter3\trunk\RestaurantFinder\test\com\msi\manning\restaurant

A    chapter3\trunk\RestaurantFinder\default.properties

A    chapter3\trunk\RestaurantFinder\.classpath

A    chapter3\trunk\RestaurantFinder\assets

A    chapter3\trunk\RestaurantFinder\.project

A    chapter3\trunk\RestaurantFinder\AndroidManifest.xml

A    chapter3\trunk\RestaurantFinder\src

A    chapter3\trunk\RestaurantFinder\src\com

A    chapter3\trunk\RestaurantFinder\src\com\msi

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\ReviewAdapter.java

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\RestaurantFinderApplication.java

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\ReviewCriteria.java

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\ReviewDetail.java

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\data

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\data\ReviewHandler.java

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\data\Review.java

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\data\ReviewFetcher.java

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\Constants.java

A    chapter3\trunk\RestaurantFinder\src\com\msi\manning\restaurant\ReviewList.java

A    chapter3\trunk\RestaurantFinder\docs

A    chapter3\trunk\RestaurantFinder\docs\base_attributes.xml

A    chapter3\trunk\RestaurantFinder\docs\temp.xml

A    chapter3\trunk\RestaurantFinder\docs\base_review_example.xml

A    chapter3\trunk\RestaurantFinder\docs\reviews_attributes.xml

A    chapter3\trunk\RestaurantFinder\res

A    chapter3\trunk\RestaurantFinder\res\values

A    chapter3\trunk\RestaurantFinder\res\values\arrays.xml

A    chapter3\trunk\RestaurantFinder\res\values\colors.xml

A    chapter3\trunk\RestaurantFinder\res\values\styles.xml

A    chapter3\trunk\RestaurantFinder\res\values\strings.xml

A    chapter3\trunk\RestaurantFinder\res\drawable

A    chapter3\trunk\RestaurantFinder\res\drawable\no_review_image.png

A    chapter3\trunk\RestaurantFinder\res\drawable\restaurant_icon.png

A    chapter3\trunk\RestaurantFinder\res\anim

A    chapter3\trunk\RestaurantFinder\res\anim\scaler.xml

A    chapter3\trunk\RestaurantFinder\res\layout

A    chapter3\trunk\RestaurantFinder\res\layout\review_detail.xml

A    chapter3\trunk\RestaurantFinder\res\layout\review_criteria.xml

A    chapter3\trunk\RestaurantFinder\res\layout\spinner_view_dropdown.xml

A    chapter3\trunk\RestaurantFinder\res\layout\spinner_view.xml

A    chapter3\trunk\RestaurantFinder\res\layout\review_list.xml

A    chapter3\trunk\RestaurantFinder\README.txt

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlec

ode.com/svn/chapter4

A    chapter4\trunk

A    chapter4\trunk\ServiceBinderExample

A    chapter4\trunk\ServiceBinderExample\default.properties

A    chapter4\trunk\ServiceBinderExample\.classpath

A    chapter4\trunk\ServiceBinderExample\assets

A    chapter4\trunk\ServiceBinderExample\.project

A    chapter4\trunk\ServiceBinderExample\AndroidManifest.xml

A    chapter4\trunk\ServiceBinderExample\src

A    chapter4\trunk\ServiceBinderExample\src\com

A    chapter4\trunk\ServiceBinderExample\src\com\msi

A    chapter4\trunk\ServiceBinderExample\src\com\msi\manning

A    chapter4\trunk\ServiceBinderExample\src\com\msi\manning\binder

A    chapter4\trunk\ServiceBinderExample\src\com\msi\manning\binder\SimpleMathService.java

A    chapter4\trunk\ServiceBinderExample\src\com\msi\manning\binder\ISimpleMathService.aidl

A    chapter4\trunk\ServiceBinderExample\src\com\msi\manning\binder\ActivityExample.java

A    chapter4\trunk\ServiceBinderExample\res

A    chapter4\trunk\ServiceBinderExample\res\values

A    chapter4\trunk\ServiceBinderExample\res\values\strings.xml

A    chapter4\trunk\ServiceBinderExample\res\drawable

A    chapter4\trunk\ServiceBinderExample\res\drawable\icon.png

A    chapter4\trunk\ServiceBinderExample\res\layout

A    chapter4\trunk\ServiceBinderExample\res\layout\activity_example.xml

A    chapter4\trunk\ServiceBinderExample\README.txt

A    chapter4\trunk\WeatherReporter

A    chapter4\trunk\WeatherReporter\default.properties

A    chapter4\trunk\WeatherReporter\.classpath

A    chapter4\trunk\WeatherReporter\assets

A    chapter4\trunk\WeatherReporter\.project

A    chapter4\trunk\WeatherReporter\AndroidManifest.xml

A    chapter4\trunk\WeatherReporter\src

A    chapter4\trunk\WeatherReporter\src\com

A    chapter4\trunk\WeatherReporter\src\com\msi

A    chapter4\trunk\WeatherReporter\src\com\msi\manning

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\service

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\service\LocationHelper.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\service\WeatherAlertService.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\service\WeatherAlertServiceReceiver.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\ReportViewSavedLocations.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\ReportSpecifyLocation.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\data

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\data\DBHelper.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\data\YWeatherHandler.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\data\WeatherForecast.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\data\WeatherCondition.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\data\YWeatherFetcher.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\data\WeatherRecord.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\ReportViewDetail.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\weather\Constants.java

A    chapter4\trunk\WeatherReporter\src\com\msi\manning\AndroidManifest.xml

A    chapter4\trunk\WeatherReporter\docs

A    chapter4\trunk\WeatherReporter\docs\us_cities_latlong.txt

A    chapter4\trunk\WeatherReporter\docs\yweather.xml

A    chapter4\trunk\WeatherReporter\docs\yweather_cond.txt

A    chapter4\trunk\WeatherReporter\res

A    chapter4\trunk\WeatherReporter\res\values

A    chapter4\trunk\WeatherReporter\res\values\styles.xml

A    chapter4\trunk\WeatherReporter\res\values\strings.xml

A    chapter4\trunk\WeatherReporter\res\drawable

A    chapter4\trunk\WeatherReporter\res\drawable\cond8.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond9.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond10.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond11.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond12.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond30.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond13.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond31.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond32.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond14.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond15.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond33.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond16.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond34.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond17.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond35.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond36.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond18.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond19.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond37.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond38.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond39.gif

A    chapter4\trunk\WeatherReporter\res\drawable\severe_weather_120.png

A    chapter4\trunk\WeatherReporter\res\drawable\weather_sun_clouds_45.png

A    chapter4\trunk\WeatherReporter\res\drawable\cond20.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond21.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond40.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond22.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond41.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond23.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond42.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond24.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond43.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond25.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond44.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond26.gif

A    chapter4\trunk\WeatherReporter\res\drawable\severe_weather_24.png

A    chapter4\trunk\WeatherReporter\res\drawable\cond45.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond27.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond46.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond28.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond47.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond29.gif

A    chapter4\trunk\WeatherReporter\res\drawable\weather_sun_clouds_120.png

A    chapter4\trunk\WeatherReporter\res\drawable\severe_weather_45.png

A    chapter4\trunk\WeatherReporter\res\drawable\cond1.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond2.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond3.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond4.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond5.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond6.gif

A    chapter4\trunk\WeatherReporter\res\drawable\cond7.gif

A    chapter4\trunk\WeatherReporter\res\layout

A    chapter4\trunk\WeatherReporter\res\layout\report_view_saved_locations.xml

A    chapter4\trunk\WeatherReporter\res\layout\report_specify_location.xml

A    chapter4\trunk\WeatherReporter\res\layout\report_view_detail.xml

A    chapter4\trunk\WeatherReporter\res\layout\list_item_1.xml

A    chapter4\trunk\WeatherReporter\README.txt

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter5

A    chapter5\trunk

A    chapter5\trunk\SharedPreferencesTester

A    chapter5\trunk\SharedPreferencesTester\.classpath

A    chapter5\trunk\SharedPreferencesTester\assets

A    chapter5\trunk\SharedPreferencesTester\.project

A    chapter5\trunk\SharedPreferencesTester\AndroidManifest.xml

A    chapter5\trunk\SharedPreferencesTester\src

A    chapter5\trunk\SharedPreferencesTester\src\com

A    chapter5\trunk\SharedPreferencesTester\src\com\msi

A    chapter5\trunk\SharedPreferencesTester\src\com\msi\manning

A    chapter5\trunk\SharedPreferencesTester\src\com\msi\manning\chapter5

A    chapter5\trunk\SharedPreferencesTester\src\com\msi\manning\chapter5\prefs

A    chapter5\trunk\SharedPreferencesTester\src\com\msi\manning\chapter5\prefs\SharedPrefTestInput.java

A    chapter5\trunk\SharedPreferencesTester\src\com\msi\manning\chapter5\prefs\SharedPrefTestOutput.java

A    chapter5\trunk\SharedPreferencesTester\res

A    chapter5\trunk\SharedPreferencesTester\res\values

A    chapter5\trunk\SharedPreferencesTester\res\values\strings.xml

A    chapter5\trunk\SharedPreferencesTester\res\drawable

A    chapter5\trunk\SharedPreferencesTester\res\drawable\icon.png

A    chapter5\trunk\SharedPreferencesTester\res\layout

A    chapter5\trunk\SharedPreferencesTester\res\layout\shared_preftest_input.xml


A    chapter5\trunk\SharedPreferencesTester\res\layout\shared_preftest_output.xml

A    chapter5\trunk\SharedPreferencesTester\README.txt

A    chapter5\trunk\ProviderWidgets

A    chapter5\trunk\ProviderWidgets\.classpath

A    chapter5\trunk\ProviderWidgets\assets

A    chapter5\trunk\ProviderWidgets\.project

A    chapter5\trunk\ProviderWidgets\AndroidManifest.xml

A    chapter5\trunk\ProviderWidgets\src

A    chapter5\trunk\ProviderWidgets\src\com

A    chapter5\trunk\ProviderWidgets\src\com\msi

A    chapter5\trunk\ProviderWidgets\src\com\msi\manning

A    chapter5\trunk\ProviderWidgets\src\com\msi\manning\chapter5

A    chapter5\trunk\ProviderWidgets\src\com\msi\manning\chapter5\widget

A    chapter5\trunk\ProviderWidgets\src\com\msi\manning\chapter5\widget\Widget.java

A    chapter5\trunk\ProviderWidgets\src\com\msi\manning\chapter5\widget\WidgetExplorer.java

A    chapter5\trunk\ProviderWidgets\src\com\msi\manning\chapter5\widget\Constants.java

A    chapter5\trunk\ProviderWidgets\src\com\msi\manning\chapter5\widget\WidgetProvider.java

A    chapter5\trunk\ProviderWidgets\res

A    chapter5\trunk\ProviderWidgets\res\values

A    chapter5\trunk\ProviderWidgets\res\values\strings.xml

A    chapter5\trunk\ProviderWidgets\res\drawable

A    chapter5\trunk\ProviderWidgets\res\drawable\icon.png

A    chapter5\trunk\ProviderWidgets\res\layout

A    chapter5\trunk\ProviderWidgets\res\layout\provider_explorer.xml

A    chapter5\trunk\ProviderWidgets\README.txt

A    chapter5\trunk\.project

A    chapter5\trunk\FileStorage

A    chapter5\trunk\FileStorage\.classpath

A    chapter5\trunk\FileStorage\assets

A    chapter5\trunk\FileStorage\.project

A    chapter5\trunk\FileStorage\AndroidManifest.xml

A    chapter5\trunk\FileStorage\src

A    chapter5\trunk\FileStorage\src\com

A    chapter5\trunk\FileStorage\src\com\msi

A    chapter5\trunk\FileStorage\src\com\msi\manning

A    chapter5\trunk\FileStorage\src\com\msi\manning\chapter5

A    chapter5\trunk\FileStorage\src\com\msi\manning\chapter5\filestorage

A    chapter5\trunk\FileStorage\src\com\msi\manning\chapter5\filestorage\CreateFile.java

A    chapter5\trunk\FileStorage\src\com\msi\manning\chapter5\filestorage\ReadXMLResourceFile.java

A    chapter5\trunk\FileStorage\src\com\msi\manning\chapter5\filestorage\ReadWriteSDCardFile.java

A    chapter5\trunk\FileStorage\src\com\msi\manning\chapter5\filestorage\ReadFile.java

A    chapter5\trunk\FileStorage\src\com\msi\manning\chapter5\filestorage\ReadRawResourceFile.java

A    chapter5\trunk\FileStorage\res

A    chapter5\trunk\FileStorage\res\values

A    chapter5\trunk\FileStorage\res\values\strings.xml

A    chapter5\trunk\FileStorage\res\xml

A    chapter5\trunk\FileStorage\res\xml\people.xml

A    chapter5\trunk\FileStorage\res\drawable

A    chapter5\trunk\FileStorage\res\drawable\icon.png

A    chapter5\trunk\FileStorage\res\raw

A    chapter5\trunk\FileStorage\res\raw\people.txt

A    chapter5\trunk\FileStorage\res\layout

A    chapter5\trunk\FileStorage\res\layout\read_xmlresource_file.xml

A    chapter5\trunk\FileStorage\res\layout\create_file.xml

A    chapter5\trunk\FileStorage\res\layout\read_write_sdcard_file.xml

A    chapter5\trunk\FileStorage\res\layout\read_file.xml

A    chapter5\trunk\FileStorage\res\layout\read_rawresource_file.xml

A    chapter5\trunk\FileStorage\README.txt

A    chapter5\trunk\ProviderExplorer

A    chapter5\trunk\ProviderExplorer\.classpath

A    chapter5\trunk\ProviderExplorer\assets

A    chapter5\trunk\ProviderExplorer\.project

A    chapter5\trunk\ProviderExplorer\AndroidManifest.xml

A    chapter5\trunk\ProviderExplorer\src

A    chapter5\trunk\ProviderExplorer\src\com

A    chapter5\trunk\ProviderExplorer\src\com\msi

A    chapter5\trunk\ProviderExplorer\src\com\msi\manning

A    chapter5\trunk\ProviderExplorer\src\com\msi\manning\chapter5

A    chapter5\trunk\ProviderExplorer\src\com\msi\manning\chapter5\providerexplorer

A    chapter5\trunk\ProviderExplorer\src\com\msi\manning\chapter5\providerexplorer\ProviderExplorer.java

A    chapter5\trunk\ProviderExplorer\res

A    chapter5\trunk\ProviderExplorer\res\values

A    chapter5\trunk\ProviderExplorer\res\values\strings.xml

A    chapter5\trunk\ProviderExplorer\res\drawable

A    chapter5\trunk\ProviderExplorer\res\drawable\icon.png

A    chapter5\trunk\ProviderExplorer\res\layout

A    chapter5\trunk\ProviderExplorer\res\layout\provider_explorer.xml

A    chapter5\trunk\ProviderExplorer\README.txt

A    chapter5\trunk\SharedPreferencesOtherPackageTester

A    chapter5\trunk\SharedPreferencesOtherPackageTester\.classpath

A    chapter5\trunk\SharedPreferencesOtherPackageTester\assets

A    chapter5\trunk\SharedPreferencesOtherPackageTester\.project

A    chapter5\trunk\SharedPreferencesOtherPackageTester\AndroidManifest.xml

A    chapter5\trunk\SharedPreferencesOtherPackageTester\src

A    chapter5\trunk\SharedPreferencesOtherPackageTester\src\com

A    chapter5\trunk\SharedPreferencesOtherPackageTester\src\com\other

A    chapter5\trunk\SharedPreferencesOtherPackageTester\src\com\other\manning

A    chapter5\trunk\SharedPreferencesOtherPackageTester\src\com\other\manning\chapter5

A    chapter5\trunk\SharedPreferencesOtherPackageTester\src\com\other\manning\chapter5\prefs

A    chapter5\trunk\SharedPreferencesOtherPackageTester\src\com\other\manning\chapter5\prefs\SharedPrefTestOtherOutput.java

A    chapter5\trunk\SharedPreferencesOtherPackageTester\res

A    chapter5\trunk\SharedPreferencesOtherPackageTester\res\values

A    chapter5\trunk\SharedPreferencesOtherPackageTester\res\values\strings.xml

A    chapter5\trunk\SharedPreferencesOtherPackageTester\res\drawable

A    chapter5\trunk\SharedPreferencesOtherPackageTester\res\drawable\icon.png

A    chapter5\trunk\SharedPreferencesOtherPackageTester\res\layout

A    chapter5\trunk\SharedPreferencesOtherPackageTester\res\layout\shared_prefte

st_output.xml

A    chapter5\trunk\SharedPreferencesOtherPackageTester\res\layout\main.xml

A    chapter5\trunk\SharedPreferencesOtherPackageTester\README.txt

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter6

A    chapter6\trunk

A    chapter6\trunk\NetworkSocketServer

A    chapter6\trunk\NetworkSocketServer\.classpath

A    chapter6\trunk\NetworkSocketServer\.project

A    chapter6\trunk\NetworkSocketServer\src

A    chapter6\trunk\NetworkSocketServer\src\com

A    chapter6\trunk\NetworkSocketServer\src\com\msi

A    chapter6\trunk\NetworkSocketServer\src\com\msi\manning

A    chapter6\trunk\NetworkSocketServer\src\com\msi\manning\uad

A    chapter6\trunk\NetworkSocketServer\src\com\msi\manning\uad\EchoServer.java

A    chapter6\trunk\NetworkSocketServer\README.txt

A    chapter6\trunk\NetworkExplorer

A    chapter6\trunk\NetworkExplorer\default.properties

A    chapter6\trunk\NetworkExplorer\.classpath

A    chapter6\trunk\NetworkExplorer\.project

A    chapter6\trunk\NetworkExplorer\AndroidManifest.xml

A    chapter6\trunk\NetworkExplorer\src

A    chapter6\trunk\NetworkExplorer\src\com

A    chapter6\trunk\NetworkExplorer\src\com\msi

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\ApacheHTTPViaHelper.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\SimpleSocket.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\HTTPHelperForm.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\GoogleClientLogin.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\Main.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\data

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\data\xml

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\data\xml\DeliciousPost.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\data\xml\DeliciousHandler.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\data\HTTPRequestHelper.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\SimpleGet.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\DeliciousRecentPosts.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\ApacheHTTPSimple.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\Constants.java

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\util

A    chapter6\trunk\NetworkExplorer\src\com\msi\manning\network\util\StringUtils.java

A    chapter6\trunk\NetworkExplorer\echo.jsp

A    chapter6\trunk\NetworkExplorer\res

A    chapter6\trunk\NetworkExplorer\res\values

A    chapter6\trunk\NetworkExplorer\res\values\strings.xml

A    chapter6\trunk\NetworkExplorer\res\drawable

A    chapter6\trunk\NetworkExplorer\res\drawable\icon.png

A    chapter6\trunk\NetworkExplorer\res\layout

A    chapter6\trunk\NetworkExplorer\res\layout\simple_socket.xml

A    chapter6\trunk\NetworkExplorer\res\layout\http_helper_form.xml

A    chapter6\trunk\NetworkExplorer\res\layout\google_client_login.xml

A    chapter6\trunk\NetworkExplorer\res\layout\main.xml

A    chapter6\trunk\NetworkExplorer\res\layout\simple_get.xml

A    chapter6\trunk\NetworkExplorer\res\layout\delicious_posts.xml

A    chapter6\trunk\NetworkExplorer\res\layout\apache_http_simple.xml

A    chapter6\trunk\NetworkExplorer\README.txt

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter7

A    chapter7\trunk

A    chapter7\trunk\TelephonyExplorer

A    chapter7\trunk\TelephonyExplorer\default.properties

A    chapter7\trunk\TelephonyExplorer\.classpath

A    chapter7\trunk\TelephonyExplorer\.project

A    chapter7\trunk\TelephonyExplorer\AndroidManifest.xml

A    chapter7\trunk\TelephonyExplorer\src

A    chapter7\trunk\TelephonyExplorer\src\com

A    chapter7\trunk\TelephonyExplorer\src\com\msi

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning\telephonyexplorer

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning\telephonyexplorer\PhoneNumberUtilsExample.java

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning\telephonyexplorer\Main.java

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning\telephonyexplorer\SmsReceiver.java

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning\telephonyexplorer\OutgoingCallReceiver.java

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning\telephonyexplorer\Constants.java

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning\telephonyexplorer\TelephonyManagerExample.java

A    chapter7\trunk\TelephonyExplorer\src\com\msi\manning\telephonyexplorer\SmsExample.java

A    chapter7\trunk\TelephonyExplorer\res

A    chapter7\trunk\TelephonyExplorer\res\values

A    chapter7\trunk\TelephonyExplorer\res\values\strings.xml

A    chapter7\trunk\TelephonyExplorer\res\drawable

A    chapter7\trunk\TelephonyExplorer\res\drawable\icon.png

A    chapter7\trunk\TelephonyExplorer\res\layout

A    chapter7\trunk\TelephonyExplorer\res\layout\main.xml

A    chapter7\trunk\TelephonyExplorer\res\layout\telmgrexample.xml

A    chapter7\trunk\TelephonyExplorer\res\layout\smsexample.xml

A    chapter7\trunk\TelephonyExplorer\res\layout\phonenumberutilsexample.xml

A    chapter7\trunk\TelephonyExplorer\README.txt

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter8

A    chapter8\trunk

A    chapter8\trunk\NotifyAlarm

A    chapter8\trunk\NotifyAlarm\.classpath

A    chapter8\trunk\NotifyAlarm\assets

A    chapter8\trunk\NotifyAlarm\.project

A    chapter8\trunk\NotifyAlarm\AndroidManifest.xml

A    chapter8\trunk\NotifyAlarm\src

A    chapter8\trunk\NotifyAlarm\src\com

A    chapter8\trunk\NotifyAlarm\src\com\msi

A    chapter8\trunk\NotifyAlarm\src\com\msi\manning

A    chapter8\trunk\NotifyAlarm\src\com\msi\manning\chapter8

A    chapter8\trunk\NotifyAlarm\src\com\msi\manning\chapter8\NotifyAlarm

A    chapter8\trunk\NotifyAlarm\src\com\msi\manning\chapter8\NotifyAlarm\AlarmRe

ceiver.java

A    chapter8\trunk\NotifyAlarm\src\com\msi\manning\chapter8\NotifyAlarm\SetAlar

m.java

A    chapter8\trunk\NotifyAlarm\res

A    chapter8\trunk\NotifyAlarm\res\values

A    chapter8\trunk\NotifyAlarm\res\values\strings.xml

A    chapter8\trunk\NotifyAlarm\res\drawable

A    chapter8\trunk\NotifyAlarm\res\drawable\alarm.png

A    chapter8\trunk\NotifyAlarm\res\drawable\icon.png

A    chapter8\trunk\NotifyAlarm\res\drawable\clock.png

A    chapter8\trunk\NotifyAlarm\res\layout

A    chapter8\trunk\NotifyAlarm\res\layout\main.xml

A    chapter8\trunk\SimpleAlarm

A    chapter8\trunk\SimpleAlarm\.classpath

A    chapter8\trunk\SimpleAlarm\assets

A    chapter8\trunk\SimpleAlarm\.project

A    chapter8\trunk\SimpleAlarm\AndroidManifest.xml

A    chapter8\trunk\SimpleAlarm\src

A    chapter8\trunk\SimpleAlarm\src\com

A    chapter8\trunk\SimpleAlarm\src\com\msi

A    chapter8\trunk\SimpleAlarm\src\com\msi\manning

A    chapter8\trunk\SimpleAlarm\src\com\msi\manning\chapter8

A    chapter8\trunk\SimpleAlarm\src\com\msi\manning\chapter8\simpleAlarm

A    chapter8\trunk\SimpleAlarm\src\com\msi\manning\chapter8\simpleAlarm\AlarmReceiver.java

A    chapter8\trunk\SimpleAlarm\src\com\msi\manning\chapter8\simpleAlarm\GenerateAlarm.java

A    chapter8\trunk\SimpleAlarm\res

A    chapter8\trunk\SimpleAlarm\res\values

A    chapter8\trunk\SimpleAlarm\res\values\strings.xml

A    chapter8\trunk\SimpleAlarm\res\drawable

A    chapter8\trunk\SimpleAlarm\res\drawable\clock_play.png

A    chapter8\trunk\SimpleAlarm\res\drawable\clock_red.png

A    chapter8\trunk\SimpleAlarm\res\drawable\icon.png

A    chapter8\trunk\SimpleAlarm\res\drawable\clock.png

A    chapter8\trunk\SimpleAlarm\res\layout

A    chapter8\trunk\SimpleAlarm\res\layout\main.xml

A    chapter8\trunk\SMSNotifyExample

A    chapter8\trunk\SMSNotifyExample\.classpath

A    chapter8\trunk\SMSNotifyExample\assets

A    chapter8\trunk\SMSNotifyExample\.project

A    chapter8\trunk\SMSNotifyExample\AndroidManifest.xml

A    chapter8\trunk\SMSNotifyExample\src

A    chapter8\trunk\SMSNotifyExample\src\com

A    chapter8\trunk\SMSNotifyExample\src\com\msi

A    chapter8\trunk\SMSNotifyExample\src\com\msi\manning

A    chapter8\trunk\SMSNotifyExample\src\com\msi\manning\chapter8

A    chapter8\trunk\SMSNotifyExample\src\com\msi\manning\chapter8\SMSNotifyExample

A    chapter8\trunk\SMSNotifyExample\src\com\msi\manning\chapter8\SMSNotifyExample\SMSNotifyExample.java

A    chapter8\trunk\SMSNotifyExample\src\com\msi\manning\chapter8\SMSNotifyExample\SMSNotifyActivity.java

A    chapter8\trunk\SMSNotifyExample\src\com\msi\manning\chapter8\SMSNotifyExample.java

A    chapter8\trunk\SMSNotifyExample\src\com\msi\manning\chapter8\SMSNotifyActivity.java

A    chapter8\trunk\SMSNotifyExample\res

A    chapter8\trunk\SMSNotifyExample\res\values

A    chapter8\trunk\SMSNotifyExample\res\values\strings.xml

A    chapter8\trunk\SMSNotifyExample\res\drawable

A    chapter8\trunk\SMSNotifyExample\res\drawable\chat.png

A    chapter8\trunk\SMSNotifyExample\res\drawable\incoming.png

A    chapter8\trunk\SMSNotifyExample\res\drawable\icon.png

A    chapter8\trunk\SMSNotifyExample\res\layout

A    chapter8\trunk\SMSNotifyExample\res\layout\main.xml

A    chapter8\trunk\SMSNotifyExample2

A    chapter8\trunk\SMSNotifyExample2\.classpath

A    chapter8\trunk\SMSNotifyExample2\assets

A    chapter8\trunk\SMSNotifyExample2\.project

A    chapter8\trunk\SMSNotifyExample2\AndroidManifest.xml

A    chapter8\trunk\SMSNotifyExample2\src

A    chapter8\trunk\SMSNotifyExample2\src\com

A    chapter8\trunk\SMSNotifyExample2\src\com\msi

A    chapter8\trunk\SMSNotifyExample2\src\com\msi\manning

A    chapter8\trunk\SMSNotifyExample2\src\com\msi\manning\chapter8

A    chapter8\trunk\SMSNotifyExample2\src\com\msi\manning\chapter8\SMSNotifyExample2

A    chapter8\trunk\SMSNotifyExample2\src\com\msi\manning\chapter8\SMSNotifyExample2\SMSNotifyExampleActivityToast.java

A    chapter8\trunk\SMSNotifyExample2\src\com\msi\manning\chapter8\SMSNotifyExample2\SMSNotifyExampleToast.java

A    chapter8\trunk\SMSNotifyExample2\src\com\msi\manning\chapter8\SMSNotifyExample2\SMSNotifyExampleActivity.java

A    chapter8\trunk\SMSNotifyExample2\src\com\msi\manning\chapter8\SMSNotifyExample2\SMSNotifyExample.java

A    chapter8\trunk\SMSNotifyExample2\res

A    chapter8\trunk\SMSNotifyExample2\res\values

A    chapter8\trunk\SMSNotifyExample2\res\values\strings.xml

A    chapter8\trunk\SMSNotifyExample2\res\drawable

A    chapter8\trunk\SMSNotifyExample2\res\drawable\icon.png

A    chapter8\trunk\SMSNotifyExample2\res\layout

A    chapter8\trunk\SMSNotifyExample2\res\layout\main.xml

A    chapter8\branches

A    chapter8\tags

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter9

A    chapter9\trunk

A    chapter9\trunk\BounceyBall

A    chapter9\trunk\BounceyBall\.classpath

A    chapter9\trunk\BounceyBall\assets

A    chapter9\trunk\BounceyBall\.project

A    chapter9\trunk\BounceyBall\AndroidManifest.xml

A    chapter9\trunk\BounceyBall\src

A    chapter9\trunk\BounceyBall\src\com

A    chapter9\trunk\BounceyBall\src\com\msi

A    chapter9\trunk\BounceyBall\src\com\msi\manning

A    chapter9\trunk\BounceyBall\src\com\msi\manning\chapter9

A    chapter9\trunk\BounceyBall\src\com\msi\manning\chapter9\bounceyBall

A    chapter9\trunk\BounceyBall\src\com\msi\manning\chapter9\bounceyBall\BounceView.java

A    chapter9\trunk\BounceyBall\src\com\msi\manning\chapter9\bounceyBall\BounceActivity.java

A    chapter9\trunk\BounceyBall\res

A    chapter9\trunk\BounceyBall\res\values

A    chapter9\trunk\BounceyBall\res\values\strings.xml

A    chapter9\trunk\BounceyBall\res\drawable

A    chapter9\trunk\BounceyBall\res\drawable\android.png

A    chapter9\trunk\BounceyBall\res\drawable\world.png

A    chapter9\trunk\BounceyBall\res\drawable\icon.png

A    chapter9\trunk\BounceyBall\res\layout

A    chapter9\trunk\BounceyBall\res\layout\main.xml

A    chapter9\trunk\XMLAnimate

A    chapter9\trunk\XMLAnimate\.classpath

A    chapter9\trunk\XMLAnimate\assets

A    chapter9\trunk\XMLAnimate\.project

A    chapter9\trunk\XMLAnimate\AndroidManifest.xml

A    chapter9\trunk\XMLAnimate\src

A    chapter9\trunk\XMLAnimate\src\com

A    chapter9\trunk\XMLAnimate\src\com\msi

A    chapter9\trunk\XMLAnimate\src\com\msi\manning

A    chapter9\trunk\XMLAnimate\src\com\msi\manning\chapter9

A    chapter9\trunk\XMLAnimate\src\com\msi\manning\chapter9\xmlanimate

A    chapter9\trunk\XMLAnimate\src\com\msi\manning\chapter9\xmlanimate\XMLAnimate.java

A    chapter9\trunk\XMLAnimate\res

A    chapter9\trunk\XMLAnimate\res\values

A    chapter9\trunk\XMLAnimate\res\values\strings.xml

A    chapter9\trunk\XMLAnimate\res\drawable

A    chapter9\trunk\XMLAnimate\res\drawable\ball2.png

A    chapter9\trunk\XMLAnimate\res\drawable\ball3.png

A    chapter9\trunk\XMLAnimate\res\drawable\ball4.png

A    chapter9\trunk\XMLAnimate\res\drawable\ball5.png

A    chapter9\trunk\XMLAnimate\res\drawable\ball6.png

A    chapter9\trunk\XMLAnimate\res\drawable\android.png

A    chapter9\trunk\XMLAnimate\res\drawable\icon.png

A    chapter9\trunk\XMLAnimate\res\drawable\ball1.png

A    chapter9\trunk\XMLAnimate\res\anim

A    chapter9\trunk\XMLAnimate\res\anim\simple_animation.xml

A    chapter9\trunk\XMLAnimate\res\layout

A    chapter9\trunk\XMLAnimate\res\layout\main.xml

A    chapter9\trunk\OpenGLSquare

A    chapter9\trunk\OpenGLSquare\.classpath

A    chapter9\trunk\OpenGLSquare\assets

A    chapter9\trunk\OpenGLSquare\.project

A    chapter9\trunk\OpenGLSquare\AndroidManifest.xml

A    chapter9\trunk\OpenGLSquare\src

A    chapter9\trunk\OpenGLSquare\src\com

A    chapter9\trunk\OpenGLSquare\src\com\msi

A    chapter9\trunk\OpenGLSquare\src\com\msi\manning

A    chapter9\trunk\OpenGLSquare\src\com\msi\manning\chapter9

A    chapter9\trunk\OpenGLSquare\src\com\msi\manning\chapter9\OpenGLSquare

A    chapter9\trunk\OpenGLSquare\src\com\msi\manning\chapter9\OpenGLSquare\SquareActivity.java

A    chapter9\trunk\OpenGLSquare\res

A    chapter9\trunk\OpenGLSquare\res\values

A    chapter9\trunk\OpenGLSquare\res\values\strings.xml

A    chapter9\trunk\OpenGLSquare\res\drawable

A    chapter9\trunk\OpenGLSquare\res\drawable\icon.png

A    chapter9\trunk\OpenGLSquare\res\layout

A    chapter9\trunk\OpenGLSquare\res\layout\main.xml

A    chapter9\trunk\uad-XMLDraw

A    chapter9\trunk\uad-BounceyBall

A    chapter9\trunk\uad-XMLAnimate

A    chapter9\trunk\SimpleShape

A    chapter9\trunk\uad-OpenGLSquare

A    chapter9\trunk\XMLDraw

A    chapter9\trunk\XMLDraw\.classpath

A    chapter9\trunk\XMLDraw\assets

A    chapter9\trunk\XMLDraw\.project

A    chapter9\trunk\XMLDraw\AndroidManifest.xml

A    chapter9\trunk\XMLDraw\src

A    chapter9\trunk\XMLDraw\src\com

A    chapter9\trunk\XMLDraw\src\com\msi

A    chapter9\trunk\XMLDraw\src\com\msi\manning

A    chapter9\trunk\XMLDraw\src\com\msi\manning\chapter9

A    chapter9\trunk\XMLDraw\src\com\msi\manning\chapter9\XMLDraw

A    chapter9\trunk\XMLDraw\src\com\msi\manning\chapter9\XMLDraw\XMLDraw.java

A    chapter9\trunk\XMLDraw\res

A    chapter9\trunk\XMLDraw\res\values

A    chapter9\trunk\XMLDraw\res\values\strings.xml

A    chapter9\trunk\XMLDraw\res\drawable

A    chapter9\trunk\XMLDraw\res\drawable\shape_1.xml

A    chapter9\trunk\XMLDraw\res\drawable\shape_2.xml

A    chapter9\trunk\XMLDraw\res\drawable\shape_3.xml

A    chapter9\trunk\XMLDraw\res\drawable\shape_4.xml

A    chapter9\trunk\XMLDraw\res\drawable\shape_5.xml

A    chapter9\trunk\XMLDraw\res\drawable\line.xml

A    chapter9\trunk\XMLDraw\res\drawable\icon.png

A    chapter9\trunk\XMLDraw\res\layout

A    chapter9\trunk\XMLDraw\res\layout\xmldrawable.xml

A    chapter9\branches

A    chapter9\tags

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter10

A    chapter10\trunk

A    chapter10\trunk\uad-MediaPlayerExample

A    chapter10\trunk\SimpleVideo

A    chapter10\trunk\SimpleVideo\.classpath

A    chapter10\trunk\SimpleVideo\assets

A    chapter10\trunk\SimpleVideo\.project

A    chapter10\trunk\SimpleVideo\AndroidManifest.xml

A    chapter10\trunk\SimpleVideo\src

A    chapter10\trunk\SimpleVideo\src\com

A    chapter10\trunk\SimpleVideo\src\com\msi

A    chapter10\trunk\SimpleVideo\src\com\msi\manning

A    chapter10\trunk\SimpleVideo\src\com\msi\manning\chapter10

A    chapter10\trunk\SimpleVideo\src\com\msi\manning\chapter10\SimpleVideo

A    chapter10\trunk\SimpleVideo\src\com\msi\manning\chapter10\SimpleVideo\SimpleVideo.java

A    chapter10\trunk\SimpleVideo\res

A    chapter10\trunk\SimpleVideo\res\values

A    chapter10\trunk\SimpleVideo\res\values\strings.xml

A    chapter10\trunk\SimpleVideo\res\drawable

A    chapter10\trunk\SimpleVideo\res\drawable\icon.png

A    chapter10\trunk\SimpleVideo\res\raw

A    chapter10\trunk\SimpleVideo\res\raw\test.mp4

A    chapter10\trunk\SimpleVideo\res\layout

A    chapter10\trunk\SimpleVideo\res\layout\main.xml

A    chapter10\trunk\uad-SoundRecordingDemo

A    chapter10\trunk\SimpleCamera

A    chapter10\trunk\SimpleCamera\.classpath

A    chapter10\trunk\SimpleCamera\assets

A    chapter10\trunk\SimpleCamera\.project

A    chapter10\trunk\SimpleCamera\AndroidManifest.xml

A    chapter10\trunk\SimpleCamera\src

A    chapter10\trunk\SimpleCamera\src\com

A    chapter10\trunk\SimpleCamera\src\com\msi

A    chapter10\trunk\SimpleCamera\src\com\msi\manning

A    chapter10\trunk\SimpleCamera\src\com\msi\manning\chapter10

A    chapter10\trunk\SimpleCamera\src\com\msi\manning\chapter10\SimpleCamera

A    chapter10\trunk\SimpleCamera\src\com\msi\manning\chapter10\SimpleCamera\SimpleCamera.java

A    chapter10\trunk\SimpleCamera\src\com\msi\manning\chapter10\SimpleCamera\ImageCaptureCallback.java

A    chapter10\trunk\SimpleCamera\res

A    chapter10\trunk\SimpleCamera\res\values

A    chapter10\trunk\SimpleCamera\res\values\strings.xml

A    chapter10\trunk\SimpleCamera\res\drawable

A    chapter10\trunk\SimpleCamera\res\drawable\icon.png

A    chapter10\trunk\SimpleCamera\res\layout

A    chapter10\trunk\SimpleCamera\res\layout\main.xml

A    chapter10\trunk\uad-SimpleVideo

A    chapter10\trunk\uad-SimpleVideo\.classpath

A    chapter10\trunk\uad-SimpleVideo\assets

A    chapter10\trunk\uad-SimpleVideo\.project

A    chapter10\trunk\uad-SimpleVideo\AndroidManifest.xml

A    chapter10\trunk\uad-SimpleVideo\src

A    chapter10\trunk\uad-SimpleVideo\src\com

A    chapter10\trunk\uad-SimpleVideo\src\com\msi

A    chapter10\trunk\uad-SimpleVideo\src\com\msi\manning

A    chapter10\trunk\uad-SimpleVideo\src\com\msi\manning\chapter10

A    chapter10\trunk\uad-SimpleVideo\src\com\msi\manning\chapter10\SimpleVideo

A    chapter10\trunk\uad-SimpleVideo\src\com\msi\manning\chapter10\SimpleVideo\SimpleVideo.java

A    chapter10\trunk\uad-SimpleVideo\res

A    chapter10\trunk\uad-SimpleVideo\res\values

A    chapter10\trunk\uad-SimpleVideo\res\values\strings.xml

A    chapter10\trunk\uad-SimpleVideo\res\drawable

A    chapter10\trunk\uad-SimpleVideo\res\drawable\icon.png

A    chapter10\trunk\uad-SimpleVideo\res\raw

A    chapter10\trunk\uad-SimpleVideo\res\raw\test.mp4

A    chapter10\trunk\uad-SimpleVideo\res\layout

A    chapter10\trunk\uad-SimpleVideo\res\layout\main.xml

A    chapter10\trunk\MediaPlayerExample

A    chapter10\trunk\MediaPlayerExample\.classpath

A    chapter10\trunk\MediaPlayerExample\assets

A    chapter10\trunk\MediaPlayerExample\.project

A    chapter10\trunk\MediaPlayerExample\AndroidManifest.xml

A    chapter10\trunk\MediaPlayerExample\src

A    chapter10\trunk\MediaPlayerExample\src\com

A    chapter10\trunk\MediaPlayerExample\src\com\msi

A    chapter10\trunk\MediaPlayerExample\src\com\msi\manning

A    chapter10\trunk\MediaPlayerExample\src\com\msi\manning\chapter10

A    chapter10\trunk\MediaPlayerExample\src\com\msi\manning\chapter10\MediaPlayerExample

A    chapter10\trunk\MediaPlayerExample\src\com\msi\manning\chapter10\MediaPlayerExample\MediaPlayerActvity.java

A    chapter10\trunk\MediaPlayerExample\res

A    chapter10\trunk\MediaPlayerExample\res\values

A    chapter10\trunk\MediaPlayerExample\res\values\strings.xml

A    chapter10\trunk\MediaPlayerExample\res\drawable

A    chapter10\trunk\MediaPlayerExample\res\drawable\icon.png

A    chapter10\trunk\MediaPlayerExample\res\raw

A    chapter10\trunk\MediaPlayerExample\res\raw\halotheme.mp3

A    chapter10\trunk\MediaPlayerExample\res\layout

A    chapter10\trunk\MediaPlayerExample\res\layout\main.xml

A    chapter10\trunk\uad-SimpleCamera

A    chapter10\trunk\SoundRecordingDemo

A    chapter10\trunk\SoundRecordingDemo\.classpath

A    chapter10\trunk\SoundRecordingDemo\assets

A    chapter10\trunk\SoundRecordingDemo\.project

A    chapter10\trunk\SoundRecordingDemo\AndroidManifest.xml

A    chapter10\trunk\SoundRecordingDemo\src

A    chapter10\trunk\SoundRecordingDemo\src\com

A    chapter10\trunk\SoundRecordingDemo\src\com\msi

A    chapter10\trunk\SoundRecordingDemo\src\com\msi\manning

A    chapter10\trunk\SoundRecordingDemo\src\com\msi\manning\chapter10

A    chapter10\trunk\SoundRecordingDemo\src\com\msi\manning\chapter10\SoundRecordingDemo

A    chapter10\trunk\SoundRecordingDemo\src\com\msi\manning\chapter10\SoundRecordingDemo\SoundRecordingDemo.java

A    chapter10\trunk\SoundRecordingDemo\res

A    chapter10\trunk\SoundRecordingDemo\res\values

A    chapter10\trunk\SoundRecordingDemo\res\values\strings.xml

A    chapter10\trunk\SoundRecordingDemo\res\drawable

A    chapter10\trunk\SoundRecordingDemo\res\drawable\icon.png

A    chapter10\trunk\SoundRecordingDemo\res\layout

A    chapter10\trunk\SoundRecordingDemo\res\layout\main.xml

A    chapter10\branches

A    chapter10\tags

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlec

ode.com/svn/chapter11

A    chapter11\trunk

A    chapter11\trunk\GeocodeExample

A    chapter11\trunk\GeocodeExample\.classpath

A    chapter11\trunk\GeocodeExample\assets

A    chapter11\trunk\GeocodeExample\.project

A    chapter11\trunk\GeocodeExample\AndroidManifest.xml

A    chapter11\trunk\GeocodeExample\src

A    chapter11\trunk\GeocodeExample\src\com

A    chapter11\trunk\GeocodeExample\src\com\msi

A    chapter11\trunk\GeocodeExample\src\com\msi\manning

A    chapter11\trunk\GeocodeExample\src\com\msi\manning\geocode

A    chapter11\trunk\GeocodeExample\src\com\msi\manning\geocode\GeocodeExample.java

A    chapter11\trunk\GeocodeExample\res

A    chapter11\trunk\GeocodeExample\res\values

A    chapter11\trunk\GeocodeExample\res\values\strings.xml

A    chapter11\trunk\GeocodeExample\res\drawable

A    chapter11\trunk\GeocodeExample\res\drawable\icon.png

A    chapter11\trunk\GeocodeExample\res\layout

A    chapter11\trunk\GeocodeExample\res\layout\main.xml

A    chapter11\trunk\GeocodeExample\README.txt

A    chapter11\trunk\WindWaves

A    chapter11\trunk\WindWaves\default.properties

A    chapter11\trunk\WindWaves\.classpath

A    chapter11\trunk\WindWaves\assets

A    chapter11\trunk\WindWaves\.project

A    chapter11\trunk\WindWaves\AndroidManifest.xml

A    chapter11\trunk\WindWaves\src

A    chapter11\trunk\WindWaves\src\com

A    chapter11\trunk\WindWaves\src\com\msi

A    chapter11\trunk\WindWaves\src\com\msi\manning

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\BuoyOverlayItem.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\MapViewActivity.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\LocationHelper.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\data

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\data\NDBCHandler.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\data\NDBCFetcher.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\data\BuoyData.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\StartActivity.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\BuoyItemizedOverlay.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\Constants.java

A    chapter11\trunk\WindWaves\src\com\msi\manning\windwaves\BuoyDetailActivity.java

A    chapter11\trunk\WindWaves\docs

A    chapter11\trunk\WindWaves\docs\ndbc_example.xml

A    chapter11\trunk\WindWaves\docs\notes.txt

A    chapter11\trunk\WindWaves\docs\kmlsample.kml

A    chapter11\trunk\WindWaves\docs\gpxexample.gpx

A    chapter11\trunk\WindWaves\docs\obtain_debug_maps_key.txt

A    chapter11\trunk\WindWaves\res

A    chapter11\trunk\WindWaves\res\values

A    chapter11\trunk\WindWaves\res\values\styles.xml

A    chapter11\trunk\WindWaves\res\values\strings.xml

A    chapter11\trunk\WindWaves\res\drawable

A    chapter11\trunk\WindWaves\res\drawable\buoy.png

A    chapter11\trunk\WindWaves\res\drawable\redpin.png

A    chapter11\trunk\WindWaves\res\drawable\wave_200.png

A    chapter11\trunk\WindWaves\res\drawable\art_licenses.txt

A    chapter11\trunk\WindWaves\res\drawable\wave_45.png

A    chapter11\trunk\WindWaves\res\layout

A    chapter11\trunk\WindWaves\res\layout\mapview_activity.xml

A    chapter11\trunk\WindWaves\res\layout\buoy_selected.xml

A    chapter11\trunk\WindWaves\res\layout\start_activity.xml

A    chapter11\trunk\WindWaves\res\layout\buoydetail_activity.xml

A    chapter11\trunk\WindWaves\README.txt

A    chapter11\branches

A    chapter11\tags

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlec

ode.com/svn/chapter12

A    chapter12\trunk

A    chapter12\trunk\android

A    chapter12\trunk\android\joblist.dtd

A    chapter12\trunk\android\.classpath

A    chapter12\trunk\android\.project

A    chapter12\trunk\android\AndroidManifest.xml

A    chapter12\trunk\android\src

A    chapter12\trunk\android\src\com

A    chapter12\trunk\android\src\com\msi

A    chapter12\trunk\android\src\com\msi\manning

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\Prefs.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\CloseJob.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\ShowSettings.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\FieldService.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\JobListHandler.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\JobList.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\ManageJobs.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\Splash.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\ShowJob.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\JobEntry.java

A    chapter12\trunk\android\src\com\msi\manning\UnlockingAndroid\RefreshJobs.java

A    chapter12\trunk\android\res

A    chapter12\trunk\android\res\values

A    chapter12\trunk\android\res\values\strings.xml

A    chapter12\trunk\android\res\drawable

A    chapter12\trunk\android\res\drawable\android.jpg

A    chapter12\trunk\android\res\drawable\icon.png

A    chapter12\trunk\android\res\layout

A    chapter12\trunk\android\res\layout\showsettings.xml

A    chapter12\trunk\android\res\layout\fieldservice.xml

A    chapter12\trunk\android\res\layout\managejobs.xml

A    chapter12\trunk\android\res\layout\splash.xml

A    chapter12\trunk\android\res\layout\showjob.xml

A    chapter12\trunk\android\res\layout\refreshjobs.xml

A    chapter12\trunk\server

A    chapter12\trunk\server\savejob.php

A    chapter12\trunk\server\showjob.php

A    chapter12\trunk\server\posttransaction.php

A    chapter12\trunk\server\updatejob.php

A    chapter12\trunk\server\footer.php

A    chapter12\trunk\server\showjobs.php

A    chapter12\trunk\server\utils.php

A    chapter12\trunk\server\closejob.php

A    chapter12\trunk\server\export.php

A    chapter12\trunk\server\addjob.php

A    chapter12\trunk\server\db.php

A    chapter12\trunk\server\getjoblist.php

A    chapter12\trunk\server\index.php

A    chapter12\trunk\server\header.php

A    chapter12\trunk\server\manage.php

A    chapter12\branches

A    chapter12\tags

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>svn co http://unlocking-android.googlecode.com/svn/chapter13

A    chapter13\trunk

A    chapter13\trunk\native

A    chapter13\trunk\native\pullandroid.bat

A    chapter13\trunk\native\hello.c

A    chapter13\trunk\native\godaytime.bat

A    chapter13\trunk\native\buildhello.bat

A    chapter13\trunk\native\crt.S

A    chapter13\trunk\native\testcrt.c

A    chapter13\trunk\native\daytime.c

A    chapter13\trunk\native\buildhellodynamic.bat

A    chapter13\trunk\native\start.c

A    chapter13\trunk\daytimeclient

A    chapter13\trunk\daytimeclient\.classpath

A    chapter13\trunk\daytimeclient\assets

A    chapter13\trunk\daytimeclient\.project

A    chapter13\trunk\daytimeclient\AndroidManifest.xml

A    chapter13\trunk\daytimeclient\src

A    chapter13\trunk\daytimeclient\src\com

A    chapter13\trunk\daytimeclient\src\com\msi

A    chapter13\trunk\daytimeclient\src\com\msi\manning

A    chapter13\trunk\daytimeclient\src\com\msi\manning\chapter13

A    chapter13\trunk\daytimeclient\src\com\msi\manning\chapter13\DaytimeClient.java

A    chapter13\trunk\daytimeclient\res

A    chapter13\trunk\daytimeclient\res\values

A    chapter13\trunk\daytimeclient\res\values\strings.xml

A    chapter13\trunk\daytimeclient\res\drawable

A    chapter13\trunk\daytimeclient\res\drawable\icon.png

A    chapter13\trunk\daytimeclient\res\layout

A    chapter13\trunk\daytimeclient\res\layout\main.xml

A    chapter13\branches

A    chapter13\tags

체크아웃된 리비전 277.


C:\workspace\unlocking-android-read-only>






Appendixes. 책소개


언로킹 안드로이드 개발자 가이드
카테고리 컴퓨터/IT
지은이 FRANK ABLESON (프리렉, 2010년)
상세보기

목차.

파트 1 안드로이드란 무엇인가?

1장  안드로이드의 목표
 1-1  안드로이드 소개
  1-1-1 안드로이드 플랫폼 
  1-1-2 안드로이드를 위한 마켓?
  1-1-3 안드로이드 라이선스
 1-2 안드로이드 스택
  1-2-1 안드로이드의 토대 
 1-3  안드로이드 애플리케이션 개발 시작
  1-3-1 안드로이드의 취지 
  1-3-2 안드로이드 활성화 
  1-3-3 AndroidManifest.xml
  1-3-4 애플리케이션과 프로세스 맵핑
 1-4  안드로이드 애플리케이션
 1-5 요약

2장 개발 환경 구축
 2-1 안드로이드 SDK
  2-1-1 애플리케이션 프로그래밍 인터페이스
  2-1-2 안드로이드 핵심 패키지
  2-1-3 부가 패키지들
 2-2 퍼즐 맞추기 
  2-2-1 자바 퍼스펙티브
  2-2-2 DDMS 퍼스펙티브
  2-2-3 커맨드라인 툴
 2-3 이클립스에서 안드로이드 애플리케이션 빌드하기
  2-3-1 안드로이드 프로젝트 마법사
  2-3-2 안드로이드 샘플 애플리케이션 코드
  2-3-3 애플리케이션 빌딩 
 2-4 안드로이드 에뮬레이터
  2-4-1 스킨
  2-4-2 네트워크 속도
  2-4-3 에뮬레이터 설정하기
 2-5 디버깅
 2-6  요약

파트 2 안드로이드 SDK  
 
3장 사용자 인터페이스(User Interface)
 3-1 액티비티 만들기
  3-1-1 액티비티 클래스 만들기
  3-1-2 액티비티 라이프 사이클 살펴보기
 3-2 뷰로 작업하기
  3-2-1 뷰 알아보기
  3-2-2 ListView
  3-2-3 핸들러와 메시지 기반의 멀티태스킹
  3-2-4 사용자 뷰 생성
  3-2-5 레이아웃의 이해
  3-2-6 포커스 핸들링
  3-2-7 이벤트 살펴보기
 3-3 리소스의 사용
  3-3-1 지원하는 리소스 타입
  3-3-2 자바에서 리소스 참조하기
  3-3-3 XML 리소스를 가지고 뷰와 레이아웃 정의하기
  3-3-4 외부 참조 값
  3-3-5 애니메이션기능 사용
 3-4 안드로이드 매니페스트 파일의 이해
 3-5 요약

4장 인텐트와 서비스
 4-1 인텐트 클래스들 활용하기
  4-1-1 인텐트 정의
  4-1-2 인텐트 레졸루션
  4-1-3 사용자 정의 URI 매칭시키기
  4-1-4 안드로이드 제공 액티비티
 4-2 브로드캐스트 리시버 사용한 리스닝(수신대기)
  4-2-1 인텐트 개념의 오버로딩
  4-2-2 리시버 생성하기
 4-3 서비스 만들기
  4-3-1 서비스의 이중 목적
  4-3-2 백그라운드 서비스 생성하기
  4-4 IPC 실행
  4-4-1 안드로이드 인터페이스 정의 언어
  4-4-2 원격 인터페이스 드러내기
  4-4-3 서비스 바인딩
  4-4-4 서비스 시작 vs 서비스 바인딩
  4-4-5 서비스 라이프사이클
  4-4-6 바인더와 파서러블
 4-5 요약

5장 데이터 저장 및 검색
 5-1 프리퍼런스 사용하기 
  5-1-1 sharedPreferences로 작업하기
  5-1-2 프리퍼런스 접근 권한
 5-2 파일시스템 사용하기
  5-2-1 파일 생성하기
  5-2-2 파일 접근
  5-2-3 raw 리소스 파일
  5-2-4 XML 파일 리소스
  5-2-5 SD 카드를 이용한 데이터 저장
 5-3 데이터베이스에 데이터 저장하기
  5-3-1 데이터베이스 만들고 사용하기
  5-3-2 sqlite3 툴 사용하기 
 5-4 콘텐트 프로바이더 클래스 사용하기
  5-4-1 URI 표현식의 이해와 레코드 다루기
  5-4-2 콘텐트 프로바이더 생성하기
 5-5 요약

6장 네트워크와 웹서비스
 6-1 네트워크 개념
  6-1-1 네트워크 기초
  6-1-2 클라이언트와 서버
 6-2 네트워크 상태 확인
 6-3 서버 소켓을 이용한 통신
 6-4 HTTP 사용하기
  6-4-1 단순 HTTP와 Java.net
  6-4-2 HttpClient를 사용하여 HTTP 다루기
  6-4-3 HTTP와 HTTPS helper 만들기
 6-5 웹 서비스
  6-5-1 POX - HTTP와 XML의 조합
  6-5-2 REST
  6-5-3 SOAP 사용할 것인가, 사용하지 않을 것인가
 6-6 요약

7장 텔레포니(Telephony) - 전화 통신
 7-1 텔레포니 배경과 용어
 7-2 텔레포니 정보 접근하기
  7-2-1 텔레포니 속성 얻기
  7-2-2 폰 상태 정보 획득하기
 7-3 전화 사용하기
  7-3-1 인텐트를 사용하여 전화 걸기
  7-3-2 전화번호와 관련된 유용한 유틸리티
  7-3-3 콜 인터셉트하기
 7-4 메시지 다루기
  7-4-1 SMS 메시지 보내기 
  7-4-2 SMS 메시지 수신하기
 7-5 요약

8장 노티피케이션(Notification)과 알람(Alarm)
 8-1 토스트 메시지(알림 창) 소개 
 8-2 노티피케이션 소개
 8-3 알람
  8-3-1 알람 예제
 8-4 요약

9장 그래픽과 애니메이션
 9-1 안드로이드에서 그래픽 기능 사용하기
  9-1-1 XML을 이용하여 그리기
 9-2 애니메이션
  9-2-1 프로그램으로 만드는 애니메이션
   9-2-2 임베디드 시스템을 위한 OpenGL
 9-3 요약

10장 멀티미디어
 10-1 멀티미디어와 OpenCORE
 10-2 오디오 재생하기
 10-3 비디오 재생
 10-4 미디어 캡쳐하기
  10-4-1 카메라 이해하기
  10-4-2 오디오 캡쳐
 10-5 요약

11장 위치 기반 서비스
 11-1 에뮬레이터에서 자신의 위치 시뮬레이션하기
  11-1-1 DDMS 툴을 사용하여 자신의 좌표 전송하기
  11-1-2 GPS 데이터 교환 포맷
  11-1-3 구글어스 KML
 11-2 로케이션 매니저와 로케이션 프로바이더 사용하기
  11-2-1 로케이션 매니저로 위치 데이터 접근하기
  11-2-2 로케이션 프로바이더 사용하기
  11-2-3 로케이션 리스너를 사용한 로케이션 업데이트 
 11-3 지도 작업하기
  11-3-1 MapActivity 확장
  11-3-2 MapView 사용하기
  11-3-3 Overlay를 이용하여 지도 위에 데이터 적용시키기
 11-4 Geocoder를 이용한 주소와 좌표(위치) 변환
 11-5 요약

파트 3 안드로이드 애플리케이션  

12장 필드 서비스 애플리케이션
 12-1 필드 서비스 애플리케이션의 요구사항
  12-1-1 기본 요구사항
  12-1-2 데이터 모델 
  12-1-3 애플리케이션 아키텍처와 통합
 12-2 안드로이드 애플리케이션 투어
  12-2-1 애플리케이션 흐름
  12-2-2 코드 로드 맵
  12-2-3 AnroidManifest.xml
 12-3 안드로이드 코드
  12-3-1 스플래시 액티비티
  12-3-2 FieldService 액티비티 1부
  12-3-3 FieldService 액티비티 2부 
  12-3-4 셋팅
  12-3-5 데이터 구조
 12-4 소스 코드의 세부 사항
  12-4-1 Refreshjobs
  12-4-2 ManageJobs
  12-4-3 ShowJob
  12-4-4 CloseJob
 12-5 서버 코드
  12-5-1 유저 인터페이스 디스패쳐
  12-5-2 데이터베이스
  12-5-3 PHP 디스패쳐 코드
  12-5-4 PHP 모바일 통합 코드
 12-6 요약

13장 해킹 안드로이드
 13-1 Android/Linux : 교차점
  13-1-1 툴 체인(Tool Chain)
  13-1-2 애플리케이션 작성
  13-1-3 애플리케이션 설치 및 실행
  13-1-4 빌드 스크립트(Script) 
 13-2 보다 좋은 방법
  13-2-1 static 플래그 사용의 재고
  13-2-2 링킹
  13-2-3 return이 아니라 Exit로
  13-2-4 Startup 코드
 13-3 몇 시입니까?
  13-3-1 Daytime 서버 애플리케이션
  13-3-2 daytime.c
  13-3-3 SQLite 데이터베이스
  13-3-4 Daytime 서버 빌드와 실행 
 13-4 Daytime 클라이언트 
  13-4-1 액티비티
  13-4-2 소켓 클라이언트
  13-4-3 Daytime 테스팅
 13-5

부록 A 안드로이드 SDK 설치하기
 A-1 개발 환경을 위한 요구사항
 A-2 이클립스 설치하기
 A-3 안드로이드 SDK 설치
 A-4 이클립스 플러그인 설치
 A-5 이클립스 플러그인 설정

부록 B 안드로이드 디바이스에서 서명과 애플리케이션 설치
 B-1 안드로이드 디버그 브리지 다시 보기
 B-2 디지털 서명
  B-2-1 Keytool
  B-2-2 Jarsigner 
 B-3 배포하기 위한 최종 작업
  B-3-1 중요 매니페스트 엘리먼트 
  B-3-2 테스트, 테스트, 또 테스트
  B-3-3 최종 사용자 사용권 계약 - EULA
  B-3-4 추가 작업들 : 데이터 import와 export 
 B-4 안드로이드 마켓에 올리기
  B-4-1 안드로이드 마켓의 규칙
  B-4-2 안드로이드 마켓에 애플리케이션 올리기
  B-4-3 자동 업데이트
  B-4-4 왜 안드로이드 마켓인가?
 B-5 그 이외 배포 수단

부록 C 안드로이드 SDK(1.5, 2.0) 설치 가이드
 C-1 안드로이드 SDK 내려받기
 C-2 이클립스 내려받기 및 설치
 C-3 이클립스와 안드로이드 연동하기
 C-3-1 이클립스 안드로이드 플러그인 설치
 C-3-2 안드로이드 플러그인을 통한 SDK 내려받기
  C-3-3 Virtual Device 생성 및 에뮬레이터 실행
 C-4 안드로이드 SDK 1.5 설치

Buy me a coffeeBuy me a coffee



안드로이드 앱 개발할때 xml파일에서 TextView에 많은 Text를 넣을 경우가 있습니다.

Text를 너무 많이 넣은 경우에는 에뮬레이터나 폰의 화면이 작아 Text가 다 보여주지 못하고 깔리는 경우가 있습니다.

그럴 경우엔 xml파일에 아래와 같이 <scroll>태그를 넣으면 됩니다.


<ScrollView xmlns:android="http://schemas.android.com/apk/res/android";
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android";
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              >

(생략)

</LinearLayout>
</ScrollView>


에뮬레이터나 폰의 화면에서 Text가 처음엔 짤려보여도 스크롤이 생겨 손가락이나 마우스로 밀면 다 보여주는 것을 확인할 수 있습니다.

ps. 안드로이드 앱 개발의 절반은 XML이 먹고 가더라는 말을 해봅니다... (내부구조는 Linux Kernel+Dalvik VM, Application Layer는 Java, UI는 XML로 처리)

Buy me a coffeeBuy me a coffee



iPhone에서는 Voice Search가 기본 제공됩니다.

거기에 iPhone과 Android OS보다 예전에 나온 Symbian OS S60에선 Google Voice Search가 되는데 Google폰인 hTC Desire에 Voice Search가 안되는것이 뭔가 이상하였습니다.

Google Search (Symbian S60v3)

Google Search App (Symbian S60v3) in Nokia 6210s

Google Voice Searching (Symbian S60v3)

Voice Searching at Google Search App (Symbian S60v3) in Nokia 6210s


Nokia 6210s(Symbian S60v3)에서 Google Voice Search로 Android를 검색한 결과


위와같이 Android보다 예전에 출시된 Symbian OS S60v3에서 Google Search App을 설치하면 Voice Search가 되는데, 거기에 Apple의 iPhone에서도 Voice Search가 되는데 왜 HTC Desire에 Voice Search가 안되는지 궁금하였습니다.

그러나 구글링한 결과......

안드로이드 폰에 Voice Search(음성검색)이 있습니다. 문제는 이게 영어권 음성만 인식하기때문에 한국어 인식은 아직 구현 안되었다는 걸 알 수 있습니다. (Symbian S60에서, iPhone에서 Voice Search(음성 검색)을 할때에도 마찬가지입니다.

여기에 Desire용 Voice Search 설치파일을 올립니다.



링크를 다운로드 받은후 저는 adb를 사용하여 Voice Search를 설치하였습니다. (아님 SD카드에 apk파일을 넣은 후 실행시켜 설치하시면 됩니다.)

studioego@studioego-laptop:~/Downloads$ ls

VoiceSearch_2.1.apk

studioego@studioego-laptop:~/Downloads$ adb install VoiceSearch_2.1.apk 

394 KB/s (442329 bytes in 1.094s)

pkg: /data/local/tmp/VoiceSearch_2.1.apk

Success

studioego@studioego-laptop:~/Downloads$



2010년 6월 22일 추가.

2010년 6월 22일 자로 안드로이드 마켓에 Google 음성검색 앱이 발표되었습니다.

위의 링크에 있는 apk파일로 음성검색 설치 대신 아래와 같이, 구글 안드로이드마켓에 있는 앱으로 설치하시기 바랍니다.


2010/06/22 - [Mobile/Android] - Google 음성 검색, 안드로이드 마켓에 올라가다 #android







설치후 화면

설치후 음성 인식후 검색화면

(여기에선 htc란 단어를 읽었습니다.)


Buy me a coffeeBuy me a coffee


Android용 Adobe Acrobat이라는 PDF 뷰어가 Adobe사에서 Android Market에 내놓았습니다.

  • System Requirement(시스템 요구사항)
    • Android OS V2.1 이상
    • 550 MHz processor 이상
    • 256 MB of RAM 이상
    • 4.3 MB of available disk space (추가로 4.3MB정도의 용량이상 있어야 합니다.)
    • Currently Supported Devices: Motorola Droid, Motorola Milestone & Google Nexus One (While we have not yet tested against other Android devices, we expect they may also run the application just fine.)
      현재 지원되고 있는 장치로는 Motorola Droid,Google NexusOne과 같이 2.1을 지원하는 장비라고 합니다. HTC Desire는 Google NexusOne과 쌍둥이 폰으로 부르는 폰이기 때문에 물론 지원됨을 확인했습니다. 예전에 가지고 있던 모토로이는 어떻게 되련지는 모르겠습니다. (모토로이가 안드로이드 2.1이기 때문에 지원될것같긴 하지만 테스트해봐야됨)


사용해본 결과 HTC Desire에서 그렇게 빠르게 동작하지 않더군요.  HTC에서 기본제공하는 PDF Viewer보다 속도가 느리고 천천히 돌아간다는 단점이 있습니다.

그러나 확대, 축소, Zoom기능은 Acrobat을 만든 Adobe사의 어플이다 보니 다른 앱보다 충실한건 마음에 듭니다.

ps. 요즘 보면 Adobe가 Apple의 미움을 받아 Google과 친구가 되고 있는 느낌이 듭니다.

Buy me a coffeeBuy me a coffee




저는 위의 관련링크를 보고 우선 골드카드를 생성하기로 하였습니다.

여기서 Ubuntu 10.04를 사용하여 Desire를 Rooting해보기로 하였습니다.

루팅을 하기 위해선 Android SDK를 다운 받고, 앞에서 설명하듯 우분투에 장치를 인식할 수 있게 아래와 같은 링크를 이용하여 작업을 해야 합니다.



※ 주의: 여기서는 Ubuntu와 Android SDK를 사용하여 개발하는 사람들 위주로 글을 작성하였습니다. 리눅스를 익숙하게 쓰는 사람만 따라해주시기 바랍니다.

우분투에서 위와 같이 작업을 하였으면 ddms로 디자이어가 인식이 되는지를 확인해봅니다.


이 후, 터미널창에 아래의 명령어를 치고 나오는 값을 확인해본다.

adb shell cat /sys/class/mmc_host/mmc1/mmc1:*/cid


studioego@studioego-laptop:~$ adb shell cat /sys/class/mmc_host/mmc1/mmc1:*/cid
03534453553038478080d20abc00a392

터미널 창에 위와 같은 명령어를 쳤으면 아래와 같은 값이 출력될것입니다.

03534453553038478080d20abc00a392


값은 장치마다 다르니 신경 쓸 필요가 없습니다.


값을 얻어내었으면 http://hexrev.soaa.me/  를 클릭합니다. 새로뜬 창에 방금 나온 값을 입력하는 필드가 보일겁니다. 입력창에 값을 정확하게 입력합니다.

입력을 하면 아래와 같은 화면이 나올겁니다. (값은 장치의 갑소가 다르니 값이 다르다고 신경 쓸 필요가 없습니다.)


위의 화면이 나왔으면 새로 나온 값을 복사하고 http://psas.revskills.de/?q=goldcard  를 클릭합니다.

여기서는 이메일과 방금 복사한 값을 모두 입력후, 하단에 있는 Generate Goldcard를 누릅니다.

몇 분후, 입력한 이메일 주소로 goldcard.img이라는 파일이 온다. 다운로드 받습니다.

이후에 hex editor를 사용하여 goldcard.img를 엽니다.


다음엔, 디자이어의 컴퓨터 연결 모드를 디스크로 설정합니다.

이동식 디스크로 되었는지 확인을 합니다.

이후엔, hex editor를 실행합니다. 

goldcard.img의 offset의 00000000~00000170을 선택합니다. 이후 이동식디스크 파일에 붙여넣기 합니다.

아래 화면처럼 하면 됩니다.


위와같이 하면 Goldcard가 완성됩니다.

이젠 HTC Desire의 루팅을 할 준비가 다 되었습니다. 다음엔 루팅을 실행해볼까 합니다.


Buy me a coffeeBuy me a coffee

2010년 5월 21일. Google I/O 2010에서 Android 2.2 Froyo를 공개하면서 SDK까지 공개가 되었습니다.

Android 2.2 Froyo SDK가 홈페이지에 공개되면서, 저는 android 2.2 Froyo SDK 설치 및 업그레이드를 하게 되었습니다.

※참고: 여기서는 이미 Eclipse ADT플러그인과 SDK가 깔린 전제하에서 Android 2.2 Froyo SDK설치하는 것을 다룬겁니다.

우선은 Eclipse에 ADT(Android Development Tools)를 업그레이드 하게 되었습니다.

Eclipse에서 Update를 실행하면 아래 화면과 같이 실행가능한 Update들을 보여주는데, Google측에서 Android 2.2 Froyo 업데이트로 된 Android DDMS, Android Development Tools가 나왔습니다.


위와 같이 Eclipse에서 사용가능한 업데이트를 모두 실행하면, Eclipsed에서 Android 2.2 Froyo SDK를 사용할 설정까지 마칩니다.

(아직 Android 2.2 Froyo SDK는 설치도 되지 않았습니다.)

Eclipse ADT(Android Development Tools)를 업데이트 한후, Android SDK를 설치를 해야됩니다.

Eclipse에서 Window->Android SDK and AVD Manager를 선택합니다.

선택을 하면 아래의 화면처럼 나옵니다. 여기서 Available Package를 선택한후, Android API 8을 선택하면 Android 2.2 Froyo가 설치가 되는겁니다. (개발자라면 혹시나 하위버전 호환성을 위해서 모두 설치해야합니다.)

Android SDK와 AVD(Android Virtual Device)를 설치하라고 나옵니다.

여기서 Accept All를 선택하면 Android SDK와 SDK와 관련된 Tool, Sample등이 모두 설치됩니다.

설치중입니다.


Android 2.2 Froyo SDK를 설치하고 에뮬레이터를 실행하니 Android 2.2 Froyo의 화면이 나옵니다.


Android 2.2 Froyo의 첫 화면


Android 1.1, 1.5(Cupcake), 1.6(donut), 2.0, 2.1(Éclair)와 다르게 화면이 매우 화려해졌습니다.

그리고 2.0, 2.1(Éclair)와 차이가 좀 많이 나더군요.

Froyo의 속도는 에뮬레이터라 보니 속도 체감은 전혀 느낄수 없는 단점이 있습니다. 넥서스원에서 실감할수 있을려나...



Buy me a coffeeBuy me a coffee




5월 20일 Google I/O 2010 행사에서 Android 2.2 Froyo를 소개하는 동영상을 보았습니다.

사진출처: http://rukxer.net/2461246


Youtube에 올라간 동영상을 블로그에 볼수 있게 동영상 링크를 아래에 모두 올렸습니다.

Google I/O 2010 - Keynote Day 2 Android Demo, pt. 1

Google I/O 2010 - Keynote Day 2 Android Demo, pt. 2 

Google I/O 2010 - Keynote Day 2 Android Demo, pt. 3 

Google I/O 2010 - Keynote Day 2 Android Demo, pt. 4

Google I/O 2010 - Keynote Day 2 Android Demo, pt. 5 

우선, 아이폰의 단점을 비꼬는것 부터 시작함. (※ 솔직히 Apple사의 iPhone 통제는 엄청 납니다)

안드로이드 장비들을 보여주면서 Sony Ericsson, hTC, Motorola가 언급되었지만 Samsung, LG가 언급되지 않음. 

※ 한국의 대기업들이 부품등의 하드웨어는 잘 만드는데 언급 안되었다는게 참 안타깝습니다.

※ 대만의 hTC처럼 삼성과 LG는 Google과의 협력관계를 맺지 못해서 그런건지. -_- 

18개월동안 Android Platform은 정말 많은 성장을 거듭했음.

21OEMs, 48개의 나라, 59개의 이동통신사에서 안드로이드 플랫폼을 채택함.

50,000개의 안드로이드 어플과 180,000의 안드로이드 개발자가 있습니다. (※저도 안드로이드 개발자에 껴 잇습니다.)

Android 2.2 Code-name Froyo 소개.

Dalvik VM으로 Device 와 App cdoe가 연결됨.

JIT으로 성능 향상

웹 브라우저 성능 향상

자바 실생 속도 향상

메모리 관리 능력 향상

외장 메모리에 앱 설치 가능해짐

MS사 데스크탑과 연동이 쉽게 됨.

Data Backup API 소개

... (시간이 부족해서 여기까지...)

많은 기능들이 추가됨을 알수 있습니다. (50분짜리다 보니 보다 지쳤습니다.-_-;;)

자세한 내용은 안드로이드펍 운영자이신 회색님이 정리한 한글 자료를 보는 것이 좋습니다.



Android 2.2 Froyo에 대한 자세한 소개는 아래의 링크를 보시면 될것입니다. (다만 영문입니다.)




아래는 Android 2.2 Froyo에 대한 자세한 소개 동영상입니다.

  1. Speed
    • Dalvik VM: Just-In-Time(JIT) Compiler
       = 2-5x faster performance
  2. APIs and Services
    • Cloud to Device Messaging
    • Application Backup API
    • Apps on SD Card
    • Portable Hotspot (tethering)
  3. Browser
    • V8 = 2-3X faster javascript rendering
  4. Android Market
    • Auto Update and Update All
    • Application Error Reports
의 소개가 나옵니다.

Android 2.2 Froyo를 소개하는 것을 보면 Android 플랫폼에 새로운 기능이 선보이고 많은 부분들이 개선이 되어서 쓸만하다는 걸 보여줍니다.
예전 버전에서 아쉬었던 부분에 대해서 시원하게 개선했다고 보여주니 안드로이드 운영체제에해서 만세를 부르고 싶군요.
 

ps. 제가 쓰고 있는 hTC Desire는 Android 2.1 기반으로 Froyo가 발표되기 전까지 최신 안드로이드 버전을 사용하고 있습니다.


사용하다 보면 OS의 문제로 여러가지 단점들이 있던데 Froyo가 나왔으니 대부분 수정되었을 겁니다.

오늘 글 쓰는 시점으로 Android Central에서 이런 기사가 올라왔습니다.



hTC Desire와 쌍둥이 폰이라고 말하고 있는 Google NexusOne에서 Android 2.2 Froyo를 쓸수 있게 롬이 공개되었다는 기사입니다.

Android 2.2 Froyo를 발표 하루만에 구글 넥서스원에 Froyo를 바로 쓸수 있게 롬이 올라갔다니 넥서스원 사용자들이 부럽습니다.

hTC Desire에 Android 2.2 Froyo가 조만간 공개될것 같긴 한데 문제는 이동통신사의 협의가 필요한 부분이 있기 때문에 언제 제 휴대폰인 Desire에 Android 2.2 Froyo가 올라갈지는 궁금합니다.

... SKT의 공개 업데이트가 안되면, 아에 루팅을 해버리고 XDA에 올라간 Froyo롬을 구해서 사용해야하나? -_- (롬을 바꾸다 벽돌되면 내 폰은 벽돌이 됩니다. ㅠㅠ)

Buy me a coffeeBuy me a coffee

+ Recent posts