Source Code
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:
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
ACRA/
Accessibility/
ActionBar/
ActionMode/
Activities/
AlarmManager/
Animation/
AppCompat/
AppWidget/
Assist/
Backup/
Bandwidth/
Basic/
BasicMaterial/
Binding/
Bitmaps/
Calendar/
Camera/
ConfigChange/
Contacts/
Containers/
ContentProvider/
CPU-Java/
Database/
DataBinding/
DesignSupport/
DeviceAdmin/
Diagnostics/
Dialogs/
Documents/
DragDrop/
Drawable/
EventBus/
Files/
Focus/
Fonts/
Fragments/
GridLayout/
HTTP/
InputMethod/
Intents/
Internet/
Introspection/
Jank/
JNI/
JobScheduler/
JVM/
KBMouse/
LargeScreen/
Leaks/
Leanback/
Loaders/
Location/
Manifest/
MapsV2/
Media/
MediaProjection/
MediaRouter/
MiscSecurity/
MiscUI/
MultiWindow/
NavDrawer/
NFC/
Notifications/
Parcelable/
Percent/
Permissions/
Phone/
Prefs/
Presentation/
Printing/
Progress/
RecyclerView/
RestrictedProfiles/
RichText/
Selection/
Sensor/
Service/
SMS/
Styles/
SystemEvents/
SystemServices/
Tapjacking/
Tasks/
Testing/
Threads/
Toolbar/
UnitTest/
ViewPager/
Views/
WebKit/
WebServer/
WidgetCatalog/
Comments
Post a Comment