Chapter 2: We begin in Chapter 2 with Patterns. You may already have some
familiarity with Android’s user interface (UI) patterns, which help create a consistent
user experience (UX) across multiple devices. You’ll also learn about how you can
use other libraries such as ActionBarSherlock and NineOldAndroids to help your
users on older devices get a more up-to-date Android experience.
Chapter 3: Following on from UI and UX patterns, Chapter 3 looks at implementing
the MVC and MVVM developer design patterns as an alternative to the standard
Android design before we dive deeply into Android Annotations and how that can
help you create clean understandable Android code.
Chapter 4: Chapter 4 takes a close look at the basic Agile elements of test-driven
Development (TDD), behavior-driven design (BDD), and continuous integration (CI)
that you can use during development. We look at the unit testing available in the
Android SDK and the benefits of looking further afield at tools such as Roboelectric,
Calabash, and Jenkins and how you can use them to create a more efficient Agile
Chapter 5: Android allows you to incorporate C++ code directly using the Android
NDK, but there can be a significant performance hit because of the context switch
between Java and C++. There are still times, however, when it makes more sense to
use new or existing C++ code in Android without porting it to Java. Chapter 5 looks
at the reasons when C++ is the right answer and the best way to approach using it
Chapter 6: Chapter 6 is an up-to-date look at several industry-standard Top 10
security lists that have emerged to give you a much better idea on the do’s and
don’ts of Android security. The chapter ends with a new list that combines the best
elements of Google and OWASP’s top 10 lists.
Chapter 7: Device testing can be the bane of Android development. Whether you
want to create your own testing platform or using one of the many online services
Chapter 8 looks at practical approaches to tame device fragmentation.
Chapter 8: For most Android applications in the business world, the Android part
of the application acts as a client to a back-end server. Information is usually but
not always sent as JSON via a REST API. Chapter 8 explores in depth how to talk
to both REST and SOAP APIs. You’ll learn how to create a REST API and why the
Richardson Maturity model is important for the longevity of your API. You’ll also
create your own web services using Google App Engine.