Java Programming for Android Developers for Dummies

Java Programming for Android Developers for Dummies

So you want to learn Java for Android Development. You know very little about programming, but you heard about this book online with good reviews, called “Java Programming for Android Developers for Dummies,” and you think, “well this looks like exactly what I need! I wonder if it has everything I need to know in order to make the next hit app on the Android app store…” 

If the above description sounds like you, then this article is for you. This article is intended to help you decide whether or not Barry Burd’s popular For Dummies book on Android Development is worth your time, money, and effort. Right off the bat: if you already have programming experience, and understand the basic ideas behind software development, this book may be too basic for you.

Here’s a little pop quiz–if you understand the main ideas behind most of these basic software engineering terms, then this book is not right for you: compilers, virtual machines, primitive data types, methods, pass-by-value vs. pass-by-reference, classes, control flow (if-statements and loops), object-oriented programming, and inheritance. If you’ve never heard of any of these terms before, or have but don’t know what they mean, then you may be the target audience of this book. Now, for a brief overview of the author and publisher of this book.

Barry Burd is a professor of computer science and mathematics at Drew University. He is well known for his contributions to the For Dummies series, including Java For Dummies, Beginning Programming with Java for Dummies, and Android Application Development All-in-One for dummies. Burd has since published a second edition of Java Programming for  Android Developers, which includes updated information and sample code.

Both were published under Wiley, a popular publishing company based in the U.S. Wiley is a nation-wide popular educational publisher, which publishes a plethora of books on a variety of topics. They are best known for their For Dummies series, which is aimed at introducing foundational concepts of any discipline to absolute newcomers while assuming little to no prior knowledge in the subject.

So why is this particular book so popular? Well, for one, Android runs more than half the smartphones in the U.S., and Java is what makes this possible. This book is aimed at newcomers to technology, who are intrigued by Android and are interested in making their first Android app. It has done so well because it has packaged a lot of the main ideas of software engineering and good programming design, and made them palatable for a wider audience. The For Dummies has brought computer programming and science out from the silos of computer nerds and presented it in an easily understandable fashion for the general public.

The main ideas and skill-sets this book is intended to teach you are: understanding compilers, virtual machines, and the basics of how computers understand code creating a basic Android program from start to finish, and mastering the fundamental concepts and techniques in Java development, including debugging your code. The next portion of this article is dedicated to briefly covering and summarizing the table of contents of this book. After that, we will briefly cover the larger-picture pros and cons of this book based on popular reviews.

  • Getting Started (Chapters 1-3)
    • Chapter 1: All about Java and Android
      • The Consumer Perspective
        • If you have a smartphone, it’s probably either an iPhone or Android. 
        • iPhone
      • Pros: great graphics
      • Cons: lack of flexibility, the approval process of app store
        • Android
      • Pros: a popular, open platform with “industry support and powerful market momentum,” not having to post software on the company’s site unlike Apple, aka no approval process. 
      • Con: security, being made fun of by iPhone users.
      • The Developer Perspective
        • An intro to Java, Linux, and XML; why these technologies are so popular and beloved amongst developers
      • From Development to Execution
        • What is a compiler? What is a virtual machine (VM)?
      • Writing bytecode is the compilers job.
      • Deciphering it is the VM’s job.
    • Chapter 2: Getting the Tools That You Need
      • Installing Java, and downloading Android software tools
      • Understanding Eclipse as an Integrated Development Environment (IDE)
      • Configuring Eclipse. Code examples from the book.
    • Chapter 3: Running Standard Java Programs
      • Writing your own Java code and debugging it
      • Familiarizing yourself with your IDE (Eclipse)
    • Chapter 4: Creating an Android App
      • Writing an elementary Android app
      • Basic troubleshooting
      • Testing your app on an emulator or your phone
  • Java Basics (Chapters 4-8)
    • Chapter 5: An Ode to Code
      • Understanding Java statements
      • Writing a Java console app
      • Understanding the Android boilerplate’s activity
    • Chapter 6: Java’s Building Blocks
      • Assigning values to things
      • Making things store certain types of values
      • Applying operators to get new values
      • Primitive types, variables, operations, and the basics of binary
    • Chapter 7: Though These Be Methods, Yet There Is Madness isn’t 
      • Methods. Matching Java Types.
      • Calling methods effectively and understanding parameters
      • Return types
      • Pass-by-Value (passed parameters are copied, not referenced)
    • Chapter 8: What Java Does (and When)
      • Making decisions and repeating actions
      • In programmer’s terminology: control flow, loops.
    • Object-Orienting Programming Essentials (Chapters 9-10)
      • Chapter 9: Why Object-Oriented Programming Is Like Selling Cheese
        • An analogy of OOP to cheese vending
      • Cheese differs in properties like kind, weight, and days aged, but in the end, they are all cheese.
      • Object-oriented-programming tries to capture the similarities in cheese in a blueprint called a “class,” and the properties of each object in a class are what differentiate different types of “cheese.” 
      • Chapter 10: Saving Time and Money: Reusing Existing Code
        • Why OOP is used to reuse and iterate code without spending a fortune
        • Extending classes, understanding inheritance
    • Android and Java (Chapters 11-14)
      • Chapter 11: A Simple Android Example: Responding to Button Click
        • A simple example of buttons
        • Putting a class inside another class (nested classes)
      • Chapter 12: Dealing with a Bunch of Things at a Time
        • Dealing with many objects
        • Creating versatile classes and methods
        • Stepping through a list of items
        • Primitive-versus-reference-type ‘gotchas’ in Java
          • ArrayList<int> not ok. ArrayList<Integer> ok.
        • Collections and Iterators for them.
        • Arrays
      • Chapter 13: An Android Social Media App
        • Posting on Twitter with Android code
        • Tweeting with your app on a user’s behalf
        • Java exceptions, basics of getting OAuth tokens
      • Chapter 14: Hungry Burds: A Simple Android Game
        • Nice pun, Burd!
        • Creating a very simple game using Android animation
        • Saving data from one run to another
    • Tips and Sources (Chapters 15-16)
      • Chapter 15: Ten Ways to Avoid Mistakes
        • Tips for debugging: putting methods, listeners, and constructors where they belong. Using static and nonstatic references. 
      • Chapter 16: Ten Websites for Developers
        • Resources to learn more

The biggest pro of this book is that it is practical and contains real-world examples with example code and instructions for how to set up your development environment and write your first Android app. It also has simple and fun text which is easy to read and humorous at times! This makes the learning process much more enjoyable, and suitable for learning with no background in Java or Android development.

The biggest con of this book is that, although it takes you along the learning process step-by-step most of the way, there are too many “figure out for yourself” portions of the book (at least in the 2nd edition). Since Burd was trying to keep the book simple, non-cluttered, and focused on the basics, there are some parts of the books which do not go in-depth enough. To be fair, this is to be expected of a book marketed towards newcomers to technology and programming. Some cons specific to the 1st edition of the book are that some of the code is outdated, and some important new Java features are missing in this edition.

Overall, if most of the information in the summary/outline above seems foreign to you, and you want a digestible book to step you through your first Android app, then this book is right for you. If you feel like you just did some basic review while reading the summary above, however, then you probably don’t need to waste your money and time on this book. Hope this article was helpful!

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top