DBeaver - 개발자와 DBA를 위한 무료 오픈소스(GPL) 데이터베이스 툴


저는 Eclipse 플러그인으로 된 DBeaver를 사용하고 있음. Oracle, Mysql, PostgreSQL, SQLite, H2, Java DB등 여러종류의 DBMS를 지원하고 OS도 Windows, Linux, Mac OS 모두 지원합니다.



무료 GUI DB툴 치고는 ERD 보여주는 기능 및 BLOB 보여주는 기능등등 여러가지 기능이 좋아서 소개합니다.


아래는 DBeaver 홈페이지에 있는 소개

Overview

DBeaver is free and open source (GPL) universal database tool for developers and database administrators.

  • Usability is the main goal of this project, program UI is carefully designed and implemented.
  • It is freeware.
  • It is multiplatform.
  • It is based on opensource framework and allows writing of various extensions (plugins).
  • It supports any database having a JDBC driver.
  • It may handle any external datasource which may or may not have a JDBC driver.
  • There is a set of plugins for certain databases (MySQL and Oracle in version 1.x) and different database management utilities (e.g. ERD).

Supported (tested) databases:

  • MySQL
  • Oracle
  • PostgreSQL
  • IBM DB2
  • Microsoft SQL Server
  • Sybase
  • ODBC
  • Java DB (Derby)
  • Firebird (Interbase)
  • HSQLDB
  • SQLite
  • Mimer
  • H2
  • IBM Informix
  • SAP MAX DB
  • Cache
  • Ingres
  • Linter
  • Teradata
  • Vertica
  • Any JDBC compliant data source

Supported OSes:

  • Windows (2000/XP/2003/Vista/7)
  • Linux
  • Mac OS
  • Solaris
  • AIX
  • HPUX

General features:

  • Database metadata browse
  • Metadata editor (tables, columns, keys, indexes)
  • SQL statements/scripts execution
  • SQL highlighting (specific for each database engine)
  • Autocompletion and metadata hyperlinks in SQL editor
  • Result set/table edit
  • BLOB/CLOB support (view and edit modes)
  • Scrollable resultsets
  • Data (tables, query results) export
  • Transactions management
  • Database objects (tables, columns, constraints, procedures) search
  • ER diagrams
  • Database object bookmarks
  • SQL scripts management
  • Projects (connections, SQL scripts and bookmarks)

MySQL plugin features:

  • Enum/Set datatypes
  • Procedures/triggers view
  • Metadata DDL view
  • Session management
  • Users management
  • Catalogs management
  • Advanced metadata editor

Oracle plugin features:

  • XML, Cursor datatypes support
  • Packages, procedures, triggers, indexes, tablespaces and other metadata objects browse/edit
  • Metadata DDL view
  • Session management
  • Users management
  • Advanced metadata editor

Other Benefits:

  • DBeaver consumes much less memory than other popular similar software (SQuirreL, DBVisualizer)
  • Database metadata is loaded on demand and there is no long-running “metadata caching” procedure at connect time
  • ResultSet viewer (grid) is very fast and consumes very little ammount of memory
  • All remote database operations work in non-blocking mode so DBeaver does not hang if the database server does not respond or if there is a related network issue

License

DBeaver is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

DBeaver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

License full version

Buy me a coffeeBuy me a coffee



kenu님의 블로그에서 Eclipse 3.6 Helios가 새로 출시되었다는 소식을 듣고 Eclipse 3.6 Helios를 설치하였습니다.

설치후 실행할때 아래와 같은 오류가 나오더군요.

Failed to create the Java Virtual Machine 이라는 창이 뜹니다.


실행할때 나오는 Failed to create the Java Virtual Machine 이라는 에러는 이클립스가 JVM을 못찾아서 나오는 에러입니다.

해결방법은 eclipse.ini에 아래와 같은 내용을 추가를 합니다.

-vm

C:/Program Files/Java/jdk1.6.0_16/bin/javaw.exe

JVM을 지정하는 부분을 넣어서 인식해주면 됩니다.

-vm 

(JDK 설치된 폴더)\bin\javaw.exe

eclipse.ini에 아래와 같은 내용이 나오는데 아래와 같이 굵은 표시가 보이는 곳에 -vm (JDK 설치된폴더)\bin\javaw.exe를 추가하시면 됩니다.

-startup

plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar

--launcher.library

plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503

-product

org.eclipse.epp.package.jee.product

--launcher.defaultAction

openFile

--launcher.XXMaxPermSize

256M

-showsplash

org.eclipse.platform

--launcher.XXMaxPermSize

256m

--launcher.defaultAction

openFile

-vm

C:/Program Files/Java/jdk1.6.0_16/bin/javaw.exe

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx512m

이클립스를 실행하니 Helios가 나오면서 아래와 같이 나오더군요.

Eclipse 3.6 HELIOS (이클립스 3.6 헬리오스)

Eclipse 3.6 HELIOS 첫 실행화면.


지금 Eclipse 3.6 Helios를 사용해보니 이전 버전인 갈릴레오보다 뭔가 더 좋아졌네요. 

뭔가 매우 친절해진 메세지며, Eclipse Marketplace가 추가, 웹브라우저 지정도 가능해서 IE로 html볼지 Firefox에서 볼지를 선택 짖정도 가능하더군요.


Buy me a coffeeBuy me a coffee
  1. Favicon of http://blog.naver.com/tryace7 BlogIcon 주난 2010.07.07 18:36

    오랜만에 이클립스를 시동, 안 되서 급당황 했는데 덕분에 해결했습니다 감사합니다

    • Favicon of https://blog.studioego.info BlogIcon StudioEgo 2010.07.08 00:00 신고

      어이쿠 이런 툴 문제는 서로 알려줘야 되제요 ㅎㅎ 제 블로그에 방문해 주셔서 감사합니다.

2010년 7월 10일(토)에 열리는 2010 한국 자바 개발자 페스티벌에 참석하게 되었습니다.

장소는 이화여대 ECC입니다.


참가신청 링크

2010 한국 자바 개발자 페스티벌 강사 및 강의 소개


이번 페스티벌에선 웹과 모바일 플랫폼인 안드로이드 기반의 내용들이 많이 나옵니다. 요즘 트랜드가 안드로이드라 보니 다들 안드로이드 플랫폼에 뛰어드는 것 같습니다.

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

※ 참고로 제목에 Motoroi를 적어서 혼돈 시킬 내용이 있긴 하겠지만 모토로이뿐만 아니라 모토로라사의 안드로이드폰, HTC의 안드로이드폰, 삼성, LG등에서 나오는 안드로이드폰들도 제조사 설정값만 다를뿐, 여기 내용으로 똑같이 연결 설정을 할 수 있습니다.


주로 Windows에서 Java, Web관련 프로그램들을 만들어보다, 안드로이드 폰인 모토로이를 구입후, 안드로이드 앱 개발을 시작하게 되었습니다.

학교에서 틈나는데로 개발하다보니... 진척이 나오진 않더군요,

그래서 집에 있을 주말에는 안드로이드 앱개발에 전념해보자는 생각을 해보았습니다. 그 후에 집에 돌아다니고 있는 ThinkPad R52에 Ubuntu를 설치하여 Android 개발용 노트북으로 만들어 개발을 하게 되었습니다.

그러나 Windows와 다르게 Ubuntu(Linux)에서 adb를 설치해도 안드로이드 기기(모토로이, Motoroi, XT720)이 인식이 되지 않더군요.

Windows에선 모토로라사에서 직접 제공하는 드라이버를 설치하여 사용하면 되니 문제 없지만, Linux는 알아서 셋팅을 해야했습니다.


결국은 Ubuntu에 Android Device(Motoroi, XT720)을 인식할수 있도록 삽질을 하게 되었습니다.

안드로이드 SDK를 설치 한후에 adb device 라는 명령어를 치면 아래와 같이 안드로이드 장치가 인식이 되지 않음을 알 수 있습니다.


studioego@studioego-laptop:~$ adb devices
List of devices attached
????????????    no permissions

studioego@studioego-laptop:~$

그리고 Eclipse에서도 안드로이드 장치가 인식 되지 않음도 알 수 있습니다.



이럴때엔 아래와 같이 작업을 해야합니다.

lsusb라는 명령어로 usb로 인식을 하는지에 대해 확인을 해보면

studioego@studioego-laptop:~$ lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 002: ID 0a5c:201e Broadcom Corp. IBM Integrated Bluetooth IV
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 22b8:41db Motorola PCS
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
studioego@studioego-laptop:~$

모토로이(XT720)은 이미 인식을 했다는 걸 확인 할 수 있습니다.

이미 장치는 인식을 한 상태이지만, adb 에서 인식할 수 있도록, 장치를 등록해야 제대로 안드로이드 장비인 모토로이(XT720)을 사용할 수 있습니다.

출처 : http://aphyr.com/journals/show/debugging-the-droid-on-ubuntu-karmic

위의 링크를 보고 우선 vim같은 편집기로 /etc/udev/rules.d/99-android.rules 파일을 생성한 후 아래와 같은 내용을 적습니다.

SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", SYMLINK+="android_adb", MODE="0666"

참고로 Android Device Vendor인 Motorola사의 ATTRS(idVendor)값은 22b8이고 HTC의 경우엔 ATTRS(idVendor)값이 0bb4 이런식으로 되어있습니다.

참고로 이 글은 모토로이 뿐만 아니라 다른 업체인 HTC, 삼성, LG등의 안드로이드폰에서도 적용을 할 수 있다는걸 알 수 있습니다.

/etc/udev/rules.d/99-android.rules를 작성후 저장합니다.

이후 udev 데몬을 재시작 한후, 장비의 연결을 뺀후, 다시 연결하면 모토로이에 USB Debugging 모드로 우분투에서 모토로이 장치를 제대로 인식 할수 있습니다.

아래는 udev 재시작을 하는 것을 보여줍니다. .sudo /etc/init.d/udev restart 대신 가급적이면 sudo restart udev를 하라고 나옵니다.

studioego@studioego-laptop:~$ sudo /etc/init.d/udev restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service udev restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart udev
udev start/running, process 8066
studioego@studioego-laptop:~$


USB연결을 뺐다 다시 USB연결을 하면 모토로이 장치가 인식되었다는 걸 확인을 아래에서 할 수 있습니다

studioego@studioego-laptop:~$ adb devices
List of devices attached
040376780F01F01D    device

studioego@studioego-laptop:~$

모토로이가 인식되었다는 것을 Eclipse에서도 확인 할 수 있습니다.



아래는 기념으로 모토로이 화면 캡쳐를 하였습니다. (Ubuntu 9.10에서 Eclipse를 사용하여 Hootsuite라는 트윗 어플을 찍어봄)




Buy me a coffeeBuy me a coffee

모토로이를 개발용으로 컴퓨터와 연결을 해보았습니다.



위의 관련 포스트를 참조를 하여, 모토로이를 개발용으로 컴퓨터와 같이 연결을 하였습니다.

1. 모토로이폰에서 설정→응용프로그램→개발을 클릭하여 아래 화면처럼 체크를 합니다.

안드로이드폰에서 컴퓨터로 디버깅할때에 USB디버깅 모드를 체크해야합니다!


(참고로, 모의 GPS는 GPS를 사용하는 LBS어플만들때 쓰는 기능이랍니다.)


2. 모토로라사의 사이트에서 모토로이 USB 드라이버인 4.2.0을 다운로드 받아 설치를 합니다.

참고로 USB 드라이버엔 32bit와 64bit용 두 가지가 있습니다.

http://www.mymotorola.co.kr/product/PrdDownProduct.aspx?id=0045


그런 다음 Eclipse에서 DDMS로 연결을 해보니 드디어 컴퓨터와 연결을 해보았습니다.


연결이 되었다고 화면에 나오군요!!


아래는 저의 모토로이 바탕화면입니다.


아래는 안드로이드펍이라고 안드로이드펍에서 제공하는 어플리케이션입니다.



아래는 제가 직접 테스트를 해본 "Hello, World!" 앱입니다. 이클립스에서 간단한 프로젝트를 실행하고 컴퓨터와 연결하면 앱이 모토로이로 옮겨서 실행되는걸 볼 수 있습니다^^

모토로이에서 AndroidTest라는 간단한 앱을 넣었습니다.

Motoroi - AndroidTest

모토로이에서 AndroidTest라는 간단한 앱을 실행한 상태 - Hello, World!를 띄운겁니다.


Buy me a coffeeBuy me a coffee

출처 - Sakai Project : Documentation

Developing for Sakai, Part I: Getting Started (Z. Thomas, Aeroplane Software)

Get Sakai up and running quickly as you follow this step-by-step guide. Technologies covered include Java, Subversion (source control), Maven (compilation, build and deployment) and Tomcat (servlet container).

Developing for Sakai, Part II, Setting Up Eclipse (Z. Thomas, Aeroplane Software)

Zach Thomas provides another step-by-step introduction to Sakai development, this time focusing on the open-source Eclipse IDE, the development platform of choice for Sakai developers.

Developing for Sakai part III: App Builder Plugin (Z. Thomas, Aeroplane Software)

Zach discusses how to install and utilize Aaron Zeckoski's Sakai App Builder plugin for Eclipse.

Eclipse 101 - Basics, Tips & Tricks (L. Speelmon, Indiana University)

Builds on Zach Thomas' introductory screencasts by providing additional best practices when using the Eclipse IDE for Sakai development.

여기에 있는 Screencast들은 Sakai Project를 시작할때 어떻게 개발환경을 셋팅하는지를 보여준다.

JAVA SE, Maven, Tomcat, Eclipse등의 개발환경 셋팅이 정말 중요하다는 것을 느껴줍니다.

맥에서 셋팅하던데, 맥을 쓰고 싶은 욕구가 증가하는 단점도 있다.

Buy me a coffeeBuy me a coffee

정말 오랜만에 JAVA를 만지게 되었다.

학과에서는 커리큘럼을 시스템쪽으로 공부하도록 맞춰져있기 때문에 항상 C아님 OOP를 쓴다면 꼭 C++를 사용하도록 해서 프로그래밍 하는데 재미가 하나도 없었다.

그러나 한 줄기 빛이 있었나니. 재수강하는 기초데이터베이스 과목 조교님께서 JAVA로 DB응용프로그램을 짜라고 하셨다.

얼씨구나 좋구나. 내가 왜 좋아 하는 이유는 한가지, JAVA를 사용하기 때문이다.

대학교 1학년 여름방학때, 회사서 아르바이트를 하면서 처음 JAVA를 접하면서 인터넷, 웹에 대해 관심을 많이 가지게 되었고, JAVA로 DB프로그램을 짜 본경험이 있었기 때문이다.

작년 기초데이터베이스 과목 들었을때에는 교수님께서 이상하게 과제를 내셔서 웹서버도 만들고 CGI형식으로 직접하게 하고 임베디드 SQL인 ORACLE PRO*C와 C++을 사용하면서 과제를 내주셨기때문에 과제 하는데 온갖 갖은 노력을 해도, 시간이 부족해서 대충 내고 말았던 기억이 있었다. (팀프로젝트였고 두사람이 해야했지만 한 사람이 C++코딩을 전혀 못하는 젬병이라 내 혼자 하다가 제풀에 넘어갔음. OS과제하느라 DB과제 신경 못쓴것도 있지만.)

(임베디드 SQL로 C++과 연동해서 프로그램 짜라면 쉽게 짤수 있다. 그러나 과제 낼때 웹으로 해야한다고 해서 C++에 CGI를 직접 그때 알아서 구현하라고 해서 임베디드 SQL내용은 별로 없었고 CGI를 직접 구현하는 실제로 쓸모없는 코드양들이 많다는 단점이 있다.)

JAVA로 하면 임베디드 SQL 없이 그냥 JAVA에서 제공하는 SQL관련 메소드를 이용해서 과제를 하면 되니 속이 엄청나게 편하다. 거기에 인터넷관련 메소드 사용 없이 콘솔로 보여주기만 하면 끝이니, 이번학기 과제는 날로 먹는 것 같은 느낌까지 난다. (3일만에 놀면서 다 짰다.)

JAVA에는 Eclipse가 궁합이라는 것을 과제를 해보면서 뼈져리게 느낀다. Eclipse가 아니였다면 몇일 삽일 할 내용을 빨리 제거도 해주니 IDE의 덕도 많이 보고 있구나.

JAVA 코딩에는 Eclipse로 코딩해야지 편하다는 사실. (Sakai Project도 Eclipse를 써야지 이해 되는 것들이 많다.)

ps1. 오랜만에 Eclipse로 JAVA코딩하는 것이 편하다는 사실을 다시 깨닫고 있습니다. IDE는 좋은 것 써야한다는 결론! 이클립스가 좋아요라는 뻘글을 쓰려고 이런 글 올리나 *-_-*
ps2. 학과에선 C/C++만 강조하지만, 지도교수님이 시키는 일로 요즘 JAVA코딩을 하고 있습니다.

'컴퓨터 > 프로그래밍' 카테고리의 다른 글

텍스트큐브 구글맵 플러그인의 모바일 지원 및 개선 수행계획서  (0) 2009.01.18
Android SDK 설치  (0) 2008.12.14
오랜만에 만져본 JAVA  (2) 2008.12.02
MVC Pattern  (1) 2008.07.21
내가 보아야 할 Ruby 관련 책들  (2) 2008.05.14
Ruby를 맛봅시다.  (2) 2008.04.30
Buy me a coffeeBuy me a coffee
  1. Favicon of http://www.plengineer.com BlogIcon 2008.12.02 16:23

    자바는 예전에 한학기 배우고 나서 손도 안대봤는데.. 이클립스는 참 편하더군요. 잘 만든 에디터라는 생각이..

    • Favicon of http://blog.studioego.info BlogIcon StudioEgo 2008.12.03 02:29

      Eclipse는 자바뿐만 아니라 C, C++, Ruby, Python 코딩하는데에도 많이 쓰더군요. 정말 잘 만든 에디터라고 생각해요. 그러나 이 프로그램 모르는 대학생들이 태반.ㅠㅠ
      Eclipse같은 IDE를 써야지 프로그램을 짜는데 생산성이 높아지더군요. Eclipse를 쓰니깐 프로그래밍하는 속도가 빨려진 것을 체감하고 있습니다.

+ Recent posts