Android Cookbook: Problems and Solutions for Android Developers / Edition 2

Android Cookbook: Problems and Solutions for Android Developers / Edition 2

by Ian Darwin
ISBN-10:
1449374433
ISBN-13:
9781449374433
Pub. Date:
06/02/2017
Publisher:
O'Reilly Media, Incorporated
ISBN-10:
1449374433
ISBN-13:
9781449374433
Pub. Date:
06/02/2017
Publisher:
O'Reilly Media, Incorporated
Android Cookbook: Problems and Solutions for Android Developers / Edition 2

Android Cookbook: Problems and Solutions for Android Developers / Edition 2

by Ian Darwin
$69.99 Current price is , Original price is $69.99. You
$69.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores

Overview

Jump in and build working Android apps with the help of more than 230 tested recipes. The second edition of this acclaimed cookbook includes recipes for working with user interfaces, multitouch gestures, location awareness, web services, and specific device features such as the phone, camera, and accelerometer. You also get useful info on packaging your app for the Google Play Market.

Ideal for developers familiar with Java, Android basics, and the Java SE API, this book features recipes contributed by more than three dozen Android developers. Each recipe provides a clear solution and sample code you can use in your project right away. Among numerous topics, this cookbook helps you:

  • Get started with the tooling you need for developing and testing Android apps
  • Create layouts with Android’s UI controls, graphical services, and pop-up mechanisms
  • Build location-aware services on Google Maps and OpenStreetMap
  • Control aspects of Android’s music, video, and other multimedia capabilities
  • Work with accelerometers and other Android sensors
  • Use various gaming and animation frameworks
  • Store and retrieve persistent data in files and embedded databases
  • Access RESTful web services with JSON and other formats
  • Test and troubleshoot individual components and your entire application

Product Details

ISBN-13: 9781449374433
Publisher: O'Reilly Media, Incorporated
Publication date: 06/02/2017
Pages: 734
Product dimensions: 7.00(w) x 9.10(h) x 1.60(d)

About the Author

Ian F. Darwin has worked in the computer industry for three decades. He wrote the freeware file(1) command used on Linux and BSD and is the author of Checking C Programs with Lint, Java Cookbook, and over seventy articles and courses on C and Unix. In addition to programming and consulting, Ian teaches Unix, C, and Java for Learning Tree International, one of the world's largest technical training companies.

Table of Contents

Preface; Preface; Conventions Used in This Book; Getting and Using the Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Getting Started; 1.1 Introduction: Getting Started; 1.2 Learning the Java Language; 1.3 Creating a “Hello, World” Application from the Command Line; 1.4 Creating a “Hello, World” Application in Eclipse; 1.5 Setting Up an IDE on Windows to Develop for Android; 1.6 Understanding the Android Life Cycle; 1.7 Installing .apk Files onto an Emulator via the ADB; 1.8 Installing Apps onto an Emulator via SlideME; 1.9 Sharing Java Classes from Another Eclipse Project; 1.10 Referencing Libraries to Implement External Functionality; 1.11 Using SDK Samples to Help Avoid Head Scratching; 1.12 Keeping the Android SDK Updated; 1.13 Taking a Screenshot from the Emulator/Android Device; 1.14 Program: A Simple CountDownTimer Example; 1.15 Program: Tipster, a Tip Calculator for the Android OS; Chapter 2: Designing a Successful Application; 2.1 Introduction: Designing a Successful Android Application; 2.2 Exception Handling; 2.3 Accessing Android’s Application Object as a “Singleton”; 2.4 Keeping Data When the User Rotates the Device; 2.5 Monitoring the Battery Level of an Android Device; 2.6 Creating Splash Screens in Android; 2.7 Designing a Conference/Camp/Hackathon/Institution App; 2.8 Using Google Analytics in an Android Application; 2.9 A Simple Torch/Flashlight; 2.10 Adapting an Android Phone Application to Be Used on a Tablet; 2.11 Setting First-Run Preferences; 2.12 Formatting the Time and Date for Display; 2.13 Controlling Input with KeyListeners; 2.14 Backing Up Android Application Data; 2.15 Using Hints Instead of Tool Tips; Chapter 3: Testing; 3.1 Introduction: Testing; 3.2 Doing Test-Driven Development (TDD) in Android; 3.3 Setting Up an Android Virtual Device (AVD) for App Testing; 3.4 Testing on a Huge Range of Devices with Cloud-based Testing; 3.5 Creating and Using a Test Project; 3.6 Troubleshooting Application Crashes; 3.7 Debugging Using Log.d and LogCat; 3.8 Getting Bug Reports from Users Automatically with BugSense; 3.9 Using a Local Runtime Application Log for Analysis of Field Errors or Situations; 3.10 Reproducing Activity Life-Cycle Scenarios for Testing; 3.11 Keeping Your App Snappy with StrictMode; 3.12 Running the Monkey Program; 3.13 Sending Text Messages and Placing Calls Between AVDs; Chapter 4: Inter-/Intra-Process Communication; 4.1 Introduction: Inter-/Intra-Process Communication; 4.2 Opening a Web Page, Phone Number, or Anything Else with an Intent; 4.3 Emailing Text from a View; 4.4 Sending an Email with Attachments; 4.5 Pushing String Values Using Intent.putExtra(); 4.6 Retrieving Data from a Subactivity Back to Your Main Activity; 4.7 Keeping a Service Running While Other Apps Are on Display; 4.8 Sending/Receiving a Broadcast Message; 4.9 Starting a Service After Device Reboot; 4.10 Creating a Responsive Application Using Threads; 4.11 Using AsyncTask to Do Background Processing; 4.12 Sending Messages Between Threads Using an Activity Thread Queue and Handler; 4.13 Creating an Android Epoch HTML/JavaScript Calendar; Chapter 5: Content Providers; 5.1 Introduction: Content Providers; 5.2 Retrieving Data from a Content Provider; 5.3 Writing a Content Provider; 5.4 Writing an Android Remote Service; Chapter 6: Graphics; 6.1 Introduction: Graphics; 6.2 Using a Custom Font; 6.3 Drawing a Spinning Cube with OpenGL ES; 6.4 Adding Controls to the OpenGL Spinning Cube; 6.5 Freehand Drawing Smooth Curves; 6.6 Taking a Picture Using an Intent; 6.7 Taking a Picture Using android.media.Camera; 6.8 Scanning a Barcode or QR Code with the Google ZXing Barcode Scanner; 6.9 Using AndroidPlot to Display Charts and Graphs; 6.10 Using Inkscape to Create an Android Launcher Icon; 6.11 Creating Easy Launcher Icons from OpenClipArt.org Using Paint.NET; 6.12 Using Nine Patch Files; 6.13 Creating HTML5 Charts with Android RGraph; 6.14 Adding a Simple Raster Animation; 6.15 Using Pinch to Zoom; Chapter 7: Graphical User Interface; 7.1 Introduction: GUI; 7.2 Understanding and Following User Interface Guidelines; 7.3 Handling Configuration Changes by Decoupling the View from the Model; 7.4 Creating a Button and Its Click Event Listener; 7.5 Wiring Up an Event Listener in Five Different Ways; 7.6 Using CheckBoxes and RadioButtons; 7.7 Enhancing UI Design Using Image Buttons; 7.8 Offering a Drop-Down Chooser via the Spinner Class; 7.9 Handling Long-Press/Long-Click Events; 7.10 Displaying Text Fields with TextView and EditText; 7.11 Constraining EditText Values with Attributes and the TextWatcher Interface; 7.12 Implementing AutoCompleteTextView; 7.13 Feeding AutoCompleteTextView Using an SQLite Database Query; 7.14 Turning Edit Fields into Password Fields; 7.15 Changing the Enter Key to “Next” on the Soft Keyboard; 7.16 Processing Key-Press Events in an Activity; 7.17 Let Them See Stars: Using RatingBar; 7.18 Making a View Shake; 7.19 Providing Haptic Feedback; 7.20 Navigating Different Activities Within a TabView; 7.21 Creating a Custom Title Bar; 7.22 Formatting Numbers; 7.23 Formatting with Correct Plurals; 7.24 Starting a Second Screen from the First; 7.25 Creating a Loading Screen That Will Appear Between Two Activities; 7.26 Using SlidingDrawer to Overlap Other Components; 7.27 Customizing the SlidingDrawer Component to Animate/Transition from the Top Down; 7.28 Adding a Border with Rounded Corners to a Layout; 7.29 Detecting Gestures in Android; 7.30 Building a UI Using Android 3.0 Fragments in Android 1.6 and Later; 7.31 Using the Android 3.0 Photo Gallery; 7.32 Creating a Simple App Widget; Chapter 8: GUI Alerts: Menus, Dialogs, Toasts, and Notifications; 8.1 Introduction: GUI Alerts; 8.2 Creating and Displaying a Menu; 8.3 Handling Choice Selection in a Menu; 8.4 Creating a Submenu; 8.5 Creating a Pop-up/Alert Dialog; 8.6 Using a Timepicker Widget; 8.7 Creating an iPhone-like Wheel Picker for Selection; 8.8 Creating a Tabbed Dialog; 8.9 Creating a ProgressDialog; 8.10 Creating a Custom Dialog with Buttons, Images, and Text; 8.11 Creating a Reusable About Box Class; 8.12 Customizing the Appearance of a Toast; 8.13 Creating a Notification in the Status Bar; Chapter 9: GUI: ListView; 9.1 Introduction: ListView; 9.2 Building List-Based Applications with ListView; 9.3 Creating a “No Data” View for ListViews; 9.4 Creating an Advanced ListView with Images and Text; 9.5 Using Section Headers in ListViews; 9.6 Keeping the ListView with the User’s Focus; 9.7 Writing a Custom List Adapter; 9.8 Handling Orientation Changes: From ListView Data Values to Landscape Charting; Chapter 10: Multimedia; 10.1 Introduction: Multimedia; 10.2 Playing a YouTube Video; 10.3 Using the Gallery with the ImageSwitcher View; 10.4 Capturing Video Using MediaRecorder; 10.5 Using Android’s Face Detection Capability; 10.6 Playing Audio from a File; 10.7 Playing Audio Without Interaction; 10.8 Using Speech to Text; 10.9 Making the Device Speak with Text-to-Speech; Chapter 11: Data Persistence; 11.1 Introduction: Data Persistence; 11.2 Getting File Information; 11.3 Reading a File Shipped with the App Rather Than in the Filesystem; 11.4 Listing a Directory; 11.5 Getting Total and Free Space Information About the SD Card; 11.6 Providing User Preference Activity with Minimal Effort; 11.7 Checking the Consistency of Default Shared Preferences; 11.8 Performing Advanced Text Searches; 11.9 Creating an SQLite Database in an Android Application; 11.10 Inserting Values into an SQLite Database; 11.11 Loading Values from an Existing SQLite Database; 11.12 Working with Dates in SQLite; 11.13 Parsing JSON Using JSONObject; 11.14 Parsing an XML Document Using the DOM API; 11.15 Parsing an XML Document Using an XmlPullParser; 11.16 Adding a Contact; 11.17 Reading Contact Data; Chapter 12: Telephone Applications; 12.1 Introduction: Telephone Applications; 12.2 Doing Something When the Phone Rings; 12.3 Processing Outgoing Phone Calls; 12.4 Dialing the Phone; 12.5 Sending Single-Part or Multipart SMS Messages; 12.6 Receiving an SMS Message in an Android Application; 12.7 Using Emulator Controls to Send SMS Messages to the Emulator; 12.8 Using Android’s TelephonyManager to Obtain Device Information; Chapter 13: Networked Applications; 13.1 Introduction: Networking; 13.2 Using a RESTful Web Service; 13.3 Extracting Information from Unstructured Text Using Regular Expressions; 13.4 Parsing RSS/Atom Feeds Using ROME; 13.5 Using MD5 to Digest Clear Text; 13.6 Converting Text into Hyperlinks; 13.7 Accessing a Web Page Using WebView; 13.8 Customizing a WebView; Chapter 14: Gaming and Animation; 14.1 Introduction: Gaming and Animation; 14.2 Building an Android Game Using flixel-android; 14.3 Building an Android Game Using AndEngine (Android-Engine); 14.4 Processing Timed Keyboard Input; Chapter 15: Social Networking; 15.1 Introduction: Social Networking; 15.2 Integrating Social Networking Using HTTP; 15.3 Loading a User’s Twitter Timeline Using JSON; Chapter 16: Location and Map Applications; 16.1 Introduction: Location-Aware Applications; 16.2 Getting Location Information; 16.3 Accessing GPS Information in Your Application; 16.4 Mocking GPS Coordinates on a Device; 16.5 Using Geocoding and Reverse Geocoding; 16.6 Getting Ready for Google Maps Development; 16.7 Adding a Device’s Current Location to Google Maps; 16.8 Drawing a Location Marker on a Google MapView; 16.9 Drawing Multiple Location Markers on a MapView; 16.10 Creating Overlays for a Google MapView; 16.11 Changing Modes of a Google MapView; 16.12 Drawing an Overlay Icon Without Using a Drawable; 16.13 Implementing Location Search on Google Maps; 16.14 Placing a MapView Inside a TabView; 16.15 Handling a Long-Press in a MapView; 16.16 Using OpenStreetMap; 16.17 Creating Overlays in OpenStreetMap Maps; 16.18 Using a Scale on an OpenStreetMap Map; 16.19 Handling Touch Events on an OpenStreetMap Overlay; 16.20 Getting Location Updates with OpenStreetMap Maps; Chapter 17: Accelerometer; 17.1 Introduction: Sensors; 17.2 Checking for the Presence or Absence of a Sensor; 17.3 Using the Accelerometer to Detect Shaking of the Device; 17.4 Checking Whether a Device Is Facing Up or Facing Down Based on Screen Orientation Using an Accelerometer; 17.5 Finding the Orientation of an Android Device Using an Orientation Sensor; 17.6 Reading the Temperature Sensor; Chapter 18: Bluetooth; 18.1 Introduction: Bluetooth; 18.2 Enabling Bluetooth and Making the Device Discoverable; 18.3 Connecting to a Bluetooth-Enabled Device; 18.4 Listening for and Accepting Bluetooth Connection Requests; 18.5 Implementing Bluetooth Device Discovery; Chapter 19: System and Device Control; 19.1 Introduction: System and Device Control; 19.2 Accessing Phone Network/Connectivity Information; 19.3 Obtaining Information from the Manifest File; 19.4 Changing Incoming Call Notification to Silent, Vibrate, or Normal; 19.5 Copying Text and Getting Text from the Clipboard; 19.6 Using LED-Based Notifications; 19.7 Making the Device Vibrate; 19.8 Running Shell Commands from Your Application; 19.9 Determining Whether a Given Application Is Running; Chapter 20: Other Programming Languages and Frameworks; 20.1 Introduction: Other Programming Languages; 20.2 Running an External/Native Unix/Linux Command; 20.3 Running Native C/C++ Code with JNI on the NDK; 20.4 Getting Started with the Scripting Layer for Android (SL4A, Formerly Android Scripting Environment); 20.5 Creating Alerts in SL4A; 20.6 Fetching Your Google Documents and Displaying Them in a ListView Using SL4A; 20.7 Sharing SL4A Scripts in QR Codes; 20.8 Using Native Handset Functionality from WebView via JavaScript; 20.9 Creating a Platform-Independent Application Using PhoneGap/Cordova; Chapter 21: Strings and Internationalization; 21.1 Introduction: Internationalization; 21.2 Internationalizing Application Text; 21.3 Finding and Translating Strings; 21.4 Handling the Nuances of strings.xml; Chapter 22: Packaging, Deploying, and Distributing/Selling Your App; 22.1 Introduction: Packaging, Deploying, and Distributing; 22.2 Creating a Signing Certificate; 22.3 Signing Your Application; 22.4 Distributing Your Application via Android Play (formerly the Android Market); 22.5 Integrating AdMob into Your App; 22.6 Obfuscating and Optimizing with ProGuard; 22.7 Providing a Link to Other Published Apps in the Google Play Market; Colophon;
From the B&N Reads Blog

Customer Reviews