Android in Practice

Charlie Collins, Michael Galpin, Matthias Kappler

ISBN: 9789350042397

648 pages

INR 699


Android in Practice is treasure trove of Android goodness, with over 100 tested, ready-to-use techniques including complete end-to-end example applications and practical tips for real world mobile application developers. Written by real world Android developers, this book addresses the trickiest questions raised in forums and mailing lists. Using an easy-to-follow problem/solution/discussion format, it dives into important topics not covered in other Android books, like advanced drawing and graphics, testing and instrumentation, building and deploying applications, using alternative languages and native development.

Part 1 Background and fundamentals

1 Introducing Android

1.1 Android in a nutshell

1.2 Hello Android!

1.3 Java, but not Java Java

1.4 Linux, but not Linux Linux

1.5 More capabilities with native libraries

1.6 Tools of the trade

1.7 Summary

2 Android application fundamentals

2.1 The DealDroid application

2.2 Core building blocks

2.3 Application manifest

2.4 Resources

2.5 Layout, views, and widgets

2.6 Activities

2.7 Adapters

2.8 Intents and IntentFilters

2.9 The Application object

2.10 Summary

3 Managing lifecycle and state

3.1 Defining an Android application

3.2 Knowing the Activity lifecycle

3.3 Controlling Activity instance state

3.4 Getting things done within a task

3.5 Summary

Part 2 Real world recipes

4 Getting the pixels perfect

4.1 The MyMovies application

4.2 View hierarchies and rendering

4.3 Arranging views in layouts

4.4 Expanding on ListView and Adapter

4.5 Applying themes and styles

4.6 Working with drawables

4.7 Creating portable user interfaces

4.8 Summary

5 Managing background tasks with Services

5.1 It’s all about the multitasking

5.2 Why services and how to use them

5.3 Scheduling and Services

5.4 Summary

6 Threads and concurrency

6.1 Concurrency in Android

6.3 Working with AsyncTask

6.4 Miscellaneous techniques

6.5 Summary

7 Storing data locally

7.1 Reading and writing files

7.2 Maintaining preferences

7.3 Working with a database

7.4 Inspecting SQLite databases

7.5 Summary

8 Sharing data between apps

8.1 Process-to-process sharing

8.2 Accessing common data

8.3 Summary

9 HTTP networking and web services

9.1 Basic HTTP networking

9.2 Consuming XML and JSON web services

9.3 How to gracefully recover from network failures

9.4 Summary

10 Location is everything

10.1 A brief introduction to geospatial coordinates

10.2 Location managers, providers, and listeners

10.3 Building a map-based application

10.4 Summary

11 Appeal to the senses using multimedia

11.1 Features too good for a feature phone

11.2 Managing media

11.3 Media playback

11.4 Capturing input

11.5 Summary

12 2D and 3D drawing

12.1 Drawing with the 2D libraries

12.2 3D and OpenGL ES

12.3 Summary

Part 3 Beyond standard development

13 Testing and instrumentation

13.1 Testing the Android

13.2 Pulling strings: Android instrumentation

13.3 Beyond instrumentation: mocks and monkeys

13.4 Summary

14 Build management

14.1 Building Android applications

14.2 Managing builds with Maven

14.3 Build servers and continuous builds

14.4 Summary

15 Developing for Android tablets

15.1 Tablet prep

15.2 Tablet fundamentals

15.3 Summary

Appendix A Debugging tools of the trade

Appendix B Extending Android development

Appendix C ProGuard

Appendix D monkeyrunner