Learning Android
Building Applications for the Android Market
Publisher: O'Reilly Media
Released: March 2011
Pages: 270

Want to build apps for Android devices? This book is the perfect way to master the fundamentals. Written by an expert who's taught this mobile platform to hundreds of developers in large organizations, this gentle introduction shows experienced object-oriented programmers how to use Android’s basic building blocks to create user interfaces, store data, connect to the network, and more.

You'll build a Twitter-like application throughout the course of this book, adding new features with each chapter. Along the way, you'll also create your own toolbox of code patterns to help you program any type of Android application with ease.

  • Get an overview of the Android platform and discover how it fits into the mobile ecosystem
  • Learn about the Android stack, including its application framework, and the structure and distribution of application packages (APK)
  • Set up your Android development environment and get started with simple programs
  • Use Android’s building blocks—Activities, Intents, Services, Content Providers, and Broadcast Receivers
  • Learn how to build basic Android user interfaces and organize UI elements in Views and Layouts
  • Build a service that uses a background process to update data in your application
  • Get an introduction to Android Interface Definition Language (AIDL) and the Native Development Kit (NDK)
Table of Contents
Product Details
About the Author
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
O'Reilly MediaLearning Android
 
3.9

(based on 10 reviews)

Ratings Distribution

  • 5 Stars

     

    (3)

  • 4 Stars

     

    (5)

  • 3 Stars

     

    (1)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (1)

80%

of respondents would recommend this to a friend.

Pros

  • Helpful examples (9)
  • Easy to understand (8)
  • Well-written (6)
  • Accurate (4)

Cons

    Best Uses

    • Intermediate (7)
    • Expert (4)
    • Novice (3)
    • Student (3)
      • Reviewer Profile:
      • Developer (6)

    Reviewed by 10 customers

    Sort by

    Displaying reviews 1-10

    Back to top

    (6 of 10 customers found this review helpful)

     
    1.0

    Dated

    By glenndrives

    from Norfolk, VA

    Verified Reviewer

    Comments about O'Reilly Media Learning Android:

    I am new to Android programming and picked this book up. Because Android has moved on past Gingerbread there are coding examples in the book that do not work and it is difficult to find answers / work-arounds.
    If you are looking for a good beginner's book try to find one that is more current, or at least the autor and publisher is trying to keep current work-arounds easily available.

    (5 of 5 customers found this review helpful)

     
    4.0

    Great to understand the whole system

    By Jernfrost

    from Oslo, Norway

    About Me Developer

    Verified Reviewer

    Pros

    • Easy to understand
    • Helpful examples

    Cons

    • Not comprehensive enough

    Best Uses

    • Expert
    • Intermediate

    Comments about O'Reilly Media Learning Android:

    Great book for understanding the whole Android system. The example application is well thought out because it allows the author to cover all the different aspects of Android development in a natural way. I also liked that the book isn't that thick. It is quite to the point and you can learn a lot fairly quickly. It is good at showing the big picture.

    The downside from my point of view compared to iOS books I have read (I am new to Android) is that is very lacking in describing the UI. After reading this book I have very limited knowledge about how you can create a nice looking and sophisticated GUI. I really just know really basic stuff like lists, buttons and text fields.

    (2 of 2 customers found this review helpful)

     
    5.0

    Like having an experienced mentor

    By Scott

    from Houston, TX

    About Me Java Developer

    Verified Reviewer

    Pros

    • Accurate
    • Concise
    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

    • Omits Android Market

    Best Uses

    • Experienced with Java
    • New to Android

    Comments about O'Reilly Media Learning Android:

    I have been wanting to learn how to develop for Android for over a year now. I just didn't know where to start. I poked around the Android Web site, but even that seemed overwhelming. I just needed someone to show me the ropes about how to get started, then I could run with it.

    Marko Gargenta has done that for me. His book, "Learning Android", is a 200+ page tutorial covering all of the most essential areas of Android development. The sample application is well chosen - a simple Twitter-like front end. This covers user interface, networking, internal services, security, and data storage - most things you will want to know when getting started. What I most appreciated was that he doesn't just walk you through the steps of how to create the different parts of the app. He walks you through a development discipline using best practices: what order things should be done, how to structure support files, etc. He is like an experienced mentor helping you to do things the right way from the beginning.

    Things change fast in Android technology, so some of what he describes has changed since the book was published. For instance, he starts by walking you through setting up your development environment. Having a completely clean system, I tried to follow his instructions, but got stuck when I didn't have an Android Virtual Device defined yet. So I poked around and figured out how to make that work. Then I noticed that the AVD Manager was described in the next section. I learned to read ahead and be flexible regarding changes to the development environment in the rest of the tutorial.

    In addition to the tutorial, he gives a nice introduction to using system services, with the code described in helpful detail. He also gives a quick overview of the Android Interface Definition Language, and even a nod to the Native Development Kit.

    One notable oversight is that there is no discussion about how to post your app to the Google App Market. Since the subtitle for the book is, "Building Applications for the Android Market", I found the omission surprising.

    In short, the book provides an excellent introduction to the Android platform and development tools, and a good development methodology. For anyone new to Android development, this would be a great place to start.

    (3 of 5 customers found this review helpful)

     
    4.0

    Android development startup

    By Eugen Cojocaru

    from Sibiu, Romania

    About Me Developer, Educator

    Verified Reviewer

    Pros

    • Easy to understand
    • Helpful examples

    Cons

      Best Uses

      • Expert
      • Intermediate

      Comments about O'Reilly Media Learning Android:

      Learning Android
      Building Applications for the Android Market
      Marko Gargenta
      O'Reilly Media, 2011
      268 pages
      978-1-449-39050-1

      This book's scope is to offer an overview of Android platform and set fundamental knowledge in order to start developing platform oriented applications. The author describe this book as being the result of observations during multiple training courses and a "perfect way to master the fundamentals".

      Author's experience in training people makes him one of the most recomanded person to create a book like this. His approach using the step by syep presentation and examples is the perfect way to achieve the main objective: learn how to build applications for Android market.

      Along with the details regarding Android platform and how to build applications for it, one of the book's objective is to follow the development of a social networking application (Twitter like). The development is also made step by step creating new modules and features in each chapter. Source code pieces are well highlighted, followed by explanations and together with screenshots and diagrams facilitates a lot the study process and also the development of the training application. The way this book "is gluing" the technical parts without missing modules from the software development cycle, allows the reader to build an Android application from scratch to it's final form.

      The author makes a perfect transition from basic to more complex details and when you will finish the book you will realize that you have built an Android application and you have learned the fundamentals of developing applications for Android market without much effort.

      As an assessment of the book place in the literature of its subject, I consider this book to be among best publications in it's category for the targeted public. The information is structured in a way that makes the learning process much easier than other similar books.

      From the Java developer's point of view, I think the content of the book is easy to understand and I recommend it to everyone who would like to study the fundamentals of Android application development. Even that for a good understanding, the author is asking at least oriented programming skills, I belive that this should be used by intermediate developers in order to understand completely it's content.

      (3 of 4 customers found this review helpful)

       
      5.0

      Great book for learning Android

      By Ittichai C.

      from Chicago, IL

      Verified Reviewer

      Pros

      • Accurate
      • Easy to understand
      • Helpful examples
      • Well-written

      Cons

      • Basic Java is required

      Best Uses

      • Intermediate
      • Novice
      • Student

      Comments about O'Reilly Media Learning Android:

      As a consumer of both Android phone and tablet myself, I have an interest in learning about this platform and hopefully writing some applications on it. I've read many Android books before. Most cover a lot of topics but without coherence - you feel like you learn a lot about many things but you still can't put them together to make them work well. This book is one of the few books I really like. It walks you through creating a reasonably complex application from scratch. Not only the author explains the concepts and sample codes really well, but he also guides you through his thinking and design process on how to write a good application. The latter, I think, is more important for laying a good foundation for writing other applications in the future. The tips, suggestions, and notes throughout the book show you that Marko really understands what works and what does not.

      I highly recommend this book to everyone who has an interest in learning about programming on Android and would like to build a good foundation on good programming practices. People who know Java programming language should have no problem following the sample codes presented in the book. But for those who don't, I suggest getting yourself familiar with Java first. (Obviously if you don't plan to use any other mobile cross-platform or rapid development tools, you must write in Java codes.) Knowing it a bit will help you tremendously with understanding the sample codes. Needless to say, you can still pretty much read for concepts, tips, and even some codes because the explanation from the author is very precise and clear.

      It took me a longer time to finish this book because my plan is not to just read through it, but also write the sample application along with it. At the end I'm proud to say that I've successfully coded the Yamba application.

      (1 of 3 customers found this review helpful)

       
      5.0

      Great resource for Android developers!

      By Nick Zimmerman

      from Davenport, IA

      About Me Designer, Developer, Maker

      Verified Reviewer

      Pros

      • Easy to understand
      • Helpful examples
      • Well-written

      Cons

        Best Uses

        • Intermediate
        • Novice

        Comments about O'Reilly Media Learning Android:

        Learning Android by Marko Gargenta is a well-written guide for getting started developing Android applications. It is targeted at programmers that have some level of Java development experience, but you need not be a Java expert by any stretch to make good use of this book. As long has you have a fundamental understanding of Java programming, this book will serve as a great guide to developing Android applications.

        Even though many more advanced developers will not need the opening sections on choosing a development environment, these sections should be read by all. The information it contains on making your development environment efficient, and avoiding some frustrating pitfalls that can hamper even experienced developers is invaluable.

        The book does a great job of explaining the architecture and workings of the Android environment without getting sidetracked or being too technical. This straightforward approach to explaining the key concepts of the operating system and how it interacts with applications makes this book an invaluable reference for any programming working in the Android environment.

        The most helpful feature of the book is that it walks through developing a Twitter client application from concept to completion using practical software development techniques. You not only get the benefit of learning how to develop a robust Android application, but you learn to use iterative development to construct and improve an application.

        Marko Gargenta provides an amazing book that allows you to learn how to build Android applications while also learning how to make use of modern software development practices. This book is a must read for anyone wanting to develop and market Android applications.

        (2 of 3 customers found this review helpful)

         
        4.0

        Based one-day class on this book

        By swCL

        from Boston, MA

        About Me Developer

        Verified Reviewer

        Pros

        • Easy to understand
        • Helpful examples
        • Well-written

        Cons

          Best Uses

          • Intermediate
          • Novice
          • Student

          Comments about O'Reilly Media Learning Android:

          I chose to base the class on this book because it covered well almost all the aspects of the Android SDK/framework that I had found through trial-and-error on my own are very useful to know.

          Sure, there are shortcomings that I can cite, but there is now a sizable contribution from readers in the online Errata page (both confirmed and unconfirmed), so such 'first-edition' issues should become less and less of a consideration. I say that with some confidence since I've contributed a fair number of errata (unconfirmed) entries myself ;)

          I consider my developer level as intermediate, and I am entirely satisfied with the book. The demo app is just right, and was a great pedagogical tool in my learning journey with this book. The author is founder of a training company dedicated to open-source training, and his personal experience in having given boot-camp and corporate training sessions on the subject clearly shows in both the materials covered and the tips sprinkled in the book. You would not be left wondering 'where's the beef.'

          (2 of 5 customers found this review helpful)

           
          3.0

          Welcome to Android's world

          By Michal Konrad Owsiak

          from Poland

          About Me Developer

          Verified Reviewer

          Pros

          • Easy to understand
          • Helpful examples

          Cons

          • Not comprehensive enough
          • Too basic

          Best Uses

          • Student

          Comments about O'Reilly Media Learning Android:

          Developing Android based application is like any other development. You have to get tools, learn basics and explore the details of the API. Learning Android covers first two topics.

          First of all, you can get the overview of Android, what it does, who develops it and so forth. You can call it an overview from 9K feet height. After that you are explained how Android is organized and how all the system layers are organized. This is quite useful part because you can get the feeling what to expect when it comes to the API. Then you will be guided through the initial setup that allows you to develop Android based applications. This part is quite useful, because it allows you to get all the information required for preparing development environment. You will be, literally, lead step by step how to configure everything (at this point you can tell that Marko has some experience when it comes to providing people with tutorials - you are simply not able to go wrong here). One remark here. Marko doesn't mention that you have to set-up Android's SDK location before you proceed with "Hello world" example. In order to do this, you have to go to: Eclipse -> Preferences -> Android -> SDL Location and set proper SDK location. He also forgets to mention that after setting up ADT you have to go to: and install all the packages that are required for Android development.

          After you are ready to go with coding, there is a place for getting familiar with Android's API. Here, Marko provides you with information related to Various aspects of Android related development. In general, it's fine, but there is one drawback. Marko tries to provide you with the knowledge related to Android by conducting you basing on hypothetical application (Yamba). It means, that through out the book you will be hooked to this application and you will try to approach it from various perspectives: UI, database, services, etc. This kind of approach ha it's pros and cons. Pros are that you can get the feeling of real application being developed using technology you are interested in. Cons are: you are stick to example project through out whole book, you can't jump between topics without the overview of the example of application. I generally prefer "Cookbook" series where you are presented a solution for particular issue.

          What I have missed most in this book are: HTTP communication within Android apps, Web Service calls within Android based applications, description of Android Market.

          In general, this book is OK, but definitely not perfect. I missed lots of topics to be covered here. On the other hand, it has quite well prepared introduction to Android, initial set up and Android's basics. This way, you are provided everything that allows you to start developing Android applications.

          Stay tuned, I will update this post as soon as I read some other books on Android. I'll tell you then, whether this book can compete with others or not.

          (0 of 1 customers found this review helpful)

           
          4.0

          Fun way to learn Android

          By Branden

          from Massachusetts

          About Me Sys Admin

          Verified Reviewer

          Pros

          • Accurate
          • Helpful examples
          • Well-written

          Cons

          • Difficult to understand

          Best Uses

          • Expert
          • Intermediate

          Comments about O'Reilly Media Learning Android:

          Overall, I really enjoyed this book.

          I'm coming from a relatively weak programming background, but I was able to follow along (you need some Java background to read this book). As you go through the chapters, you slowly build a Twitter app. I found it to be a useful and rewarding way to learn.

          My biggest criticism of the book are the code examples in the later chapters- they were incomplete. I found myself having to refer to the downloadable code as well as code from future chapters in order to get it to run. A bit annoying but, on the other hand, it helped me learn to troubleshoot a bit too.

          It's a challenging book to get through, there's a lot of material, but it's worth it. I definitely recommend it.

          (6 of 6 customers found this review helpful)

           
          4.0

          Efficient way to learn Android

          By deong

          from Reykjavík, Iceland

          About Me Developer, Educator

          Pros

          • Accurate
          • Concise
          • Easy to understand
          • Helpful examples
          • Well-written

          Cons

            Best Uses

            • Expert
            • Intermediate

            Comments about O'Reilly Media Learning Android:

            Learning Android is a very nice tour through developing Android applications. It's aimed at programmers who are comfortable with Java already, and doesn't waste any time getting into what's different about Android programming. If you're looking for a guide to save you a lot of time getting from "absolute Android beginner" to "comfortable consulting the API documentation on your own", I think Learning Android is quite a good choice.

            Most of the book is devoted to incrementally developing a simple Twitter app. Whether you like or dislike this style of exposition is something of a personal preference, but I will say the chapters are chosen pretty well, and aside from the obvious fact that later chapters assume the code from the previous ones, I never found myself needed to flip backwards a lot, which can sometimes be a problem with books that try to develop a single application over a few hundred pages.

            I think I'm probably representative of the target audience for this book. I have quite a bit of experience programming in various languages, and I'm an experienced iOS developer, but with no real prior exposure to Android programming. For me, the book was nearly ideal. I was able to breeze through it pretty easily while getting a very good basic overview. It's certainly targets Eclipse and the associated Android tools that go with it, but the book was generally careful to also at least show the actual files that were generated. As an emacs user who was going through the book using only the Android SDK tools, this was a helpful touch. One minor disappointment is that while the book does a nice job of explaining what Eclipse is doing so that you may do it yourself, it doesn't always provide much coverage of the Android SDK tools or how you would use them to accomplish the same tasks. You can generally find that information elsewhere, but going only by the book, you might sometimes think, "OK, so I need to create this XML file. I guess I can just type it in, but is there an SDK tool that generates the skeleton or do I just do it all by hand?"

            In terms of formatting, all the code samples and other text resources such as XML files were presented very nicely. The samples are annotated with footnote overlays that point you to a fuller description of important lines or content that has just been introduced. I noticed very few errors, either in code or in the text, and those I did see were typically minor annoyances rather than issues which change the meaning of a passage. I reviewed the ePub version of the book.

            My overall impression of the book is that if you have a reasonable amount of experience with Java, you can quickly get up to speed with quite a bit of what you need to start targeting Android devices using this book, which for my purposes, made it nearly ideal.

            Note that I received this book for free under the O'Reilly blogger review program.

            Displaying reviews 1-10

            Back to top

             
            Buy 2 Get 1 Free Free Shipping Guarantee
            Buying Options
            Immediate Access - Go Digital what's this?

            Available in Multiple Languages