【例子介绍】Android入门到精通源代码
【相关图片】
【源码结构】
.
├── Android入门到精通源代码
│ ├── Ch 10 - Networking
│ │ └── Networking
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── Networking.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── networking
│ │ │ │ ├── FifthNetwork$1.class
│ │ │ │ ├── FifthNetwork$2.class
│ │ │ │ ├── FifthNetwork$3.class
│ │ │ │ ├── FifthNetwork$4$1$1.class
│ │ │ │ ├── FifthNetwork$4$1$2.class
│ │ │ │ ├── FifthNetwork$4$1$3$1.class
│ │ │ │ ├── FifthNetwork$4$1$3.class
│ │ │ │ ├── FifthNetwork$4$1$4.class
│ │ │ │ ├── FifthNetwork$4$1.class
│ │ │ │ ├── FifthNetwork$4.class
│ │ │ │ ├── FifthNetwork$DelayedLooperThread.class
│ │ │ │ ├── FifthNetwork.class
│ │ │ │ ├── FirstNetwork$1.class
│ │ │ │ ├── FirstNetwork.class
│ │ │ │ ├── FourthNetwork$1.class
│ │ │ │ ├── FourthNetwork$2$1$1.class
│ │ │ │ ├── FourthNetwork$2$1$2.class
│ │ │ │ ├── FourthNetwork$2$1$3.class
│ │ │ │ ├── FourthNetwork$2$1.class
│ │ │ │ ├── FourthNetwork$2.class
│ │ │ │ ├── FourthNetwork.class
│ │ │ │ ├── FourthNetworkAsync$1.class
│ │ │ │ ├── FourthNetworkAsync$2.class
│ │ │ │ ├── FourthNetworkAsync$ImageLoader.class
│ │ │ │ ├── FourthNetworkAsync.class
│ │ │ │ ├── Menu.class
│ │ │ │ ├── NetworkStatus$1.class
│ │ │ │ ├── NetworkStatus$2.class
│ │ │ │ ├── NetworkStatus.class
│ │ │ │ ├── Networking.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── SecondNetwork$1.class
│ │ │ │ ├── SecondNetwork.class
│ │ │ │ ├── ThirdNetwork$1.class
│ │ │ │ ├── ThirdNetwork$2.class
│ │ │ │ ├── ThirdNetwork.class
│ │ │ │ ├── WebViewDemo$1.class
│ │ │ │ ├── WebViewDemo$2.class
│ │ │ │ ├── WebViewDemo$3.class
│ │ │ │ ├── WebViewDemo$4.class
│ │ │ │ ├── WebViewDemo$5.class
│ │ │ │ └── WebViewDemo.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── networking
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── main.xml
│ │ │ │ └── web.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── networking
│ │ ├── FifthNetwork.java
│ │ ├── FirstNetwork.java
│ │ ├── FourthNetwork.java
│ │ ├── FourthNetworkAsync.java
│ │ ├── Menu.java
│ │ ├── NetworkStatus.java
│ │ ├── Networking.java
│ │ ├── SecondNetwork.java
│ │ ├── ThirdNetwork.java
│ │ └── WebViewDemo.java
│ ├── Ch 11 - LBS
│ │ └── Location
│ │ ├── AndroidManifest.xml
│ │ ├── bin
│ │ │ ├── Location.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── location
│ │ │ │ ├── GPS$1.class
│ │ │ │ ├── GPS$2.class
│ │ │ │ ├── GPS$3.class
│ │ │ │ ├── GPS$4.class
│ │ │ │ ├── GPS.class
│ │ │ │ ├── GeoAddress$1$1.class
│ │ │ │ ├── GeoAddress$1.class
│ │ │ │ ├── GeoAddress.class
│ │ │ │ ├── Huts$HutsItemizedOverlay.class
│ │ │ │ ├── Huts.class
│ │ │ │ ├── Location.class
│ │ │ │ ├── Mapping$1$1.class
│ │ │ │ ├── Mapping$1.class
│ │ │ │ ├── Mapping.class
│ │ │ │ ├── Menu.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ └── R.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── location
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ ├── icon.png
│ │ │ │ └── paw.png
│ │ │ ├── layout
│ │ │ │ ├── geoaddress.xml
│ │ │ │ ├── gps.xml
│ │ │ │ ├── huts.xml
│ │ │ │ ├── main.xml
│ │ │ │ └── mapping.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── location
│ │ ├── GPS.java
│ │ ├── GeoAddress.java
│ │ ├── Huts.java
│ │ ├── Location.java
│ │ ├── Mapping.java
│ │ └── Menu.java
│ ├── Ch 12 - Multimedia
│ │ └── Multimedia
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── Multimedia.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── multimedia
│ │ │ │ ├── Audio$1.class
│ │ │ │ ├── Audio$2.class
│ │ │ │ ├── Audio$3.class
│ │ │ │ ├── Audio$4.class
│ │ │ │ ├── Audio.class
│ │ │ │ ├── Menu.class
│ │ │ │ ├── Moving.class
│ │ │ │ ├── Multimedia.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── Still$1$1.class
│ │ │ │ ├── Still$1.class
│ │ │ │ ├── Still$2$1.class
│ │ │ │ ├── Still$2.class
│ │ │ │ ├── Still$3$1.class
│ │ │ │ ├── Still$3.class
│ │ │ │ ├── Still$CameraSurfaceView.class
│ │ │ │ ├── Still.class
│ │ │ │ ├── Video$1.class
│ │ │ │ ├── Video$2.class
│ │ │ │ ├── Video$3.class
│ │ │ │ ├── Video$4.class
│ │ │ │ └── Video.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── multimedia
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── audio.xml
│ │ │ │ ├── main.xml
│ │ │ │ ├── moving.xml
│ │ │ │ ├── still.xml
│ │ │ │ └── video.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── multimedia
│ │ ├── Audio.java
│ │ ├── Menu.java
│ │ ├── Moving.java
│ │ ├── Multimedia.java
│ │ ├── Still.java
│ │ └── Video.java
│ ├── Ch 13 - Telephony
│ │ └── Telephony
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── Telephony.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── telephony
│ │ │ │ ├── MakeCall$1$1.class
│ │ │ │ ├── MakeCall$1.class
│ │ │ │ ├── MakeCall$2.class
│ │ │ │ ├── MakeCall$3.class
│ │ │ │ ├── MakeCall.class
│ │ │ │ ├── Menu.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── SMSSender$1$1.class
│ │ │ │ ├── SMSSender$1.class
│ │ │ │ ├── SMSSender$2.class
│ │ │ │ ├── SMSSender.class
│ │ │ │ ├── Status$1.class
│ │ │ │ ├── Status.class
│ │ │ │ └── Telephony.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── telephony
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── telephony
│ │ ├── MakeCall.java
│ │ ├── Menu.java
│ │ ├── SMSSender.java
│ │ ├── Status.java
│ │ └── Telephony.java
│ ├── Ch 14 - OpenGL
│ │ └── OpenGL
│ │ ├── AndroidManifest.xml
│ │ ├── bin
│ │ │ ├── OpenGL.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── opengl
│ │ │ │ ├── AndroidOpenGL$CustomRenderer.class
│ │ │ │ ├── AndroidOpenGL$CustomSurfaceView$1.class
│ │ │ │ ├── AndroidOpenGL$CustomSurfaceView.class
│ │ │ │ ├── AndroidOpenGL.class
│ │ │ │ ├── BasicGL$BasicGLSurfaceView.class
│ │ │ │ ├── BasicGL$BasicGLThread.class
│ │ │ │ ├── BasicGL.class
│ │ │ │ ├── BasicGLCube$BasicGLSurfaceView.class
│ │ │ │ ├── BasicGLCube$BasicGLThread.class
│ │ │ │ ├── BasicGLCube.class
│ │ │ │ ├── CubeSmallGLUT.class
│ │ │ │ ├── Menu.class
│ │ │ │ ├── OpenGLPlay.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── SimpleFPSDisplay$BasicGLSurfaceView.class
│ │ │ │ ├── SimpleFPSDisplay$BasicGLThread$1.class
│ │ │ │ ├── SimpleFPSDisplay$BasicGLThread.class
│ │ │ │ ├── SimpleFPSDisplay.class
│ │ │ │ ├── SimpleLitGLCube$BasicGLSurfaceView.class
│ │ │ │ ├── SimpleLitGLCube$BasicGLThread.class
│ │ │ │ ├── SimpleLitGLCube.class
│ │ │ │ ├── SmallGLUT.class
│ │ │ │ ├── TexCubeSmallGLUT.class
│ │ │ │ ├── TextureGL$BasicGLSurfaceView.class
│ │ │ │ ├── TextureGL$BasicGLThread$1.class
│ │ │ │ ├── TextureGL$BasicGLThread.class
│ │ │ │ ├── TextureGL.class
│ │ │ │ └── TriangleSmallGLUT.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── opengl
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ ├── android.jpg
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── constrained.xml
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── opengl
│ │ ├── AndroidOpenGL.java
│ │ ├── BasicGL.java
│ │ ├── BasicGLCube.java
│ │ ├── CubeSmallGLUT.java
│ │ ├── Menu.java
│ │ ├── OpenGLPlay.java
│ │ ├── SimpleFPSDisplay.java
│ │ ├── SimpleLitGLCube.java
│ │ ├── SmallGLUT.java
│ │ ├── TexCubeSmallGLUT.java
│ │ ├── TextureGL.java
│ │ └── TriangleSmallGLUT.java
│ ├── Ch 15 - Hardware
│ │ └── Hardware
│ │ ├── AndroidManifest.xml
│ │ ├── bin
│ │ │ ├── Hardware.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── hardware
│ │ │ │ ├── Battery$1.class
│ │ │ │ ├── Battery$2.class
│ │ │ │ ├── Battery$3.class
│ │ │ │ ├── Battery$4.class
│ │ │ │ ├── Battery$5.class
│ │ │ │ ├── Battery$6.class
│ │ │ │ ├── Battery.class
│ │ │ │ ├── Hardware.class
│ │ │ │ ├── Menu.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── Sensors$1.class
│ │ │ │ ├── Sensors$2.class
│ │ │ │ ├── Sensors$3.class
│ │ │ │ ├── Sensors$4.class
│ │ │ │ ├── Sensors.class
│ │ │ │ ├── WiFi$1.class
│ │ │ │ ├── WiFi$2.class
│ │ │ │ ├── WiFi$3.class
│ │ │ │ ├── WiFi$4.class
│ │ │ │ └── WiFi.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── hardware
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── battery.xml
│ │ │ │ ├── main.xml
│ │ │ │ ├── sensors.xml
│ │ │ │ └── wifi.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── hardware
│ │ ├── Battery.java
│ │ ├── Hardware.java
│ │ ├── Menu.java
│ │ ├── Sensors.java
│ │ └── WiFi.java
│ ├── Ch 16 - Notifications
│ │ └── Notifications
│ │ ├── AndroidManifest.xml
│ │ ├── bin
│ │ │ ├── Notifications.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── notifications
│ │ │ │ ├── Notifications$1.class
│ │ │ │ ├── Notifications$2.class
│ │ │ │ ├── Notifications$3.class
│ │ │ │ ├── Notifications$4.class
│ │ │ │ ├── Notifications$5.class
│ │ │ │ ├── Notifications$6.class
│ │ │ │ ├── Notifications.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ └── R.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── notifications
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ ├── android.jpg
│ │ │ │ ├── android_32.jpg
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── main.xml
│ │ │ │ └── remote.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── notifications
│ │ └── Notifications.java
│ ├── Ch 17 - Services
│ │ ├── Services
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── bin
│ │ │ │ ├── Services.apk
│ │ │ │ ├── classes.dex
│ │ │ │ ├── com
│ │ │ │ │ └── androidbook
│ │ │ │ │ └── services
│ │ │ │ │ ├── GPXPoint$1.class
│ │ │ │ │ ├── GPXPoint.aidl
│ │ │ │ │ ├── GPXPoint.class
│ │ │ │ │ ├── GPXService$1.class
│ │ │ │ │ ├── GPXService$2.class
│ │ │ │ │ ├── GPXService.class
│ │ │ │ │ ├── IRemoteInterface$Stub$Proxy.class
│ │ │ │ │ ├── IRemoteInterface$Stub.class
│ │ │ │ │ ├── IRemoteInterface.aidl
│ │ │ │ │ ├── IRemoteInterface.class
│ │ │ │ │ ├── Menu.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R.class
│ │ │ │ │ ├── ServiceControl$1.class
│ │ │ │ │ ├── ServiceControl$2.class
│ │ │ │ │ ├── ServiceControl$3.class
│ │ │ │ │ ├── ServiceControl.class
│ │ │ │ │ └── Services.class
│ │ │ │ └── resources.ap_
│ │ │ ├── default.properties
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ └── androidbook
│ │ │ │ └── services
│ │ │ │ ├── IRemoteInterface.java
│ │ │ │ └── R.java
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ └── icon.png
│ │ │ │ ├── layout
│ │ │ │ │ ├── control.xml
│ │ │ │ │ └── main.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── services
│ │ │ ├── GPXPoint.aidl
│ │ │ ├── GPXPoint.java
│ │ │ ├── GPXService.java
│ │ │ ├── IRemoteInterface.aidl
│ │ │ ├── Menu.java
│ │ │ ├── ServiceControl.java
│ │ │ └── Services.java
│ │ └── UseServices
│ │ ├── AndroidManifest.xml
│ │ ├── bin
│ │ │ ├── UseService.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ ├── services
│ │ │ │ │ ├── GPXPoint$1.class
│ │ │ │ │ ├── GPXPoint.aidl
│ │ │ │ │ ├── GPXPoint.class
│ │ │ │ │ ├── IRemoteInterface$Stub$Proxy.class
│ │ │ │ │ ├── IRemoteInterface$Stub.class
│ │ │ │ │ ├── IRemoteInterface.aidl
│ │ │ │ │ └── IRemoteInterface.class
│ │ │ │ └── useservice
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── UseService$1.class
│ │ │ │ ├── UseService$2.class
│ │ │ │ ├── UseService$3.class
│ │ │ │ └── UseService.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ ├── services
│ │ │ │ └── IRemoteInterface.java
│ │ │ └── useservice
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ ├── services
│ │ │ ├── GPXPoint.aidl
│ │ │ ├── GPXPoint.java
│ │ │ └── IRemoteInterface.aidl
│ │ └── useservice
│ │ └── UseService.java
│ ├── Ch 3 - Your First Android Application
│ │ └── MyFirstAndroidApplication
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── MyFirstAndroidApplication.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── myfirstandroidapplication
│ │ │ │ ├── MyFirstAndroidApplication.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ └── R.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── myfirstandroidapplication
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── myfirstandroidapplication
│ │ └── MyFirstAndroidApplication.java
│ ├── Ch 4 - Application Lifecycle
│ │ ├── SimpleAppFramework
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ ├── bin
│ │ │ │ ├── SimpleAppFramework.apk
│ │ │ │ ├── classes.dex
│ │ │ │ ├── com
│ │ │ │ │ └── androidbook
│ │ │ │ │ └── SimpleAppFramework
│ │ │ │ │ ├── R$array.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R.class
│ │ │ │ │ └── SimpleAppFramework.class
│ │ │ │ └── resources.ap_
│ │ │ ├── default.properties
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ └── androidbook
│ │ │ │ └── SimpleAppFramework
│ │ │ │ └── R.java
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ └── icon.png
│ │ │ │ ├── layout
│ │ │ │ │ └── main.xml
│ │ │ │ └── values
│ │ │ │ ├── arrays.xml
│ │ │ │ └── strings.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── SimpleAppFramework
│ │ │ └── SimpleAppFramework.java
│ │ └── SimpleGame
│ │ ├── bin
│ │ │ ├── default.properties
│ │ │ └── gen
│ │ ├── default.properties
│ │ └── gen
│ ├── Ch 5 - Resources
│ │ ├── MultiNational
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ ├── bin
│ │ │ │ ├── MultiNational.apk
│ │ │ │ ├── classes.dex
│ │ │ │ ├── com
│ │ │ │ │ └── android
│ │ │ │ │ └── multinational
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$color.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R.class
│ │ │ │ │ └── multinational.class
│ │ │ │ └── resources.ap_
│ │ │ ├── default.properties
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ └── android
│ │ │ │ └── multinational
│ │ │ │ └── R.java
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ └── icon.png
│ │ │ │ ├── drawable-en-land
│ │ │ │ │ └── background.png
│ │ │ │ ├── drawable-en-port
│ │ │ │ │ └── background.png
│ │ │ │ ├── drawable-fr-land
│ │ │ │ │ └── background.png
│ │ │ │ ├── drawable-fr-port
│ │ │ │ │ └── background.png
│ │ │ │ ├── drawable-land
│ │ │ │ │ └── background.png
│ │ │ │ ├── drawable-port
│ │ │ │ │ └── background.png
│ │ │ │ ├── layout
│ │ │ │ │ └── main.xml
│ │ │ │ ├── values
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ └── strings.xml
│ │ │ │ ├── values-en
│ │ │ │ │ └── strings.xml
│ │ │ │ ├── values-en-rGB
│ │ │ │ │ └── strings.xml
│ │ │ │ └── values-fr
│ │ │ │ └── strings.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── android
│ │ │ └── multinational
│ │ │ └── multinational.java
│ │ ├── ParisView
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ ├── bin
│ │ │ │ ├── ParisView.apk
│ │ │ │ ├── classes.dex
│ │ │ │ ├── com
│ │ │ │ │ └── androidbook
│ │ │ │ │ └── parisview
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R.class
│ │ │ │ │ └── parisview.class
│ │ │ │ └── resources.ap_
│ │ │ ├── default.properties
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ └── androidbook
│ │ │ │ └── parisview
│ │ │ │ └── R.java
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ ├── background.png
│ │ │ │ │ ├── flag.png
│ │ │ │ │ └── icon.png
│ │ │ │ ├── layout
│ │ │ │ │ └── main.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── parisview
│ │ │ └── parisview.java
│ │ ├── ResourceRoundup
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ ├── bin
│ │ │ │ ├── ResourceRoundup.apk
│ │ │ │ ├── classes.dex
│ │ │ │ ├── com
│ │ │ │ │ └── androidbook
│ │ │ │ │ └── resourceroundup
│ │ │ │ │ ├── R$anim.class
│ │ │ │ │ ├── R$array.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$color.class
│ │ │ │ │ ├── R$dimen.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$menu.class
│ │ │ │ │ ├── R$raw.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R$style.class
│ │ │ │ │ ├── R$xml.class
│ │ │ │ │ ├── R.class
│ │ │ │ │ └── resourceroundup.class
│ │ │ │ └── resources.ap_
│ │ │ ├── default.properties
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ └── androidbook
│ │ │ │ └── resourceroundup
│ │ │ │ └── R.java
│ │ │ ├── res
│ │ │ │ ├── anim
│ │ │ │ │ ├── pulse.xml
│ │ │ │ │ └── spin.xml
│ │ │ │ ├── drawable
│ │ │ │ │ ├── flag.png
│ │ │ │ │ ├── green_rect.xml
│ │ │ │ │ ├── icon.png
│ │ │ │ │ ├── pyramid.9.png
│ │ │ │ │ └── red_oval.xml
│ │ │ │ ├── layout
│ │ │ │ │ ├── main.xml
│ │ │ │ │ └── mygreenrect.xml
│ │ │ │ ├── menu
│ │ │ │ │ └── speed.xml
│ │ │ │ ├── raw
│ │ │ │ │ └── limerick.txt
│ │ │ │ ├── values
│ │ │ │ │ ├── arrays.xml
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── dimen.xml
│ │ │ │ │ ├── drawables.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── styles.xml
│ │ │ │ └── xml
│ │ │ │ └── my_pets.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── resourceroundup
│ │ │ └── resourceroundup.java
│ │ └── ResourceViewer
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── ResourceViewer.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── resourceviewer
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$color.class
│ │ │ │ ├── R$dimen.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R$style.class
│ │ │ │ ├── R.class
│ │ │ │ └── resourceviewer.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── resourceviewer
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── form.xml
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimen.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── resourceviewer
│ │ └── resourceviewer.java
│ ├── Ch 6 - Views
│ │ └── Views
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── Views.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── views
│ │ │ │ ├── Buttons$1.class
│ │ │ │ ├── Buttons$2.class
│ │ │ │ ├── Buttons$3.class
│ │ │ │ ├── Buttons$4.class
│ │ │ │ ├── Buttons$5.class
│ │ │ │ ├── Buttons$6.class
│ │ │ │ ├── Buttons$7.class
│ │ │ │ ├── Buttons.class
│ │ │ │ ├── Containers$1.class
│ │ │ │ ├── Containers.class
│ │ │ │ ├── Events$1.class
│ │ │ │ ├── Events$2.class
│ │ │ │ ├── Events$3.class
│ │ │ │ ├── Events$4.class
│ │ │ │ ├── Events$5.class
│ │ │ │ ├── Events.class
│ │ │ │ ├── Forms.class
│ │ │ │ ├── Indicators$1$1.class
│ │ │ │ ├── Indicators$1.class
│ │ │ │ ├── Indicators$2$1.class
│ │ │ │ ├── Indicators$2$2.class
│ │ │ │ ├── Indicators$2.class
│ │ │ │ ├── Indicators$3$1.class
│ │ │ │ ├── Indicators$3.class
│ │ │ │ ├── Indicators$4.class
│ │ │ │ ├── Indicators$5.class
│ │ │ │ ├── Indicators.class
│ │ │ │ ├── Menu.class
│ │ │ │ ├── Pickers$1.class
│ │ │ │ ├── Pickers$2.class
│ │ │ │ ├── Pickers.class
│ │ │ │ ├── R$anim.class
│ │ │ │ ├── R$array.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$menu.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── TextDisplay.class
│ │ │ │ ├── TextInput$1.class
│ │ │ │ ├── TextInput.class
│ │ │ │ └── ViewsMenu.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── views
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── anim
│ │ │ │ ├── anim.xml
│ │ │ │ └── anim_in.xml
│ │ │ ├── drawable
│ │ │ │ ├── droid.jpg
│ │ │ │ ├── droid2.jpg
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── buttons.xml
│ │ │ │ ├── containers.xml
│ │ │ │ ├── events.xml
│ │ │ │ ├── indicators.xml
│ │ │ │ ├── main.xml
│ │ │ │ ├── pickers.xml
│ │ │ │ ├── text_display.xml
│ │ │ │ └── textinput.xml
│ │ │ ├── menu
│ │ │ │ └── timer_context.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── views
│ │ ├── Buttons.java
│ │ ├── Containers.java
│ │ ├── Events.java
│ │ ├── Forms.java
│ │ ├── Indicators.java
│ │ ├── Menu.java
│ │ ├── Pickers.java
│ │ ├── TextDisplay.java
│ │ ├── TextInput.java
│ │ └── ViewsMenu.java
│ ├── Ch 7 - Layout
│ │ ├── GroceryList
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ ├── bin
│ │ │ │ ├── GroceryList.apk
│ │ │ │ ├── classes.dex
│ │ │ │ ├── com
│ │ │ │ │ └── androidbook
│ │ │ │ │ └── grocerylist
│ │ │ │ │ ├── R$array.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R.class
│ │ │ │ │ └── grocerylist.class
│ │ │ │ └── resources.ap_
│ │ │ ├── default.properties
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ └── androidbook
│ │ │ │ └── grocerylist
│ │ │ │ └── R.java
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ └── icon.png
│ │ │ │ ├── layout
│ │ │ │ │ └── main.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── grocerylist
│ │ │ └── grocerylist.java
│ │ ├── LayoutContainerExamples
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ ├── bin
│ │ │ │ ├── Ch 9 - Layout.apk
│ │ │ │ ├── classes.dex
│ │ │ │ ├── com
│ │ │ │ │ └── androidbook
│ │ │ │ │ └── layout
│ │ │ │ │ ├── Adapters.class
│ │ │ │ │ ├── BasicLayout.class
│ │ │ │ │ ├── ContactAdapter.class
│ │ │ │ │ ├── DialogDisplay$1.class
│ │ │ │ │ ├── DialogDisplay.class
│ │ │ │ │ ├── Drawer.class
│ │ │ │ │ ├── GridLayout$1.class
│ │ │ │ │ ├── GridLayout.class
│ │ │ │ │ ├── Layout.class
│ │ │ │ │ ├── List.class
│ │ │ │ │ ├── Menu.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R$style.class
│ │ │ │ │ ├── R.class
│ │ │ │ │ ├── Scratch$1.class
│ │ │ │ │ ├── Scratch.class
│ │ │ │ │ ├── StyleSamples.class
│ │ │ │ │ ├── TabLayout.class
│ │ │ │ │ └── TrackPointList.class
│ │ │ │ └── resources.ap_
│ │ │ ├── default.properties
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ └── androidbook
│ │ │ │ └── layout
│ │ │ │ └── R.java
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ ├── handle.png
│ │ │ │ │ └── icon.png
│ │ │ │ ├── layout
│ │ │ │ │ ├── bigtextview.xml
│ │ │ │ │ ├── contact.xml
│ │ │ │ │ ├── contact_item.xml
│ │ │ │ │ ├── contact_item_simple.xml
│ │ │ │ │ ├── dialog.xml
│ │ │ │ │ ├── drawer.xml
│ │ │ │ │ ├── example_layout.xml
│ │ │ │ │ ├── grid.xml
│ │ │ │ │ ├── main.xml
│ │ │ │ │ ├── menu_layout.xml
│ │ │ │ │ ├── points_item.xml
│ │ │ │ │ ├── points_layout.xml
│ │ │ │ │ ├── scratch_gallery.xml
│ │ │ │ │ ├── scratch_grid.xml
│ │ │ │ │ ├── scratch_layout.xml
│ │ │ │ │ ├── scratch_list.xml
│ │ │ │ │ ├── style_samples.xml
│ │ │ │ │ └── textview.xml
│ │ │ │ └── values
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── layout
│ │ │ ├── Adapters.java
│ │ │ ├── BasicLayout.java
│ │ │ ├── ContactAdapter.java
│ │ │ ├── DialogDisplay.java
│ │ │ ├── Drawer.java
│ │ │ ├── GridLayout.java
│ │ │ ├── Layout.java
│ │ │ ├── List.java
│ │ │ ├── Menu.java
│ │ │ ├── Scratch.java
│ │ │ ├── StyleSamples.java
│ │ │ ├── TabLayout.java
│ │ │ └── TrackPointList.java
│ │ └── SimpleLayout
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── SimpleLayout.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── simplelayout
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$menu.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── absolute_layout.class
│ │ │ │ ├── frame_layout.class
│ │ │ │ ├── layout_menu_class.class
│ │ │ │ ├── linear_layout.class
│ │ │ │ ├── multiple_layout.class
│ │ │ │ ├── relative_layout.class
│ │ │ │ ├── simplelayout.class
│ │ │ │ └── table_layout.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── simplelayout
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ ├── arrow.png
│ │ │ │ ├── arrow2.png
│ │ │ │ ├── green_rect.xml
│ │ │ │ ├── icon.png
│ │ │ │ └── red_oval.xml
│ │ │ ├── layout
│ │ │ │ ├── absolute_layout.xml
│ │ │ │ ├── frame_layout.xml
│ │ │ │ ├── linear_layout.xml
│ │ │ │ ├── main.xml
│ │ │ │ ├── multiple_layout.xml
│ │ │ │ ├── relative_layout.xml
│ │ │ │ └── table_layout.xml
│ │ │ ├── menu
│ │ │ │ └── layout_menu.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── simplelayout
│ │ ├── absolute_layout.java
│ │ ├── frame_layout.java
│ │ ├── layout_menu_class.java
│ │ ├── linear_layout.java
│ │ ├── multiple_layout.java
│ │ ├── relative_layout.java
│ │ ├── simplelayout.java
│ │ └── table_layout.java
│ ├── Ch 8 - Drawing and Animation
│ │ ├── Drawing
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ │ └── fonts
│ │ │ │ └── chess1.ttf
│ │ │ ├── bin
│ │ │ │ ├── Drawing.apk
│ │ │ │ ├── classes.dex
│ │ │ │ ├── com
│ │ │ │ │ └── androidbook
│ │ │ │ │ └── Drawing
│ │ │ │ │ ├── DrawBitmap$ViewWithBitmap.class
│ │ │ │ │ ├── DrawBitmap.class
│ │ │ │ │ ├── DrawCustomFont$ViewWithChessBoardFont.class
│ │ │ │ │ ├── DrawCustomFont.class
│ │ │ │ │ ├── DrawGradient$ViewWithGradient.class
│ │ │ │ │ ├── DrawGradient.class
│ │ │ │ │ ├── DrawShape$ViewWithRedDot.class
│ │ │ │ │ ├── DrawShape.class
│ │ │ │ │ ├── DrawText$ViewWithText.class
│ │ │ │ │ ├── DrawText.class
│ │ │ │ │ ├── Drawing.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$menu.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ └── R.class
│ │ │ │ └── resources.ap_
│ │ │ ├── default.properties
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ └── androidbook
│ │ │ │ └── Drawing
│ │ │ │ └── R.java
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ ├── bluejay.jpg
│ │ │ │ │ └── icon.png
│ │ │ │ ├── layout
│ │ │ │ │ └── main.xml
│ │ │ │ ├── menu
│ │ │ │ │ └── drawmenu.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── Drawing
│ │ │ ├── DrawBitmap.java
│ │ │ ├── DrawCustomFont.java
│ │ │ ├── DrawGradient.java
│ │ │ ├── DrawShape.java
│ │ │ ├── DrawText.java
│ │ │ └── Drawing.java
│ │ └── ShapeShifter
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── ShapeShifter.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── ShapeShifter
│ │ │ │ ├── FrameAnimationActivity$1.class
│ │ │ │ ├── FrameAnimationActivity$2.class
│ │ │ │ ├── FrameAnimationActivity.class
│ │ │ │ ├── FrameAnimationActivity2$1.class
│ │ │ │ ├── FrameAnimationActivity2$2.class
│ │ │ │ ├── FrameAnimationActivity2$3$1.class
│ │ │ │ ├── FrameAnimationActivity2$3.class
│ │ │ │ ├── FrameAnimationActivity2.class
│ │ │ │ ├── Menu.class
│ │ │ │ ├── R$anim.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── ShapeShifter.class
│ │ │ │ ├── ShapeViewer$1.class
│ │ │ │ ├── ShapeViewer$2.class
│ │ │ │ ├── ShapeViewer$3.class
│ │ │ │ ├── ShapeViewer$4.class
│ │ │ │ ├── ShapeViewer$5.class
│ │ │ │ ├── ShapeViewer$6.class
│ │ │ │ ├── ShapeViewer$7.class
│ │ │ │ ├── ShapeViewer$8.class
│ │ │ │ ├── ShapeViewer$9.class
│ │ │ │ ├── ShapeViewer.class
│ │ │ │ ├── TweenActivity$1.class
│ │ │ │ ├── TweenActivity$2.class
│ │ │ │ ├── TweenActivity$3.class
│ │ │ │ ├── TweenActivity$4.class
│ │ │ │ ├── TweenActivity$5.class
│ │ │ │ ├── TweenActivity$MyAnimationListener.class
│ │ │ │ ├── TweenActivity.class
│ │ │ │ └── TweenLayoutActivity.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── ShapeShifter
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── anim
│ │ │ │ ├── grow.xml
│ │ │ │ ├── shakennotstirred.xml
│ │ │ │ ├── snazzyintro.xml
│ │ │ │ ├── spin.xml
│ │ │ │ ├── translate_position.xml
│ │ │ │ └── transparency.xml
│ │ │ ├── drawable
│ │ │ │ ├── green_rect.xml
│ │ │ │ ├── icon.png
│ │ │ │ ├── juggle.xml
│ │ │ │ ├── red_oval.xml
│ │ │ │ ├── splash1.bmp
│ │ │ │ ├── splash2.bmp
│ │ │ │ └── splash3.bmp
│ │ │ ├── layout
│ │ │ │ ├── framebyframe.xml
│ │ │ │ ├── framebyframe_switcher.xml
│ │ │ │ ├── shapes.xml
│ │ │ │ ├── tween.xml
│ │ │ │ └── tweenoflayout.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── ShapeShifter
│ │ ├── FrameAnimationActivity.java
│ │ ├── FrameAnimationActivity2.java
│ │ ├── Menu.java
│ │ ├── ShapeShifter.java
│ │ ├── ShapeViewer.java
│ │ ├── TweenActivity.java
│ │ └── TweenLayoutActivity.java
│ └── Ch 9 - Files and Databases
│ ├── FileStreamOfConsciousness
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── FileStreamOfConsciousness.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── FileStreamOfConsciousness
│ │ │ │ ├── FileStreamOfConsciousness$1.class
│ │ │ │ ├── FileStreamOfConsciousness$2.class
│ │ │ │ ├── FileStreamOfConsciousness$3$1.class
│ │ │ │ ├── FileStreamOfConsciousness$3.class
│ │ │ │ ├── FileStreamOfConsciousness.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── ViewLog$1.class
│ │ │ │ ├── ViewLog$2.class
│ │ │ │ └── ViewLog.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── FileStreamOfConsciousness
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── chat.xml
│ │ │ │ └── showfile.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── FileStreamOfConsciousness
│ │ ├── FileStreamOfConsciousness.java
│ │ └── ViewLog.java
│ ├── FullDatabase
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── FullDatabase.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── fulldatabase
│ │ │ │ ├── FullDatabaseActivity$Author.class
│ │ │ │ ├── FullDatabaseActivity$Book.class
│ │ │ │ ├── FullDatabaseActivity.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ └── R.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── fulldatabase
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── fulldatabase
│ │ └── FullDatabaseActivity.java
│ ├── PetTracker
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── PetTracker.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── PetTracker
│ │ │ │ ├── PetDatabase$PetType.class
│ │ │ │ ├── PetDatabase$Pets.class
│ │ │ │ ├── PetDatabase.class
│ │ │ │ ├── PetList$1.class
│ │ │ │ ├── PetList$2.class
│ │ │ │ ├── PetList.class
│ │ │ │ ├── PetTrackEntry$1.class
│ │ │ │ ├── PetTrackEntry$2.class
│ │ │ │ ├── PetTrackEntry.class
│ │ │ │ ├── PetTracker.class
│ │ │ │ ├── PetTrackerDatabaseHelper.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ └── R.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── PetTracker
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── petentry.xml
│ │ │ │ └── showpets.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── PetTracker
│ │ ├── PetDatabase.java
│ │ ├── PetList.java
│ │ ├── PetTrackEntry.java
│ │ ├── PetTracker.java
│ │ └── PetTrackerDatabaseHelper.java
│ ├── SimpleFiles
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── SimpleFiles.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── simplefiles
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ └── SimpleFileActivity.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── simplefiles
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── simplefiles
│ │ └── SimpleFileActivity.java
│ ├── SimplePrefs
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── SimplePrefs.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ └── simpleprefs
│ │ │ │ ├── MoreSimplePrefs.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R.class
│ │ │ │ ├── SimplePrefs.class
│ │ │ │ ├── SuperSimplePrefs$1.class
│ │ │ │ ├── SuperSimplePrefs$2.class
│ │ │ │ ├── SuperSimplePrefs$3.class
│ │ │ │ ├── SuperSimplePrefs$4.class
│ │ │ │ ├── SuperSimplePrefs$5.class
│ │ │ │ ├── SuperSimplePrefs$6.class
│ │ │ │ ├── SuperSimplePrefs$7.class
│ │ │ │ ├── SuperSimplePrefs$8.class
│ │ │ │ └── SuperSimplePrefs.class
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── simpleprefs
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ └── simpleprefs
│ │ ├── MoreSimplePrefs.java
│ │ ├── SimplePrefs.java
│ │ └── SuperSimplePrefs.java
│ ├── SuperDuperPetTracker
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── bin
│ │ │ ├── MediaPetTracker.apk
│ │ │ ├── classes.dex
│ │ │ ├── com
│ │ │ │ └── androidbook
│ │ │ │ ├── MediaPetTracker
│ │ │ │ │ ├── GalleryRecord.class
│ │ │ │ │ ├── MediaPetList$1.class
│ │ │ │ │ ├── MediaPetList$2$1.class
│ │ │ │ │ ├── MediaPetList$2.class
│ │ │ │ │ ├── MediaPetList$PetListAdapter.class
│ │ │ │ │ ├── MediaPetList$PetListItemContainer.class
│ │ │ │ │ ├── MediaPetList.class
│ │ │ │ │ ├── MediaPetTrackEntry$1.class
│ │ │ │ │ ├── MediaPetTrackEntry$2.class
│ │ │ │ │ ├── MediaPetTrackEntry$ImageUriAdapter.class
│ │ │ │ │ ├── MediaPetTrackEntry$MyCursorToStringConverter.class
│ │ │ │ │ ├── MediaPetTrackEntry$MyFilterQueryProvider.class
│ │ │ │ │ ├── MediaPetTrackEntry.class
│ │ │ │ │ ├── MediaPetTracker.class
│ │ │ │ │ ├── MediaPetTrackerDatabase$PetType.class
│ │ │ │ │ ├── MediaPetTrackerDatabase$Pets.class
│ │ │ │ │ ├── MediaPetTrackerDatabase.class
│ │ │ │ │ ├── MediaPetTrackerDatabaseHelper.class
│ │ │ │ │ ├── PetListItemView.class
│ │ │ │ │ ├── PetRecord.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R$styleable.class
│ │ │ │ │ └── R.class
│ │ │ │ └── SuperDuperPetTracker
│ │ │ └── resources.ap_
│ │ ├── default.properties
│ │ ├── gen
│ │ │ └── com
│ │ │ └── androidbook
│ │ │ └── MediaPetTracker
│ │ │ └── R.java
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ │ ├── pet_item.xml
│ │ │ │ ├── petentry.xml
│ │ │ │ └── showpets.xml
│ │ │ └── values
│ │ │ ├── attrs.xml
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── androidbook
│ │ ├── MediaPetTracker
│ │ │ ├── GalleryRecord.java
│ │ │ ├── MediaPetList.java
│ │ │ ├── MediaPetTrackEntry.java
│ │ │ ├── MediaPetTracker.java
│ │ │ ├── MediaPetTrackerDatabase.java
│ │ │ ├── MediaPetTrackerDatabaseHelper.java
│ │ │ ├── PetListItemView.java
│ │ │ └── PetRecord.java
│ │ └── SuperDuperPetTracker
│ └── SuperPetTracker
│ ├── AndroidManifest.xml
│ ├── assets
│ ├── bin
│ │ ├── SuperPetTracker.apk
│ │ ├── classes.dex
│ │ ├── com
│ │ │ └── androidbook
│ │ │ └── SuperPetTracker
│ │ │ ├── R$attr.class
│ │ │ ├── R$drawable.class
│ │ │ ├── R$id.class
│ │ │ ├── R$layout.class
│ │ │ ├── R$string.class
│ │ │ ├── R.class
│ │ │ ├── SuperPetList$1.class
│ │ │ ├── SuperPetList$2$1.class
│ │ │ ├── SuperPetList$2.class
│ │ │ ├── SuperPetList.class
│ │ │ ├── SuperPetTrackEntry$1.class
│ │ │ ├── SuperPetTrackEntry$2.class
│ │ │ ├── SuperPetTrackEntry.class
│ │ │ ├── SuperPetTracker.class
│ │ │ ├── SuperPetTrackerDatabase$PetType.class
│ │ │ ├── SuperPetTrackerDatabase$Pets.class
│ │ │ ├── SuperPetTrackerDatabase.class
│ │ │ └── SuperPetTrackerDatabaseHelper.class
│ │ └── resources.ap_
│ ├── default.properties
│ ├── gen
│ │ └── com
│ │ └── androidbook
│ │ └── SuperPetTracker
│ │ └── R.java
│ ├── res
│ │ ├── drawable
│ │ │ └── icon.png
│ │ ├── layout
│ │ │ ├── pet_item.xml
│ │ │ ├── petentry.xml
│ │ │ └── showpets.xml
│ │ └── values
│ │ └── strings.xml
│ └── src
│ └── com
│ └── androidbook
│ └── SuperPetTracker
│ ├── SuperPetList.java
│ ├── SuperPetTrackEntry.java
│ ├── SuperPetTracker.java
│ ├── SuperPetTrackerDatabase.java
│ └── SuperPetTrackerDatabaseHelper.java
└── 5t6t网_Android入门到精通源代码.zip
542 directories, 1034 files
评论