Source code to omnibus edition of _The Busy Coder's Guide to Android Development_
Java HTML JavaScript CSS Makefile Groovy
Permalink
Failed to load latest commit information.
ACRA/Simple updated header comment Feb 12, 2017
Accessibility/FontScale updated header comment Feb 12, 2017
ActionBar updated header comment Feb 12, 2017
ActionMode updated all projects to Gradle 2.14.1 and Android Plugin for Gradle 2… Jan 7, 2017
Activities updated header comment Feb 12, 2017
AlarmManager updated header comment Feb 12, 2017
Animation updated header comment Feb 12, 2017
AppCompat updated header comment Feb 12, 2017
AppShortcuts/WeakBrowser updated header comment Feb 12, 2017
AppWidget updated header comment Feb 12, 2017
Assist updated header comment Feb 12, 2017
Backup/BackupClient updated header comment Feb 12, 2017
Bandwidth/TrafficMonitor updated all projects to Gradle 2.14.1 and Android Plugin for Gradle 2… Jan 7, 2017
Basic updated header comment Feb 12, 2017
BasicMaterial updated header comment Feb 12, 2017
Binding updated header comment Feb 12, 2017
Bitmaps/InSampleSize updated header comment Feb 12, 2017
CPU-Java updated all projects to Gradle 2.14.1 and Android Plugin for Gradle 2… Jan 7, 2017
Calendar/Query updated header comment Feb 12, 2017
Camera updated header comment Feb 12, 2017
ConfigChange updated header comment Feb 12, 2017
Contacts updated header comment Feb 12, 2017
Containers updated header comment Feb 12, 2017
ContentProvider updated header comment Feb 12, 2017
DataBinding updated header comment Feb 12, 2017
Database updated header comment Feb 12, 2017
DesignSupport updated header comment Feb 12, 2017
DeviceAdmin updated header comment Feb 12, 2017
Diagnostics updated header comment Feb 12, 2017
Dialogs updated header comment Feb 12, 2017
Documents updated header comment Feb 12, 2017
DragDrop updated header comment Feb 12, 2017
Drawable updated header comment Feb 12, 2017
DynCode/ListLoader updated header comment Feb 12, 2017
EmPubLite-AndroidStudio updated all projects to Gradle 2.14.1 and Android Plugin for Gradle 2… Jan 7, 2017
EventBus updated header comment Feb 12, 2017
Files/FilesEditor updated header comment Feb 12, 2017
Focus/Sampler updated header comment Feb 12, 2017
Fonts/FontSampler updated header comment Feb 12, 2017
Fragments updated header comment Feb 12, 2017
Gradle updated header comment Feb 12, 2017
GridLayout/Sampler updated header comment Feb 12, 2017
HTTP updated header comment Feb 12, 2017
InputMethod updated all projects to Gradle 2.14.1 and Android Plugin for Gradle 2… Jan 7, 2017
Intents updated header comment Feb 12, 2017
Internet updated header comment Feb 12, 2017
Introspection updated header comment Feb 12, 2017
JNI/WeakBench updated all projects to Gradle 2.14.1 and Android Plugin for Gradle 2… Jan 7, 2017
JVM/InterpreterService updated header comment Feb 12, 2017
Jank updated header comment Feb 12, 2017
Java8/VideoLambda updated header comment Feb 12, 2017
JobScheduler updated header comment Feb 12, 2017
KBMouse updated header comment Feb 12, 2017
LargeScreen updated header comment Feb 12, 2017
Leaks updated header comment Feb 12, 2017
Leanback/VideoBrowse updated header comment Feb 12, 2017
Loaders/ConstantsLoader updated header comment Feb 12, 2017
Location updated header comment Feb 12, 2017
Manifest updated header comment Feb 12, 2017
MapsV2 updated header comment Feb 12, 2017
Media updated header comment Feb 12, 2017
MediaProjection updated header comment Feb 12, 2017
MediaRouter updated header comment Feb 12, 2017
MiscSecurity/SigDump updated header comment Feb 12, 2017
MiscUI/DelayedTimeout updated header comment Feb 12, 2017
MultiWindow updated header comment Feb 12, 2017
NFC updated header comment Feb 12, 2017
NavDrawer updated header comment Feb 12, 2017
Notifications updated header comment Feb 12, 2017
PDF updated header comment Feb 12, 2017
Parcelable/Marshall updated header comment Feb 12, 2017
Percent/Comparison updated header comment Feb 12, 2017
Permissions updated header comment Feb 12, 2017
Phone/Dialer updated header comment Feb 12, 2017
Prefs updated header comment Feb 12, 2017
Presentation updated header comment Feb 12, 2017
Printing/PrintManager updated header comment Feb 12, 2017
Progress updated header comment Feb 12, 2017
RecyclerView updated header comment Feb 12, 2017
RecyclerViewPager updated header comment Feb 12, 2017
RemoteViews updated header comment Feb 12, 2017
RestrictedProfiles updated header comment Feb 12, 2017
RichText/Search updated header comment Feb 12, 2017
Rx updated header comment Feb 12, 2017
SMS updated header comment Feb 12, 2017
SSL new sample apps Feb 12, 2017
Search/Lorem updated header comment Feb 12, 2017
Selection updated header comment Feb 12, 2017
Sensor/Monitor updated header comment Feb 12, 2017
Service updated header comment Feb 12, 2017
Skeleton/Now updated header comment Feb 12, 2017
Styles/NowStyled updated header comment Feb 12, 2017
SystemEvents updated header comment Feb 12, 2017
SystemServices updated header comment Feb 12, 2017
Tapjacking/RelativeSecure updated all projects to Gradle 2.14.1 and Android Plugin for Gradle 2… Jan 7, 2017
Tasks updated header comment Feb 12, 2017
Testing updated header comment Feb 12, 2017
Threads updated header comment Feb 12, 2017
Toolbar updated header comment Feb 12, 2017
UnitTest updated header comment Feb 12, 2017
ViewPager updated header comment Feb 12, 2017
Views updated header comment Feb 12, 2017
WebKit updated header comment Feb 12, 2017
WebServer updated header comment Feb 12, 2017
WidgetCatalog updated header comment Feb 12, 2017
external updated Gradle files for AS 1.0/Gradle for Android 1.0 Dec 9, 2014
LICENSE initial import Mar 12, 2012
README.markdown Update README.markdown Jan 25, 2017

README.markdown

About the Book

The Busy Coder's Guide to Android Development is a book covering Android application development, from basics through advanced capabilities. It is updated several times a year and is available through the Warescription program. Subscribers also have access to office hours chats and other benefits.

This repository contains the source code for the hundreds of sample apps profiled in the book. These samples are updated as the book is, with git tags applied to tie sample code versions to book versions.

The book, and the samples, were written by Mark Murphy. You may also have run into him through Stack Overflow:

profile for CommonsWare at Stack Overflow, Q&A for professional and enthusiast programmers

About the Code

All of the source code in this archive is licensed under the Apache 2.0 license except as noted.

The names of the top-level directories roughly correspond to a shortened form of the chapter titles. Since chapter numbers change with every release, and since some samples are used by multiple chapters, I am loathe to put chapter numbers in the actual directory names.

Using in Android Studio

All of the projects should have a build.gradle file suitable for importing the project into Android Studio. Note, though, that you may need to adjust the compileSdkVersion in build.gradle if it requests an SDK that you have not downloaded and do not wish to download. Similarly, you may need to adjust the buildToolsVersion value to refer to a version of the build tools that you have downloaded from the SDK Manager.

The samples also have stub Gradle wrapper files, enough to allow for easy import into Android Studio. However, always check the gradle-wrapper.properties file before importing anything into Android Studio, as there is always the chance that somebody has published material linking you to a hacked Gradle installation.

Using with Command-Line Gradle

Right now, you will need your own local installation of Gradle 2.1 in order to build the projects from the command line, as the repository does not contain gradlew or its corresponding JAR for security reasons.

List of Samples