DOC

Apress

By Wanda Wilson,2014-04-20 19:21
5 views 0
Apress

     A

    n Apress’s series is your source for understanding cutting-edge technology. Short, highly firstPress d

    ro focused, and written by experts, Apress’s firstPress books save you time and effort. They contain id the information you could get based on intensive research yourself or if you were to attend a

     E conference every other weekif only you had the time. They cover the concepts and techniques

    that will keep you ahead of the technology curve. Apress’s firstPress books are real books, in your ss

    , with no rough edges even when the technology choice of electronic or print-on-demand format en

    itself is still rough. You can’t afford to be without them. ti

    al

    s

    Android Essentials

    Dear Reader,

    Android This book covers the essential information required to build an Android applica-

    tion. It will help any developer, amateur, professional, or dabbler who is interested in

    developing for Android. Over the course of the book, I cover the essentials you’ll need

    to get started with your own innovative application. I took on this project because,

    after five years of working in the mobile software industry, it has become clear that we

    need help. With mobile devices becoming more ubiquitous, powerful, and, indeed,

    essential, fresh blood is necessary to overcome the stagnation that has plagued our

    business. As an industry, we need to graduate from making cookie-cutter ringtones,

    wallpaper, and e-mail applications. I hope, once you’ve finished this book, that you’ll Essentials be in a position to start that killer mobile product you’ve told all your friends you’re

    going to make.

    In Android Essentials , I cover the details of installing and using the Android SDK,

    making and rendering user interface tools, harnessing location tracking and Google

    Maps, and putting everything together with a little glue from XML parsers and net-

    working clients. These tools and tricks should be enough to get you past your empty

    editor, the daunting blank canvas of the developer world, and onto the path of your

    own innovative mobile app. Android potentially represents our best hope for a break

    from the constricted world of mobile development. Use it to make something amaz-

    ing. I can’t wait to see what you create.

    Regards,

    Chris Haseman

    Lead software engineer at Gravity Mobile

    RELATED TITLES

    Chris Haseman

    www.apress.com

    User level:

    BeginnerIntermediate

    About firstPress

    Apress's firstPress series is your source for understanding cutting-edge technology. Short, highly focused, and written by experts, Apress's firstPress books save you time and effort. They contain the information you could get based on intensive research yourself or if you were to attend a conference every other weekif only you had the time. They cover the concepts and techniques that will keep you ahead of the technology curve. Apress's firstPress books are real books, in your choice of electronic or print-on-demand format, with no rough edges even when the technology itself is still rough. You can't afford to be without them.

    Android Essentials

    Dear Reader,

    This book covers the essential information required to build an Android application. It will help any developer, amateur, professional, or dabbler who is interested in developing for Android. Over the course of the book, I cover the essentials you’ll need to get started with your own innovative application. I took on this project because, after five years of working in the mobile software industry, it has become clear that we need help. With mobile devices becoming more ubiquitous, powerful, and, indeed, essential, fresh blood is necessary to overcome the stagnation that has plagued our business. As an industry, we need to graduate from making cookie-cutter ringtones, wallpaper, and e-mail applications. I hope, once you’ve finished this book, that you’ll be in a position to start that killer mobile product you’ve told all your friends you’re going to make.

    In Android Essentials , I cover the details of installing and using the Android SDK, making and rendering user interface tools, harnessing location tracking and Google Maps, and putting everything together with a little glue from XML parsers and networking clients. These tools and tricks should be enough to get you past your empty editor, the daunting blank canvas of the developer world, and onto the path of your own innovative mobile app. Android potentially represents our best hope for a break from the constricted world of mobile development. Use it to make something amazing. I can’t wait to see what you create.

Regards,

    Chris Haseman

    Lead software engineer at Gravity Mobile

    Contents

    Chapter 1: Introduction...............................................................1

     What You Need to Know to Start............................................................1

     How to Best Use This Book....................................................................2

     Getting Started.........................................................................................2 Installing Eclipse...........................................................................................3 Getting the Android SDK..............................................................................3 Installing the Eclipse Plug-In........................................................................4

     The Android Project................................................................................5

     Running, Debugging, and Causing General Mayhem..........................8

    Chapter 2: The Application..........................................................9

     Getting Active..........................................................................................9 Getting Splashy...........................................................................................10

     Creating the Intent Receiver.................................................................19 Setting It Up................................................................................................19 Seeing the Intent Receiver in Action...........................................................23 Triggering the Activity................................................................................26

     Who Do You Want to Humiliate Today?.............................................29 Nervous with the Service............................................................................29 Zen and the Art of Getting Even.................................................................33

     Moving Data in Android.......................................................................34 Shameless Self-Promotion..........................................................................36 Adding Evil Corporate URLS with a Content Resolver.............................38

     Part of This Balanced Breakfast..........................................................39

    Chapter 3: User Interface..........................................................41

     Easy and Fast, the XML Layout...........................................................42 Laying Out...................................................................................................42 Scrolling, Text Entry, Buttons, and All the Simple Things in Life...........51

     Waking Up the Widgets.........................................................................55 Widgets in Java...........................................................................................59 Getting Under the Hood..............................................................................59

     Custom UI Rendering with the Canvas................................................67 Customizing the View.................................................................................67 Creating the Game Loop.............................................................................69 Bringing It All Together..............................................................................74

     Using the User Interface.......................................................................74

    Chapter 4: Location, Location, Location......................................75

     Where Am I?.........................................................................................75 Building the LocationManager Object........................................................76 Look Up, Wave, the Satellites Are Watching….........................................77

     Google Maps..........................................................................................80 A Metric Ton of Map Objects.....................................................................80 Moving the Map..........................................................................................82 Taking Stock................................................................................................84 It’s a Bird, It’s a Plane...Nope, It’s Bad Photoshoping...............................84 Wrapping Up...............................................................................................87

    Chapter 5: Taking Android Out for a Walk...................................89

     Loading a List from the Web................................................................89 First Things…First?....................................................................................90 Getting the Network in Gear.......................................................................92

    Putting the Data in Its Place........................................................................94

     Making a List and Checking It….........................................................95 The Setup: Embracing the List....................................................................95 Adding the Adapter.....................................................................................96 Stuffing Data into the Adapter....................................................................98 At Last, Adding the Data.............................................................................99 Selection…................................................................................................100

     The Next Step......................................................................................102 Dressing Up the Menu...............................................................................102

     Looking Back......................................................................................106

    Chapter 6: Tying on a Bow......................................................107

     The Making of an Application...........................................................107 Looks Aren’t Everything, Except, of Course, When They Are................107 Location Isn’t Too Important, Except When You Need Pizza at 4 a.m....108 Taking Off Android’s Leash and Letting It Romp Around the Internet...109 Overall.......................................................................................................109

     Other Sources of Information............................................................109 Getting Help..............................................................................................110

     It’s Time to Stop Reading and Start Helping.....................................110

    Copyright...............................................................................112

Android Essentials

    Chris Haseman So, you want to be an Android developer? Good, you’ve come to the right place. Whether you’re a dabbler, professional, hobbyist, or coding junkie, I hope you’ve picked up my book out of a desire to learn about the somewhat schizophrenic world that is mobile development. Specifically, I hope you’re interested in picking up the gauntlet thrown down by the Open Handset Alliance’s Android team.

    I took the opportunity to write this book because it’s clear that Android has the potential to open up the mobile space in ways that keep us jaded mobile programmers up late at night. Volumes could be written about the errors of past platforms and the shortsightedness of an industry whose greatest achievement, at least here in America, is selling several million ringtones. You and your peers can bring about a long-needed change to the industry, perhaps bringing a much- needed breath of fresh air to an environment that, over the years, appears to have stagnated. You’ll have to forgive my enthusiasm; it has been a long wait.

Chapter 1: Introduction

    Before you start, we’ll need to have a quick discussion about where you’re beginning.

    What You Need to Know to Start

    It is a natural question you may be asking yourself: is this book for you? Yes, obviously, it is because you’re reading it. However, I will make a few assumptions about your abilities:

     You understand Java; you can write it, read it, and grok it. Because this book

    is about the Android platform and not the language, I will be writing large

    amounts of Java code inline and assuming you can follow along. If your Java

    skills are rusty, I recommend checking out Apress’s wealth of Java

    information on its site (http://java.apress.com/).

     Some familiarity with other mobile platforms will help you. As you move

    through the book, I’ll make comparisons between Android and other mobile

    software development kits (SDKs). You don’t need to be a professional

    mobile developer to follow along by any means.

     You have superior hacker skills. OK, not really, but if you’re comfortable

    rolling up your proverbial sleeves and digging into the heart of a problem,

    you should feel right at home with this book.

     I will assume you have exactly zero experience developing for Android. If

    you’ve already mastered the basics, you may want to skip the first chapter

    and focus on the more advanced topics that follow.

    That wasn’t a big list, but it contained a few things that will help you follow the book with your sanity intact.

    Ideally, I want this book to be useful and valuable to anyone interested in developing applications for Android. Hobbyists will find a foundation here for their dream application. Mobile game developers will find the nuts and

    bolts of graphical output and user input. Multimedia and application developers will find all the tricks, tips, and core functionality they need to put together the next major killer app. If you’re a business-oriented person looking into porting your existing applications to Android, you’ll find invaluable information on how to accomplish exactly that. In short, this book has a lot to offer you no matter your desired outcome, experience, time, or interest.

    How to Best Use This Book

    The simple answer is to read it, but this may mean different things to different people. If you’re new to mobile development and Android, it would be best for you to treat this book as a tutorial. Follow along, chapter by chapter, until you have all the basics you need to get working. If you’re a more experienced Java and mobile programmer but are inexperienced with Android, you might want to treat this book as more of a reference manual after going through the first chapter to get a feel for things.

    Throughout this work, I will primarily use real-world examples as a means to get you comfortable with Android. This book may not have a huge appeal to those who are already established veteran Android developers. As I said before, I will start from a place that assumes no prior experience with this SDK. This book will start simple: a splash screen, a main menu, and some simple multimedia. I’ll then get into the more advanced concepts of Bluetooth, location-based services, background applications, and the other exciting features Android has to offer.

    Enough talking, it’s time to start.

    Getting Started

    It begins with installing the SDK. On a personal note, I’m doing all my development on Mac OS X with Eclipse. All screenshots, IDE information,

    tips, and tricks will be geared toward the Eclipse IDE. It seems the Android developers had the open source IDE Eclipse in mind, because they’ve released a plug-in that eases setup and debugging. For the sake of simplicity, I use Eclipse and the Open Handset Alliance’s Android. I do not endorse this setup over any other. I will, however, take a little bit of time to walk through downloading and configuring Eclipse to integrate it with Android. If you’re already up and running on the SDK, skip to ―The Android Project‖ section. Additionally, you can find a much more in-depth install guide on Google’s SDK installation page (http://code.google. com/android/intro/installing.html#installingplugin).

    Installing Eclipse

    Again, because Eclipse will be used in the book’s examples, download the full version at http://www.eclipse.org/downloads/.

    Be sure to get the Java EE version. It includes frameworks for a few editors that the full Google Eclipse plug-in will use. Install Eclipse; the default configurations should work just fine.

    Note With Windows and with the Mac, it’s a good idea to keep your

    files and SDK installation out of folders that contain spaces. Many tools such as Ant, among others, can be confused by spaces in folder names.

    Getting the Android SDK

    You can find the Android SDK on Google’s website at

    http://code.google.com/android/download.html.

    Grab it, download it somewhere handy, and then unpack it. I’ve put mine in my Development folder at /Developer/AndroidSDK.

    You can just as easily put the ZIP file anywhere on your filesystem. Just remember where you’ve stashed it, because you’ll need to tell Eclipse

    where it is later. It’s also a good idea, if you’re a Windows or Linux user, to add the location of the Android tools to your Path variable. Installing the Eclipse Plug-In

    I like graphical user interfaces (GUIs), provided they have hotkeys like the Eclipse IDE, when working with Android. To get more than basic functionally out of the process, you’ll need to download the Android Developer Tools. To install it from within Eclipse, follow the directions outlined by Google at http://code.google.com/android/intro/ installing.html#installingplugin.

    If you’ve already installed the older version of the SDK and the Eclipse plug-in, I recommend you go back and update it to M5-RC15 (or the latest version) now using the previously mentioned links. Enough has changed between the older version and the latest that the changing details could be confusing. If you correctly follow the directions but get an error when trying to install the Android editors, go back and install the full version of Java EE Eclipse. The basic Java SDK doesn’t include all the correct packages used by the Android plug-in.

    Don’t forget to point the Android plug-in to where you unpacked your copy of the SDK. It’ll be in Windows/Preferences/Android on the Android tab.

    Create a new project by selecting File New Android Project. Give the project and activity a pithy name of your choosing. You’ll also have to insert into your source package name at least one dot (.), such as apress. book.sample or crazy.flyingmonkey.application.

    Eclipse gives a fairly unhelpful error message if you forget to give it more than one name separated by dots. I can personally testify that this can be fairly frustrating if your brain is fried and you’re, say, trying to get a book done on a deadline.

Report this document

For any questions or suggestions please email
cust-service@docsford.com