Pro Android 4. Satya Komatineni Dave MacLean

Size: px
Start display at page:

Download "Pro Android 4. Satya Komatineni Dave MacLean"

Transcription

1 Pro Android 4 Satya Komatineni Dave MacLean i

2 Pro Android 4 Copyright 2012 by Satya Komatineni and Dave MacLean This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher's location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. ISBN ISBN (ebook) Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The images of the Android Robot (01 / Android Robot) are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android and all Android and Google-based marks are trademarks or registered trademarks of Google, Inc., in the U.S. and other countries. Apress Media, L.L.C. is not affiliated with Google, Inc., and this book was written without endorsement from Google, Inc. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. President and Publisher: Paul Manning Lead Editor: Matthew Moodie Technical Reviewers: Eric Franchomme, Dylan Phillips, Michael Nguyen, Karim Varela Editorial Board: Steve Anglin, Ewan Buckingham, Gary Cornell, Louise Corrigan, Morgan Ertel, Jonathan Gennick, Jonathan Hassell, Robert Hutchinson, Michelle Lowman, James Markham, Matthew Moodie, Jeff Olson, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Gwenan Spearing, Matt Wade, Tom Welsh Coordinating Editor: Corbin Collins Copy Editor: Tiffany Taylor Compositor: MacPS, LLC Indexer: BIM Indexing & Proofreading Services Artist: SPi Global Cover Designer: Anna Ishchenko Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY Phone SPRINGER, fax (201) , ordersny@springer-sbm.com, or visit For information on translations, please rights@apress.com, or visit Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. ebook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales ebook Licensing web page at Any source code or other supplementary materials referenced by the author in this text is available to readers at For detailed information about how to locate your book s source code, go to

3 To my Dad, whose license let me take my own path. Satya Komatineni To my wife Rosie, who inspires me to pursue my dreams. To my son Mike, who keeps life interesting every day. And to my friends the Bighams (Dale, Heather, Eric, and Lizzie), whose amazing generosity has helped make this possible. Dave MacLean

4 Contents at a Glance Contents... vi About the Authors... xxi About the Technical Reviewers... xxii Acknowledgments... xxiv Preface... xxv Chapter 1: Introducing the Android Computing Platform... 1 Chapter 2: Setting Up Your Development Environment Chapter 3: Understanding Android Resources Chapter 4: Understanding Content Providers Chapter 5: Understanding Intents Chapter 6: Building User Interfaces and Using Controls Chapter 7: Working with Menus Chapter 8: Fragments for Tablets and More Chapter 9: Working with Dialogs Chapter 10: Exploring ActionBar Chapter 11: Advanced Debugging and Analysis Chapter 12: Responding to Configuration Changes Chapter 13: Working with Preferences and Saving State Chapter 14: Exploring Security and Permissions iv

5 AT A GLANCE Chapter 15: Building and Consuming Services Chapter 16: Exploring Packages Chapter 17: Exploring Handlers Chapter 18: Exploring the AsyncTask Chapter 19: Broadcast Receivers and Long-Running Services Chapter 20: Exploring the Alarm Manager Chapter 21: Exploring 2D Animation Chapter 22: Exploring Maps and Location-based Services Chapter 23: Using the Telephony APIs Chapter 24: Understanding the Media Frameworks Chapter 25: Home Screen Widgets Chapter 26: Exploring List Widgets Chapter 27: Touch Screens Chapter 28: Implementing Drag and Drop Chapter 29: Using Sensors Chapter 30: Exploring the Contacts API Chapter 31: Deploying Your Application: Android Market and Beyond Index v

6 Contents Contents at a Glance... iv About the Authors... xxi About the Technical Reviewers... xxii Acknowledgments... xxiv Preface... xxv vi Chapter 1: Introducing the Android Computing Platform... 1 A New Platform for a New Personal Computer... 1 Early History of Android... 3 Delving Into the Dalvik VM... 6 Understanding the Android Software Stack... 6 Developing an End-User Application with the Android SDK... 8 Android Emulator... 8 The Android UI... 9 The Android Foundational Components Advanced UI Concepts Android Service Components Android Media and Telephony Components Android Java Packages Taking Advantage of Android Source Code Browsing Android Sources Online Using Git to Download Android Sources The Sample Projects in this Book Summary Chapter 2: Setting Up Your Development Environment Setting Up Your Environment Downloading JDK Downloading Eclipse Downloading the Android SDK The Tools Window Installing Android Development Tools (ADT) Learning the Fundamental Components View... 31

7 Activity Fragment Intent Content Provider Service AndroidManifest.xml Android Virtual Devices Hello World! Android Virtual Devices Running on a Real Device Exploring the Structure of an Android Application Examining the Application Life Cycle Simple Debugging Launching the Emulator References Summary Interview Questions Chapter 3: Understanding Android Resources Understanding Resources String Resources Layout Resources Resource Reference Syntax Defining Your Own Resource IDs for Later Use Compiled and Uncompiled Android Resources Enumerating Key Android Resources Working with Arbitrary XML Resource Files Working with Raw Resources Working with Assets Reviewing the Resources Directory Structure Resources and Configuration Changes Reference URLs Summary Interview Questions Chapter 4: Understanding Content Providers Exploring Android s Built-in Providers Exploring Databases on the Emulator and Available Devices Quick SQLite Primer Architecture of Content Providers Structure of Android Content URIs Structure of Android MIME Types Reading Data Using URIs Using the Android Cursor Working with the where Clause Inserting Records Adding a File to a Content Provider Updates and Deletes Implementing Content Providers vii

8 viii Planning a Database Extending ContentProvider Fulfilling MIME-Type Contracts Implementing the Query Method Implementing an Insert Method Implementing an Update Method Implementing a Delete Method Using UriMatcher to Figure Out the URIs Using Projection Maps Registering the Provider Exercising the Book Provider Adding a Book Removing a Book Getting a Count of the Books Displaying the List of Books Resources Summary Interview Questions Chapter 5: Understanding Intents Basics of Android Intents Available Intents in Android Exploring Intent Composition Intents and Data URIs Generic Actions Using Extra Information Using Components to Directly Invoke an Activity Understanding Intent Categories Rules for Resolving Intents to Their Components Exercising the ACTION_PICK Exercising the GET_CONTENT Action Introducing Pending Intents Resources Summary Interview Questions Chapter 6: Building User Interfaces and Using Controls UI Development in Android Building a UI Completely in Code Building a UI Completely in XML Building a UI in XML with Code Understanding Android s Common Controls Text Controls Button Controls The ImageView Control Date and Time Controls The MapView Control Understanding Adapters Getting to Know SimpleCursorAdapter

9 Getting to Know ArrayAdapter Using Adapters with AdapterViews The Basic List Control: ListView The GridView Control The Spinner Control The Gallery Control Creating Custom Adapters Other Controls in Android Styles and Themes Using Styles Using Themes Understanding Layout Managers The LinearLayout Layout Manager The TableLayout Layout Manager The RelativeLayout Layout Manager The FrameLayout Layout Manager The GridLayout Layout Manager Customizing the Layout for Various Device Configurations References Summary Interview Questions Chapter 7: Working with Menus Understanding Android Menus Creating a Menu Working with Menu Groups Responding to Menu Items Working with Other Menu Types Expanded Menus Working with Icon Menus Working with Submenus Working with Context Menus Working with Alternative Menus Dynamic Menus Loading Menus Through XML Files Structure of an XML Menu Resource File Inflating XML Menu Resource Files Responding to XML-Based Menu Items Pop-up Menus in A Brief Introduction to Additional XML Menu Tags Resources Summary Interview Questions Chapter 8: Fragments for Tablets and More What Is a Fragment? When to Use Fragments The Structure of a Fragment A Fragment s Lifecycle ix

10 x Sample Fragment App Showing the Lifecycle FragmentTransactions and the Fragment Back Stack Fragment Transaction Transitions and Animations The FragmentManager Caution When Referencing Fragments Saving Fragment State ListFragments and <fragment> Invoking a Separate Activity When Needed Persistence of Fragments Communications with Fragments Using startactivity() and settargetfragment() Custom Animations with ObjectAnimator References Summary Interview Questions Chapter 9: Working with Dialogs Using Dialogs in Android Understanding Dialog Fragments DialogFragment Basics DialogFragment Sample Application Working with Toast Dialog Fragments for Older Android References Summary Interview Questions Chapter 10: Exploring ActionBar Anatomy of an ActionBar Tabbed Navigation Action Bar Activity Implementing Base Activity Classes Assigning Uniform Behavior for the Action Bar Implementing the Tabbed Listener Implementing the Tabbed Action Bar Activity Scrollable Debug Text View Layout Action Bar and Menu Interaction Android Manifest File Examining the Tabbed Action Bar Activity List Navigation Action Bar Activity Creating a Spinner Adapter Creating a List Listener Setting Up a List Action Bar Making Changes to BaseActionBarActivity Making Changes to AndroidManifest.xml Examining the List Action Bar Activity Standard Navigation Action Bar Activity Setting up the Standard Navigation Action Bar Activity Making Changes to BaseActionBarActivity Making Changes to AndroidManifest.xml

11 Examining the Standard Action Bar activity Action Bar and Search View Defining a Search View Widget as a Menu Item Casting a Search Results Activity Customizing Search Through a Searchable XML File Defining the Search Results Activity in the Manifest File Identifying the Search Target for the Search View Widget The Action Bar and Fragments References Summary Interview Questions Chapter 11: Advanced Debugging and Analysis Enabling Advanced Debugging The Debug Perspective The DDMS Perspective The Hierarchy View Perspective Pixel Perfect View Traceview The adb Command The Emulator Console StrictMode StrictMode Policies Turning Off StrictMode StrictMode with Old Android Versions StrictMode Exercise References Summary Interview Questions Chapter 12: Responding to Configuration Changes The Configuration Change Process The Destroy/Create Cycle of Activities The Destroy/Create Cycle of Fragments Using FragmentManager to Save Fragment State Using setretaininstance on a Fragment Deprecated Configuration Change Methods References Summary Interview Questions Chapter 13: Working with Preferences and Saving State Exploring the Preferences Framework Understanding ListPreference Understanding CheckBoxPreference Understanding EditTextPreference Understanding RingtonePreference and MultiSelectListPreference Organizing Preferences Using PreferenceCategory Creating Child Preferences with Dependency xi

12 xii Preferences with Headers Manipulating Preferences Programmatically Saving State with Preferences Using DialogPreference Reference Summary Interview Questions Chapter 14: Exploring Security and Permissions Understanding the Android Security Model Overview of Security Concepts Signing Applications for Deployment Performing Runtime Security Checks Understanding Security at the Process Boundary Declaring and Using Permissions Understanding and Using Custom Permissions Understanding and Using URI Permissions References Summary Interview Questions Chapter 15: Building and Consuming Services Consuming HTTP Services Using the HttpClient for HTTP GET Requests Using the HttpClient for HTTP POST Requests (a Multipart Example) SOAP, JSON, and XML Parsers Dealing with Exceptions Addressing Multithreading Issues Fun with Timeouts Using the HttpURLConnection Using the AndroidHttpClient Using Background Threads (AsyncTask) Getting Files Using DownloadManager Using Android Services Understanding Services in Android Understanding Local Services Understanding AIDL Services Defining a Service Interface in AIDL Implementing an AIDL Interface Calling the Service from a Client Application Passing Complex Types to Services References Summary Interview Questions Chapter 16: Exploring Packages Packages and Processes Details of a Package Specification Translating the Package Name to a Process Name Listing Installed Packages

13 Deleting a Package Through the Package Browser Revisiting the Package Signing Process Understanding Digital Signatures: Scenario Understanding Digital Signatures: Scenario A Pattern for Understanding Digital Signatures So How Do You Digitally Sign? Implications of the Signing Process Sharing Data Among Packages The Nature of Shared User IDs A Code Pattern for Sharing Data Library Projects What Is a Library Project? Library Project Predicates Creating a Library Project Creating an Android Project That Uses a Library Caveats to Using Library Projects References Summary Interview Questions Chapter 17: Exploring Handlers Android Components and Threading Activities Run on the Main Thread Broadcast Receivers Run on the Main Thread Services Run on the Main Thread Content Provider Runs on the Main Thread Implications of a Singular Main Thread Thread Pools, Content Providers, and External Service Components Thread Utilities: Discovering Your Threads Handlers Implications of Holding the Main Thread Using a Handler to Defer Work on the Main Thread Sample Handler Source Code That Defers Work Constructing a Suitable Message Object Sending Message Objects to the Queue Responding to the handlemessage Callback Using Worker Threads Invoking a Worker Thread from a Menu Communicating Between the Worker and the Main Threads Component and Process Lifetimes Activity Life Cycle Service Life Cycle Receiver Life Cycle Provider Life Cycle References Summary Interview Questions xiii

14 xiv Chapter 18: Exploring the AsyncTask Implementing a simple AsyncTask GettingPpast the Generics in AsyncTask Subclassing an Async Task Implementing Your First Async Task Calling an Async Task onpreexecute() Callback and Progress Dialog doinbackground() method Triggering onprogressupdate() onpostexecute() Method Upgrading to the Deterministic Progress Dialog Nature of an Async Task Device Rotation and AsyncTask Life Cycle Methods and AsyncTask References Summary Interview Questions Chapter 19: Broadcast Receivers and Long-Running Services Broadcast Receivers Sending a Broadcast Coding a Simple Receiver: Sample Code Registering a Receiver in the Manifest File Accommodating Multiple Receivers Out-of-Process Receivers Using Notifications from a Receiver Monitoring Notifications Through the Notification Manager Sending a Notification Starting an Activity in a Broadcast Receiver Long-Running Receivers and Services Long-Running Broadcast Receiver Protocol IntentService IntentService Source Code Extending IntentService for a Broadcast Receiver Long-Running Broadcast Service Abstraction A Long-Running Receiver Abstracting a Wake Lock with LightedGreenRoom Long-Running Service Implementation Details of a Nonsticky Service Details of a Sticky Service A Variation of Nonsticky: Redeliver Intents Specifying Service Flags in OnStartCommand Picking Suitable Stickiness Controlling the Wake Lock from Two Places Long-Running Service Implementation Testing Long-Running Services Your Responsibilities Framework Responsiblities

15 A Few Notes about the Project Download File References Summary Interview Questions Chapter 20: Exploring the Alarm Manager Alarm Manager Basics: Setting Up a Simple Alarm Getting Access to the Alarm Manager Setting Up the Time for the Alarm Creating a Receiver for the Alarm Creating a PendingIntent Suitable for an Alarm Setting the Alarm Test Project Exploring Alarm Manager Alternate Scenarios Setting Off an Alarm Repeatedly Cancelling an Alarm Working with Multiple Alarms Intent Primacy in Setting Off Alarms Persistence of Alarms Alarm Manager Predicates References Summary Interview Questions Chapter 21: Exploring 2D Animation Frame-by-Frame Animation Planning for Frame-by-Frame Animation Creating the Activity Adding Animation to the Activity Layout Animation Basic Tweening Animation Types Planning the Layout Animation Test Harness Creating the Activity and the ListView Animating the ListView Using Interpolators View Animation Understanding View Animation Adding Animation Using Camera to Provide Depth Perception in 2D Exploring the AnimationListener Class Notes on Transformation Matrices Property Animations: The New Animation API Property Animation Planning a Test Bed for Property Animation Basic View Animation with Object Animators Sequential Animation with AnimatorSet Setting Animation Relationships with AnimationSetBuilder Using XML to Load Animators Using PropertyValuesHolder xv

16 xvi View Properties Animation Type Evaluators Key Frames Layout Transitions Resources Summary Interview Questions Chapter 22: Exploring Maps and Location-based Services Understanding the Mapping Package Obtaining a Maps API Key from Google Understanding MapView and MapActivity Adding Markers Using Overlays Understanding the Location Package Geocoding with Android Geocoding with Background Threads Understanding the LocationManager Service Showing Your Location Using MyLocationOverlay Using Proximity Alerts References Summary Interview Questions Chapter 23: Using the Telephony APIs Working with SMS Sending SMS Messages Monitoring Incoming SMS Messages Working with SMS Folders Sending Working with the Telephony Manager Session Initiation Protocol (SIP) Experimenting with SipDemo The android.net.sip package References Summary Interview Questions Chapter 24: Understanding the Media Frameworks Using the Media APIs Using SD Cards Playing Media Playing Audio Content Playing Video Content Recording Media Exploring Audio Recording with MediaRecorder Recording Audio with AudioRecord Exploring Video Recording Exploring the MediaStore Class Recording Audio Using an Intent Adding Media Content to the Media Store

17 Triggering MediaScanner for the Entire SD Card References Summary Interview Questions Chapter 25: Home Screen Widgets Architecture of Home Screen Widgets What Are Home Screen Widgets? User Experience with Home Screen Widgets Life Cycle of a Widget A Sample Widget Application Defining the Widget Provider Defining Widget Size Widget Layout-Related Files Implementing a Widget Provider Implementing Widget Models Implementing Widget Configuration Activity Widget Preview Tool Widget Limitations and Extensions Collection-Based Widgets Resources Summary Interview Questions Chapter 26: Exploring List Widgets A Quick Note on Remote Views Working with Lists in Remote Views Preparing a Remote Layout Loading a Remote Layout Setting Up RemoteViewsService Setting Up RemoteViewsFactory Setting Up onclick Events Responding to onclick Events Working Sample: Test Home Screen List Widget Creating the Test Widget Provider Creating the Remote Views Factory Coding Remote Views Service Main Widget Layout File Widget Provider Metadata AndroidManifest.xml Testing the Test List Widget References Summary Interview Questions Chapter 27: Touch Screens Understanding MotionEvents The MotionEvent Object Recycling MotionEvents Using VelocityTracker xvii

18 xviii Multitouch The Basics of Multitouch Touches with Maps Gestures The Pinch Gesture GestureDetector and OnGestureListeners Custom Gestures The Gestures Builder Application References Summary Interview Questions Chapter 28: Implementing Drag and Drop Exploring Drag and Drop Basics of Drag and Drop in Drag-and-Drop Example Application List of Files Laying Out the Example Drag-and-drop Application Responding to ondrag in the Dropzone Setting Up the Drag Source Views Testing the Example Drag-and-Drop Application References Summary Interview Questions Chapter 29: Using Sensors What Is a Sensor? Detecting Sensors What Can We Know About a Sensor? Getting Sensor Events Issues with Getting Sensor Data Interpreting Sensor Data Light Sensors Proximity Sensors Temperature Sensors Pressure Sensors Gyroscope Sensors Accelerometers Magnetic Field Sensors Using Accelerometers and Magnetic Field Sensors Together Orientation Sensors Magnetic Declination and GeomagneticField Gravity Sensors Linear Acceleration Sensors Rotation Vector Sensors Near Field Communication Sensors References Summary Interview Questions

19 Chapter 30: Exploring the Contacts API Understanding Accounts A Quick Tour of Account Screens Relevance of Accounts to Contacts Enumerating Accounts Understanding the Contacts Application Introducing the Personal Profile Showing Contacts Showing Contact Details Editing Contact Details Setting a Contact s Photo Exporting Contacts Various Contact Data Types Understanding Contacts Examining the Contacts SQLite Database Raw Contacts Data Table Aggregated Contacts view_contacts contact_entities_view Working with the Contacts API Exploring Accounts Exploring Aggregated Contacts Exploring Raw Contacts Exploring Raw Contact Data Adding a Contact and Its Details Controlling Aggregation Impacts of Syncing Understanding the Personal Profile Reading Profile Raw Contacts Reading Profile Contact Data Adding Data to the Personal Profile References Summary Interview Questions Chapter 31: Deploying Your Application: Android Market and Beyond Becoming a Publisher Following the Rules Developer Console Preparing Your Application for Sale Testing for Different Devices Supporting Different Screen Sizes Preparing AndroidManifest.xml for Uploading Localizing Your Application Preparing Your Application Icon Considerations for Making Money from Apps Directing Users Back to the Market xix

20 The Android Licensing Service Using ProGuard for Optimizing, Fighting Piracy Preparing Your.apk File for Uploading Uploading Your Application Graphics Listing Details Publishing Options Contact Information Consent User Experience on Android Market Beyond Android Market References Summary Interview Questions Index xx

21 About the Authors Satya Komatineni (satyakomatineni.com) has over 20 years of programming experience working with small and large corporations. Satya has published more than 30 articles on web development using Java,.NET, and database technologies. He is a frequent speaker at industry conferences on innovative technologies and a regular contributor to the weblogs on Java.net. He is the author of AspireWeb (satyakomatineni.com/aspire), a simplified all-in-one open source tool for Java web development, and the creator of Aspire Knowledge Central ( an open source personal web operating system with a focus on individual productivity and publishing. Satya is also a contributing member to a number of Small Business Innovation Research (SBIR) programs. He received a bachelor s degree in electrical engineering from Andhra University, Visakhapatnam, and a master s degree in electrical engineering from the Indian Institute of Technology, New Delhi. Dave MacLean is a software engineer and architect currently living and working in Orlando, Florida. Since 1980, he has programmed in many languages, developing solutions ranging from robot automation systems to data warehousing, from web self-service applications to EDI transaction processors. Dave has worked for Blue Cross Blue Shield of Florida, Sun Microsystems, IBM, Trimble Navigation, General Motors, and several small companies. He graduated from the University of Waterloo in Canada with a degree in systems design engineering. Visit his blog at or contact him at davemac327@gmail.com. xxi

22 About the Technical Reviewers Eric Franchomme had his first computer, a Thomson TO7, at the age of 13, and got fascinated by being able to move an object on the monitor just by writing code. After graduating from a French graduate engineering school in the field of information technologies, he moved to the heart of Silicon Valley for a 16-month internship. From there, he never stopped learning and coding, starting with assembly programming on DSP and moving up through systems (Symbian, BREW, Android) and layers, adding C, C++, Java, JavaScript, and PHP to his language set on top of French, English, Spanish, German, and Portuguese. Now working for PacketVideo, he built the first version of the Verizon V CAST video-on-demand product on BREW, and PacketVideo's first Android application to beam videos and music from a cell phone to a TV (Twonky). When he isn t speaking a different language, Eric plays Taiko (the art of Japanese drumming), travels around the world, and sips his espresso with almond cookies. He can be reached at eric_franchomme@yahoo.com. Michael Nguyen is a software developer from Silicon Valley. He has over 10 years of experience developing software for small office to enterprise applications, using a variety of different languages and tools. Most recently, he has been involved in developing mobile applications for ios, Android, and other platforms to benefit health care professionals. He currently lives in San Jose with his wife Julie and two adorable little girls. He spends his copious amounts of spare time with his family. He is involved in the development of smaller projects in the mobile space, one of which is a popular trading-card game variant called Wagic. Dylan Phillips is a software engineer and architect who has been working in the mobile space for the last 10 years. With a broad range of experience ranging from J2ME to.net Compact Framework to Android, he is incredibly excited about the opportunity presented by the broad consumer adoption of an array of Android devices. He can be reached at on Twitter, or at lunch, in various Pho Houses around the country. Karim Varela is an international platform engineer with Wilshire Media Group and has over eight years of mobile application development experience. Karim is currently an engineer on the Android Muve Music project. Previously he was the Android support lead within AT&T Mobility s technical developer support team, focusing on Android, Java ME, and U-verse Enabled. At the dawn of the mobile era, Karim held various roles in the mobile games industry ranging from quality assurance and build engineering to porting and networking engineering. He also serves as a board member for Java Verified and the Unified Testing Initiative, industry-unifying organizations dedicated to improving the xxii

23 ABOUT THE TECHNICAL REVIEWERS quality and usability of mobile applications, as well as the App Developers Conference Advisory Board. He holds a bachelor's degree in computer science from the University of California and is working toward his MBA from the University of Florida. xxiii

24 Acknowledgments Writing this book took effort not only on the part of the authors, but also from some of the very talented staff at Apress, as well as the technical reviewers. Therefore, we would like to thank Steve Anglin, Matthew Moodie, Corbin Collins, Douglas Pundick, Brigid Duffy, and Tiffany Taylor. We would also like to extend our appreciation to the technical reviewers Eric Franchomme, Michael Nguyen, Dylan Phillips, and Karim Varela for their keen eye for detail and for making us wiser. When searching for answers on the Android Developers Forum, we were often helped by Dianne Hackborn, Romain Guy, Nick Pelly, Brad Fitzpatrick, and other members of the Android Team at all hours of the day and weekends, and to them we would like to say, Thank you. They truly are the hardest working team in mobile. The Android community is very much alive and well and was also very helpful in answering questions and offering advice. We hope this book in some way is able to give back to the community. Finally, the authors are deeply grateful to their families for accommodating prolonged irresponsibility. xxiv

25 Preface Have you ever wanted to be a Rodin, sitting with a chisel and eroding a block of rock to mold it to your vision? Mainstream programmers have kept away from the severely constrained mobile devices for fear of being unable to chisel out a workable application. Well, those times are past. Android OS places programmatically unconstrained mobile devices (with an incredible reach) at your doorstep. In this book, we want to positively confirm your suspicion that Android is a great OS to program with. If you are a Java programmer, you have a wonderful opportunity to profit from the Android OS, an exciting, capable, and general-purpose computing platform. Despite being a mobile OS, the Android OS has introduced new paradigms in framework design. This is our fourth edition on the subject of Android, and it s our best edition yet. Pro Android 4 is an extensive programming guide for the Android 4.0 SDK (the first SDK of Android to cover both phones and tablets). In this edition, we've refined, rewritten, and enhanced a number of things from Pro Android 3 to create a thoroughly updated guide for both beginners and professionals. Pro Android 4 is a result of our four years of research. We cover more than 100 topics in 31 chapters. In this edition, we have beefed up our discussion of Android internals by covering threads, processes, long-running services, broadcast receivers, alarm managers, device configuration changes, and asynchronous tasks. We dedicate over 150 pages of material to fragments, fragment dialogs, ActionBar, and drag and drop. We have significantly enhanced the services and sensor chapters. The animation chapter has been revised to include property-based animations. The chapter on the contacts API is also largely rewritten to take into account the personal profile that paves the way for the Social API. Concepts, code, and tutorials are the essence of this book. Every chapter reflects this philosophy. The self-contained tutorials in each chapter are annotated with expert advice. All projects in the book are available for download for easy importing into Eclipse. Finally, in this book we went beyond basics, asked tough questions on every topic, and documented the results (see the table of contents for the extensive list of what we cover). We are also actively updating the supplemental web site ( with current and future research material on the Android SDK. As you walk through the book, if you have any questions, we are only an away for a quick response. xxv

Windows 10 Revealed. The Universal Windows Operating System for PC, Tablets, and Windows Phone. Kinnary Jangla

Windows 10 Revealed. The Universal Windows Operating System for PC, Tablets, and Windows Phone. Kinnary Jangla Windows 10 Revealed The Universal Windows Operating System for PC, Tablets, and Windows Phone Kinnary Jangla Windows 10 Revealed Kinnary Jangla Bing Maps San Francisco, California, USA ISBN-13 (pbk): 978-1-4842-0687-4

More information

MATLAB Programming for Numerical Analysis. César Pérez López

MATLAB Programming for Numerical Analysis. César Pérez López MATLAB Programming for Numerical Analysis César Pérez López MATLAB Programming for Numerical Analysis Copyright 2014 by César Pérez López This work is subject to copyright. All rights are reserved by the

More information

Pro Android 2. Sayed Y. Hashimi Satya Komatineni Dave Mac Lean. Apress

Pro Android 2. Sayed Y. Hashimi Satya Komatineni Dave Mac Lean. Apress Pro Android 2 Sayed Y. Hashimi Satya Komatineni Dave Mac Lean Apress Contents Contents at a Glance Contents About the Authors About the Technical Reviewer Acknowledgments Foreword iv v xiii xiv xv xvi

More information

Companion ebook Available Pro Android Includes Android 1.5 SOURCE CODE ONLINE US $44.99

Companion ebook Available Pro Android Includes Android 1.5 SOURCE CODE ONLINE US $44.99 The EXPERT s VOIce in Open Source Pro Android Covers Google s Android Platform and its fundamental APIs, from basic concepts such as Android resources, intents, and content providers to advanced topics

More information

Objective-C Quick Syntax Reference

Objective-C Quick Syntax Reference Objective-C Quick Syntax Reference Matthew Campbell Objective-C Quick Syntax Reference Copyright 2014 by Matthew Campbell This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

C++ Quick Syntax Reference

C++ Quick Syntax Reference C++ Quick Syntax Reference Mikael Olsson C++ Quick Syntax Reference Copyright 2013 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part

More information

Android Fragments. Dave MacLean Satya Komatineni

Android Fragments. Dave MacLean Satya Komatineni Android Fragments Dave MacLean Satya Komatineni Android Fragments Copyright 2014 by Dave MacLean, Satya Komatineni This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Pro JavaScript Performance Monitoring and Visualization

Pro JavaScript Performance Monitoring and Visualization Pro JavaScript Performance Monitoring and Visualization Tom Barker Pro JavaScript Performance Copyright 2012 by Tom Barker This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

C Quick Syntax Reference

C Quick Syntax Reference C Quick Syntax Reference Mikael Olsson C Quick Syntax Reference Copyright 2015 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of

More information

JavaScript Quick Syntax Reference

JavaScript Quick Syntax Reference JavaScript Quick Syntax Reference Mikael Olsson JavaScript Quick Syntax Reference Copyright 2015 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Practical Spring LDAP

Practical Spring LDAP Practical Spring LDAP Enterprise Java LDAP Development Made Easy Balaji Varanasi Practical Spring LDAP: Enterprise Java LDAP Development Made Easy Copyright 2013 Balaji Varanasi. All rights reserved. This

More information

Swift Quick Syntax Reference

Swift Quick Syntax Reference Swift Quick Syntax Reference Matthew Campbell Swift Quick Syntax Reference Copyright 2014 by Matthew Campbell This work is subject to copyright. All rights are reserved by the Publisher, whether the whole

More information

MATLAB Numerical Calculations. César Pérez López

MATLAB Numerical Calculations. César Pérez López MATLAB Numerical Calculations César Pérez López MATLAB Numerical Calculations Copyright 2014 by César Pérez López This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Beginning ASP.NET MVC 4. José Rolando Guay Paz

Beginning ASP.NET MVC 4. José Rolando Guay Paz Beginning ASP.NET MVC 4 José Rolando Guay Paz Beginning ASP.NET MVC 4 Copyright 2013 by José Rolando Guay Paz This work is subject to copyright. All rights are reserved by the Publisher, whether the whole

More information

Web Programming with Dart. Moises Belchin Patricia Juberias

Web Programming with Dart. Moises Belchin Patricia Juberias Web Programming with Dart Moises Belchin Patricia Juberias Web Programming with Dart Copyright 2015 by Moises Belchin and Patricia Juberias This work is subject to copyright. All rights are reserved by

More information

Agile Swift. Swift Programming Using Agile Tools and Techniques. Godfrey Nolan

Agile Swift. Swift Programming Using Agile Tools and Techniques. Godfrey Nolan Agile Swift Swift Programming Using Agile Tools and Techniques Godfrey Nolan Agile Swift: Swift Programming Using Agile Tools and Techniques Godfrey Nolan Huntington Woods, Michigan, USA ISBN-13 (pbk):

More information

Pro Android 5. Dave MacLean Satya Komatineni Grant Allen

Pro Android 5. Dave MacLean Satya Komatineni Grant Allen Pro Android 5 Dave MacLean Satya Komatineni Grant Allen Pro Android 5 Copyright 2015 by Dave MacLean, Satya Komatineni, and Grant Allen This work is subject to copyright. All rights are reserved by the

More information

Migrating to Swift from Android

Migrating to Swift from Android Migrating to Swift from Android Sean Liao Migrating to Swift from Android Copyright 2014 by Sean Liao This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part

More information

Microsoft Computer Vision APIs Distilled

Microsoft Computer Vision APIs Distilled Microsoft Computer Vision APIs Distilled Getting Started with Cognitive Services Alessandro Del Sole Microsoft Computer Vision APIs Distilled Alessandro Del Sole Cremona, Italy ISBN-13 (pbk): 978-1-4842-3341-2

More information

Android App Development

Android App Development Android App Development Course Contents: Android app development Course Benefit: You will learn how to Use Advance Features of Android with LIVE PROJECTS Original Fees: 15000 per student. Corporate Discount

More information

Learn PHP 7. Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL. Steve Prettyman

Learn PHP 7. Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL. Steve Prettyman THE EXPERT S VOICE IN WEB DEVELOPMENT Learn PHP 7 Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL Steve Prettyman Learn PHP 7 Object-Oriented Modular Programming

More information

Pro.NET 4 Parallel Programming in C#

Pro.NET 4 Parallel Programming in C# Pro.NET 4 Parallel Programming in C# Adam Freeman Pro.NET 4 Parallel Programming in C# Copyright 2010 by Adam Freeman All rights reserved. No part of this work may be reproduced or transmitted in any form

More information

Essential Angular for ASP.NET Core MVC

Essential Angular for ASP.NET Core MVC Essential Angular for ASP.NET Core MVC Adam Freeman Essential Angular for ASP.NET Core MVC Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-2915-6 ISBN-13 (electronic): 978-1-4842-2916-3 DOI 10.1007/978-1-4842-2916-3

More information

Pro MERN Stack. Full Stack Web App Development with Mongo, Express, React, and Node. Vasan Subramanian

Pro MERN Stack. Full Stack Web App Development with Mongo, Express, React, and Node. Vasan Subramanian Pro MERN Stack Full Stack Web App Development with Mongo, Express, React, and Node Vasan Subramanian Pro MERN Stack Vasan Subramanian Bangalore, Karnataka, India ISBN-13 (pbk): 978-1-4842-2652-0 ISBN-13

More information

ANDROID SYLLABUS. Advanced Android

ANDROID SYLLABUS. Advanced Android Advanced Android 1) Introduction To Mobile Apps I. Why we Need Mobile Apps II. Different Kinds of Mobile Apps III. Briefly about Android 2) Introduction Android I. History Behind Android Development II.

More information

Pro Android C++ with the NDK

Pro Android C++ with the NDK Pro Android C++ with the NDK Onur Cinar Apress Pro Android C++ with the NDK Copyright 2012 by Onur Cinar This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or

More information

Pro ASP.NET MVC 5. Adam Freeman

Pro ASP.NET MVC 5. Adam Freeman Pro ASP.NET MVC 5 Adam Freeman Pro ASP.NET MVC 5 Copyright 2013 by Adam Freeman This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is

More information

Scalable Big Data Architecture

Scalable Big Data Architecture Scalable Big Data Architecture A Practitioner s Guide to Choosing Relevant Big Data Architecture Bahaaldine Azarmi Scalable Big Data Architecture Copyright 2016 by Bahaaldine Azarmi This work is subject

More information

Expert C# 5.0 with.net 4.5 Framework

Expert C# 5.0 with.net 4.5 Framework Expert C# 5.0 with.net 4.5 Framework Mohammad Rahman Apress Expert C# 5.0: with.net 4.5 Framework Copyright 2013 by Mohammad Rahman This work is subject to copyright. All rights are reserved by the Publisher,

More information

James Cryer. Pro Grunt.js

James Cryer. Pro Grunt.js James Cryer Pro Grunt.js Pro Grunt.js Copyright 2015 by James Cryer This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned,

More information

Android" Application Development SAMS. Sams Teach Yourself. Shane Conder. Lauren Darcey. Second Edition

Android Application Development SAMS. Sams Teach Yourself. Shane Conder. Lauren Darcey. Second Edition Lauren Darcey Shane Conder Sams Teach Yourself Android" Application Development Second Edition SAMS 800 East 96th Street, Indianapolis, Indiana, 46240 USA Table of Contents Introduction 1 Who Should Read

More information

Pro SharePoint 2013 Administration Rob Garrett

Pro SharePoint 2013 Administration Rob Garrett Pro SharePoint 2013 Administration Rob Garrett Apress Pro SharePoint 2013 Administration Copyright 2013 by Rob Garrett This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

Java Quick Syntax Reference. Second Edition. Mikael Olsson

Java Quick Syntax Reference. Second Edition. Mikael Olsson Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Mikael Olsson Hammarland, Länsi-Suomi, Finland ISBN-13 (pbk):

More information

Beginning Robotics Programming in Java with LEGO Mindstorms

Beginning Robotics Programming in Java with LEGO Mindstorms Beginning Robotics Programming in Java with LEGO Mindstorms Wei Lu Beginning Robotics Programming in Java with LEGO Mindstorms Wei Lu Keene, New Hampshire, USA ISBN-13 (pbk): 978-1-4842-2004-7 ISBN-13

More information

SQL Server AlwaysOn Revealed

SQL Server AlwaysOn Revealed SQL Server AlwaysOn Revealed Second Edition Peter A. Carter SQL Server AlwaysOn Revealed, 2nd Edition Peter A. Carter Botley, United Kingdom ISBN-13 (pbk): 978-1-4842-2396-3 ISBN-13 (electronic): 978-1-4842-2397-0

More information

Functional Programming in R

Functional Programming in R Functional Programming in R Advanced Statistical Programming for Data Science, Analysis and Finance Thomas Mailund Functional Programming in R: Advanced Statistical Programming for Data Science, Analysis

More information

MC Android Programming

MC Android Programming MC1921 - Android Programming Duration: 5 days Course Price: $3,395 Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse

More information

Deepak Vohra. Pro Docker

Deepak Vohra. Pro Docker Deepak Vohra Pro Docker Pro Docker Copyright 2016 by Deepak Vohra This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically

More information

The Windows 10 Productivity Handbook

The Windows 10 Productivity Handbook The Windows 10 Productivity Handbook Discover Expert Tips, Tricks, and Hidden Features in Windows 10 Mike Halsey The Windows 10 Productivity Handbook Mike Halsey Sheffield, Yorkshire, UK ISBN-13 (pbk):

More information

Beginning Objective-C

Beginning Objective-C Beginning Objective-C James Dovey Ash Furrow Beginning Objective-C Copyright 2012 by James Dovey and Ash Furrow This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Creating Google Chrome Extensions

Creating Google Chrome Extensions Creating Google Chrome Extensions Prateek Mehta Creating Google Chrome Extensions Prateek Mehta New Delhi, India ISBN-13 (pbk): 978-1-4842-1774-0 ISBN-13 (electronic): 978-1-4842-1775-7 DOI 10.1007/978-1-4842-1775-7

More information

Pro MongoDB Development

Pro MongoDB Development Pro MongoDB Development Deepak Vohra Pro MongoDB Development Copyright 2015 by Deepak Vohra This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the

More information

Android Programming (5 Days)

Android Programming (5 Days) www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android

More information

Visual Studio Condensed. Patrick Desjardins

Visual Studio Condensed. Patrick Desjardins Visual Studio Condensed Patrick Desjardins Visual Studio Condensed Copyright 2014 by Patrick Desjardins This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or

More information

Carlo Scarioni. Pro Spring Security

Carlo Scarioni. Pro Spring Security Carlo Scarioni Pro Spring Security Pro Spring Security Copyright 2013 by Carlo Scarioni This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material

More information

C++ Recipes. A Problem-Solution Approach. Bruce Sutherland

C++ Recipes. A Problem-Solution Approach. Bruce Sutherland C++ Recipes A Problem-Solution Approach Bruce Sutherland C++ Recipes: A Problem-Solution Approach Copyright 2015 by Bruce Sutherland This work is subject to copyright. All rights are reserved by the Publisher,

More information

Learn Excel 2016 for OS X

Learn Excel 2016 for OS X Learn Excel 2016 for OS X Second Edition Guy Hart-Davis Learn Excel 2016 for OS X Copyright 2015 by Guy Hart-Davis This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Beginning Silverlight 3

Beginning Silverlight 3 Beginning Silverlight 3 From Novice to Professional Robert Lair Beginning Silverlight 3: From Novice to Professional Copyright 2009 by Robert Lair All rights reserved. No part of this work may be reproduced

More information

Material Design Implementation with AngularJS

Material Design Implementation with AngularJS Material Design Implementation with AngularJS UI Component Framework First Edition V. Keerti Kotaru Material Design Implementation with AngularJS V. Keerti Kotaru Hyderabad, Andhra Pradesh, India ISBN-13

More information

Android Continuous Integration

Android Continuous Integration Android Continuous Integration Build-Deploy-Test Automation for Android Mobile Apps Pradeep Macharla Android Continuous Integration Pradeep Macharla North Carolina, USA ISBN-13 (pbk): 978-1-4842-2795-4

More information

The Definitive Guide to Grails 2

The Definitive Guide to Grails 2 The Definitive Guide to Grails 2 Jeff Scott Brown Graeme Rocher Apress The Definitive Guide to Grails 2 Copyright 2013 by Jeff Scott Brown and Graeme Rocher This work is subject to copyright. All rights

More information

Building Custom Tasks for SQL Server Integration Services

Building Custom Tasks for SQL Server Integration Services Building Custom Tasks for SQL Server Integration Services Andy Leonard Building Custom Tasks for SQL Server Integration Services Andy Leonard Farmville, Virginia, USA ISBN-13 (pbk): 978-1-4842-2939-2 ISBN-13

More information

Beginning CSS Preprocessors

Beginning CSS Preprocessors Beginning CSS Preprocessors With Sass, Compass, and Less Anirudh Prabhu Beginning CSS Preprocessors: With SASS, Compass.js, and Less.js Copyright 2015 by Anirudh Prabhu This work is subject to copyright.

More information

Pro Multithreading and Memory Management for ios and OS X

Pro Multithreading and Memory Management for ios and OS X Pro Multithreading and Memory Management for ios and OS X Kazuki Sakamoto Tomohiko Furumoto i Pro Multithreading and Memory Management for ios and OS X Copyright 2012 by Kazuki Sakamoto This work is subject

More information

Practical Amazon EC2, SQS, Kinesis, and S3

Practical Amazon EC2, SQS, Kinesis, and S3 Practical Amazon EC2, SQS, Kinesis, and S3 A Hands-On Approach to AWS Sunil Gulabani Practical Amazon EC2, SQS, Kinesis, and S3: A Hands-On Approach to AWS Sunil Gulabani Ahmedabad, Gujarat, India ISBN-13

More information

Excel 2010 Made Simple

Excel 2010 Made Simple Excel 2010 Made Simple Abbott Katz i Excel 2010 Made Simple Copyright 2011 by Abbott Katz All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic

More information

Android Programming - Jelly Bean

Android Programming - Jelly Bean 1800 ULEARN (853 276) www.ddls.com.au Android Programming - Jelly Bean Length 5 days Price $4235.00 (inc GST) Overview This intensive, hands-on five-day course teaches programmers how to develop activities,

More information

Pro SQL Server 2008 Mirroring

Pro SQL Server 2008 Mirroring Pro SQL Server 2008 Mirroring Robert L. Davis, Ken Simmons Pro SQL Server 2008 Mirroring Copyright 2009 by Robert L. Davis, Ken Simmons All rights reserved. No part of this work may be reproduced or transmitted

More information

Pro Angular 6. Third Edition. Adam Freeman

Pro Angular 6. Third Edition. Adam Freeman Pro Angular 6 Third Edition Adam Freeman Pro Angular 6 Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-3648-2 ISBN-13 (electronic): 978-1-4842-3649-9 https://doi.org/10.1007/978-1-4842-3649-9 Library

More information

Androidfp_printOnly.book Page vii Tuesday, October 4, :15 AM. Contents. Before You Begin

Androidfp_printOnly.book Page vii Tuesday, October 4, :15 AM. Contents. Before You Begin Androidfp_printOnly.book Page vii Tuesday, October 4, 2011 9:15 AM Preface Before You Begin xiv xxii 1 Introduction to Android 1 1.1 Introduction 2 1.2 Android Overview 4 1.3 Android 2.2 (Froyo) 7 1.4

More information

Microsoft Mapping. Geospatial Development in Windows 10 with Bing Maps and C# Second Edition. Carmen Au Ray Rischpater

Microsoft Mapping. Geospatial Development in Windows 10 with Bing Maps and C# Second Edition. Carmen Au Ray Rischpater Microsoft Mapping Geospatial Development in Windows 10 with Bing Maps and C# Second Edition Carmen Au Ray Rischpater Microsoft Mapping: Geospatial Development in Windows 10 with Bing Maps and C# Copyright

More information

Windows 8 MVVM Patterns Revealed

Windows 8 MVVM Patterns Revealed Windows 8 MVVM Patterns Revealed Covers both C# and JavaScript Ashish Ghoda Windows 8 MVVM Patterns Revealed Copyright 2012 by Ashish Ghoda This work is subject to copyright. All rights are reserved by

More information

Pro ASP.NET SignalR. Real-Time Communication in.net with SignalR 2.1. Keyvan Nayyeri Darren White

Pro ASP.NET SignalR. Real-Time Communication in.net with SignalR 2.1. Keyvan Nayyeri Darren White Pro ASP.NET SignalR Real-Time Communication in.net with SignalR 2.1 Keyvan Nayyeri Darren White Pro ASP.NET SignalR: Real-Time Communication in.net with SignalR 2.1 Copyright 2014 by Keyvan Nayyeri and

More information

Pro Data Backup and Recovery. Steven Nelson

Pro Data Backup and Recovery. Steven Nelson Pro Data Backup and Recovery Steven Nelson Pro Data Backup and Recovery Copyright 2011 by Steven Nelson All rights reserved. No part of this work may be reproduced or transmitted in any form or by any

More information

Expert MySQL. Second Edition. Apress. Charles Bell

Expert MySQL. Second Edition. Apress. Charles Bell Expert MySQL Second Edition Charles Bell Apress Expert MySQL: Second Edition Copyright 2012 by Charles Bell This work is subject to copyright. All rights are reserved by the Publisher, whether the whole

More information

Introducing Meteor. Josh Robinson Aaron Gray David Titarenco

Introducing Meteor. Josh Robinson Aaron Gray David Titarenco Introducing Meteor Josh Robinson Aaron Gray David Titarenco Introducing Meteor Copyright 2015 by Josh Robinson, Aaron Gray, and David Titarenco This work is subject to copyright. All rights are reserved

More information

Digital Illustration Fundamentals

Digital Illustration Fundamentals Wallace Jackson Digital Illustration Fundamentals Vector, Raster, WaveForm, NewMedia with DICF, DAEF and ASNMF 1st ed. 2015 Wallace Jackson Lompoc, California, USA ISBN 978-1-4842-1696-5 e-isbn 978-1-4842-1697-2

More information

Beginning Android Tablet

Beginning Android Tablet Beginning Android Tablet Programming Starting with Android Honeycomb for Tablets Robbie Matthews Apress* Contents About the Author About the Technical Reviewer - Acknowledgments Some Notes on Using the

More information

Beginning Oracle WebCenter Portal 12c

Beginning Oracle WebCenter Portal 12c Beginning Oracle WebCenter Portal 12c Build next-generation Enterprise Portals with Oracle WebCenter Portal Vinay Kumar Daniel Merchán García Beginning Oracle WebCenter Portal 12c Vinay Kumar Rotterdam,

More information

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP) Android Syllabus Pre-requisite: C, C++, Java Programming SQL & PL SQL Chapter 1: Introduction to Android Introduction to android operating system History of android operating system Features of Android

More information

Beginning Oracle Application Express 5

Beginning Oracle Application Express 5 Beginning Oracle Application Express 5 Doug Gault Beginning Oracle Application Express 5 Copyright 2015 by Doug Gault This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

ANDROID DEVELOPMENT. Course Details

ANDROID DEVELOPMENT. Course Details ANDROID DEVELOPMENT Course Details centers@acadgild.com www.acadgild.com 90360 10796 01 Brief About the Course Android s share of the global smartphone is 81%. The Google Certified Android development

More information

Android Continuous Integration

Android Continuous Integration Android Continuous Integration Build-Deploy-Test Automation for Android Mobile Apps Pradeep Macharla Android Continuous Integration Build-Deploy-Test Automation for Android Mobile Apps Pradeep Macharla

More information

Java I/O, NIO and NIO.2

Java I/O, NIO and NIO.2 Java I/O, NIO and NIO.2 Jeff Friesen Java I/O, NIO and NIO.2 Copyright 2015 by Jeff Friesen This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the

More information

CHAPTER 1: HELLO, ANDROID 1

CHAPTER 1: HELLO, ANDROID 1 INTRODUCTION xxxvii CHAPTER 1: HELLO, ANDROID 1 A Little Background 2 The Not-So-Distant Past 2 Living in the Future 3 What Android Isn t 3 Android: An Open Platform for Mobile Development 4 Native Android

More information

Android Application Development

Android Application Development Android Application Development (upto Android 4.4) Black Book TM Kogent Learning Solutions Inc. Published by: Copyright 2014 by Dreamtech Press, 19-A, Ansari Road, Daryaganj, New Delhi-110002 Black Book

More information

Realtime Web Apps. With HTML5 WebSocket, PHP, and jquery. Apress. Jason Lengstorf Phil Leggetter

Realtime Web Apps. With HTML5 WebSocket, PHP, and jquery. Apress. Jason Lengstorf Phil Leggetter Realtime Web Apps With HTML5 WebSocket, PHP, and jquery Jason Lengstorf Phil Leggetter Apress Realtime Web Apps: With HTML5 WebSocket, PHP, and jquery Copyright 2013 by Jason Lengstorf, Phil Leggetter

More information

Beginning Android 4 Application Development

Beginning Android 4 Application Development Beginning Android 4 Application Development Lee, Wei-Meng ISBN-13: 9781118199541 Table of Contents INTRODUCTION xxi CHAPTER 1: GETTING STARTED WITH ANDROID PROGRAMMING 1 What Is Android? 2 Android Versions

More information

Get Fit with Apple Watch

Get Fit with Apple Watch Get Fit with Apple Watch Using the Apple Watch for Health and Fitness Allen G. Taylor Get Fit with Apple Watch: Using the Apple Watch for Health and Fitness Copyright 2015 by Allen G. Taylor This work

More information

S Cove pring Bootrs Pivotal Certified Spring Enterprise Integration Specialist Exam SOURCE CODE ONLINE

S Cove pring Bootrs Pivotal Certified Spring Enterprise Integration Specialist Exam SOURCE CODE ONLINE Covers Spring Boot Pivotal Certified Spring Enterprise Integration Specialist Exam A Study Guide Lubos Krnac Pivotal Certified Spring Enterprise Integration Specialist Exam Copyright 2015 by Lubos Krnac

More information

Pro SharePoint 2013 Administration. Rob Garrett

Pro SharePoint 2013 Administration. Rob Garrett Pro SharePoint 2013 Administration Rob Garrett Pro SharePoint 2013 Administration Copyright 2013 by Rob Garrett This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Beginning django CMS. Nigel George

Beginning django CMS. Nigel George Beginning django CMS Nigel George Beginning django CMS Copyright 2015 by Nigel George This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material

More information

Troubleshooting Xcode

Troubleshooting Xcode Troubleshooting Xcode Magno Urbano Troubleshooting Xcode Copyright 2015 by Magno Urbano This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material

More information

Python 3 for Absolute Beginners

Python 3 for Absolute Beginners Python 3 for Absolute Beginners Tim Hall and J-P Stacey Python 3 for Absolute Beginners Copyright 2009 by Tim Hall and J-P Stacey All rights reserved. No part of this work may be reproduced or transmitted

More information

Practical Linux Infrastructure. Syed Ali

Practical Linux Infrastructure. Syed Ali Practical Linux Infrastructure Syed Ali Practical Linux Infrastructure Copyright 2015 by Syed Ali This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part

More information

Beginning Hibernate. Third Edition. Joseph B. Ottinger Dave Minter Jeff Linwood

Beginning Hibernate. Third Edition. Joseph B. Ottinger Dave Minter Jeff Linwood Beginning Hibernate Third Edition Joseph B. Ottinger Dave Minter Jeff Linwood Beginning Hibernate Copyright 2014 by Joseph B. Ottinger, Dave Minter, Jeff Linwood This work is subject to copyright. All

More information

Learning Groovy. Adam L. Davis

Learning Groovy. Adam L. Davis Learning Groovy Adam L. Davis Learning Groovy Adam L. Davis New York, USA ISBN-13 (pbk): 978-1-4842-2116-7 ISBN-13 (electronic): 978-1-4842-2117-4 DOI 10.1007/978-1-4842-2117-4 Library of Congress Control

More information

Introducing SQLite for Mobile Developers

Introducing SQLite for Mobile Developers Introducing SQLite for Mobile Developers Jesse Feiler Introducing SQLite for Mobile Developers Copyright 2015 by Jesse Feiler This work is subject to copyright. All rights are reserved by the Publisher,

More information

Pro ios and Android Apps for Business

Pro ios and Android Apps for Business Pro ios and Android Apps for Business with jquery Mobile, Node.js, and MongoDB Frank Zammetti Pro ios and Android Apps for Business with jquery Mobile, Node.js, and MongoDB Copyright 2013 by Frank Zammetti

More information

Understanding Oracle APEX 5 Application Development

Understanding Oracle APEX 5 Application Development Understanding Oracle APEX 5 Application Development Second Edition Edward Sciore Understanding Oracle APEX 5 Application Development Copyright 2015 by Edward Sciore This work is subject to copyright. All

More information

Developing C# Apps for iphone and ipad Using MonoTouch

Developing C# Apps for iphone and ipad Using MonoTouch Developing C# Apps for iphone and ipad Using MonoTouch ios Apps Development for.net Developers Bryan Costanich i Developing C# Apps for iphone and ipad Using MonoTouch: ios Apps Development for.net Developers

More information

HTML5 Programmer s Reference

HTML5 Programmer s Reference HTML5 Programmer s Reference Jonathan Reid HTML5 Programmer s Reference Copyright 2015 by Jonathan Reid This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or

More information

Building Spring 2 Enterprise Applications

Building Spring 2 Enterprise Applications Building Spring 2 Enterprise Applications Interface 21 with Bram Smeets and Seth Ladd Building Spring 2 Enterprise Applications Copyright 2007 by Interface 21, Bram Smeets, Seth Ladd All rights reserved.

More information

ASP.NET Core Recipes

ASP.NET Core Recipes ASP.NET Core Recipes A Problem-Solution Approach Second Edition John Ciliberti ASP.NET Core Recipes: A Problem-Solution Approach John Ciliberti Sparta, New Jersey, USA ISBN-13 (pbk): 978-1-4842-0428-3

More information

Learn Apple HomeKit on ios

Learn Apple HomeKit on ios Learn Apple HomeKit on ios A Home Automation Guide for Developers, Designers, and Homeowners Jesse Feiler Learn Apple HomeKit on ios: A Home Automation Guide for Developers, Designers, and Homeowners Jesse

More information

AND-401 Android Certification. The exam is excluded, but we cover and support you in full if you want to sit for the international exam.

AND-401 Android Certification. The exam is excluded, but we cover and support you in full if you want to sit for the international exam. Android Programming This Android Training Course will help you build your first working application quick-quick. You ll learn hands-on how to structure your app, design interfaces, create a database, make

More information

Android Online Training

Android Online Training Android Online Training IQ training facility offers Android Online Training. Our Android trainers come with vast work experience and teaching skills. Our Android training online is regarded as the one

More information

ANDROID TRAINING PROGRAM COURSE CONTENT

ANDROID TRAINING PROGRAM COURSE CONTENT ANDROID TRAINING PROGRAM COURSE CONTENT Android Architecture System architecture of Android Activities Android Components Android Manifest Android Development Tools Installation of the Android Development

More information

Android App Development for Beginners

Android App Development for Beginners Description Android App Development for Beginners DEVELOP ANDROID APPLICATIONS Learning basics skills and all you need to know to make successful Android Apps. This course is designed for students who

More information

Beginning Apache Cassandra Development. Vivek Mishra

Beginning Apache Cassandra Development. Vivek Mishra Beginning Apache Cassandra Development Vivek Mishra Beginning Apache Cassandra Development Copyright 2014 by Vivek Mishra This work is subject to copyright. All rights are reserved by the Publisher, whether

More information