Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Android Programming Unleashed / Edition 1

Android Programming Unleashed / Edition 1

4.0 1
by B.M. Harwani

See All Formats & Editions

ISBN-10: 0672336286

ISBN-13: 2900672336286

Pub. Date: 01/01/2013

Publisher: Sams

Android Programming Unleashed is the most comprehensive guide to professional-quality mobile and tablet development with Android 4.1.2 (Jelly Bean) and 4.0.3 (Ice Cream Sandwich). Offering the exceptional breadth and depth developers have come to expect from the Unleashed series, it covers everything programmers need to know to develop robust, high-performance


Android Programming Unleashed is the most comprehensive guide to professional-quality mobile and tablet development with Android 4.1.2 (Jelly Bean) and 4.0.3 (Ice Cream Sandwich). Offering the exceptional breadth and depth developers have come to expect from the Unleashed series, it covers everything programmers need to know to develop robust, high-performance Android apps that deliver a superior user experience.

Leading developer trainer B.M. Harwani illuminates each important Android 4.1.2 SDK component through complete, self-contained code examples. He systematically introduces Android's robust collection.

B.M. Harwani founded and owns Microchip Computer Education (MCE), which provides computer education in all programming and web developing platforms. He has taught for more than 16 years and blogs on technology at bmharwani.com/blog.

Detailed Information On How to…

Include Dimension, Color, Styles, and Theme resources in your apps

Implement scrolling through ScrollView to play audio and video in your apps

Display important messages to users through dialogs and select date and time through DatePicker and TimePicker dialog boxes

Use Fragments, ListFragment, DialogFragment, and PreferenceFragment

Add checkbox or radio buttons, shortcut keys, ActionBars, and other UI elements

Integrate database data with SQLite and the SQLiteOpenHelper

Use Canvas and Paints for 2D drawings, applying frame-by-frame and tweening animation, and using Interpolators

Use Google maps and location based services

Use broadcast receivers and notifications

Programmatically exchange SMS and email messages

Move processes to background threads using Handler and AsyncTask classes

Product Details

Publication date:
Unleashed Series
Edition description:

Table of Contents

Introduction 1

Key Topics That This Book Covers 1

Key Benefits That This Book Provides 2

How This Book Is Organized 2

Code Examples for This Book 5

I Fundamentals of Android Development

1 Introduction to Android 9

The Android 4.1 Jelly Bean SDK 9

Understanding the Android Software Stack 11

Installing the Android SDK 12

Adding Platforms and Other Components 16

Installing Eclipse 20

Installing the Android Development Tools (ADT) Plug-in 22

Making the ADT Plug-in Functional 24

Creating Android Virtual Devices 24

Creating the First Android Project 27

Laying Out the Application 31

Defining Action Code Through Java 34

Running the Application 36

Using the Textview Control 39

Assigning the Text Directly in the Layout File 39

Assigning Text Through the Activity File 40

Applying Dimensions to Controls 42

Aligning Content with the Gravity Attribute 43

Commonly Used Attributes 43

Using the Android Emulator 47

Limitations of the Android Emulator 47

The Android Debug Bridge (ADB) 48

Launching Android Applications on a Handset 50

Summary 51

2 Basic Widgets 53

Understanding the Role of Android Application Components 53

Understanding the Utility of Android API 55

Overview of the Android Project Files 57

Understanding Activities 59

Understanding the Android Activity Life Cycle 60

Role of the Android Manifest File 61

Using the Manifest Editor 64

Creating the User Interface 64

Commonly Used Layouts and Controls 66

Event Handling 67

Creating an Anonymous Inner Class 68

Activity Implementing the OnClickListener Interface 71

Declaring the Event Handler in the XML Control Definition 72

Displaying Messages Through Toast 75

Creating and Starting an Activity 76

Describing Operations Through Intent 77

Method Used to Start an Activity 77

Creating Your Own Layout File 78

Creating a New Activity 79

Registering the New Activity 80

Starting the Activity 81

Using the EditText Control 82

Attributes Used to Configure the EditText Control 82

Adding an Event Listener to the EditText Control 84

Choosing Options with CheckBox 87

Choosing Mutually Exclusive Items Using RadioButtons 91

Summary 98

II Building Blocks for Android Application Design

3 Laying Out Controls in Containers 101

Introduction to Layouts 101

LinearLayout 102

Applying the orientation Attribute 102

Applying the height and width Attributes 103

Applying the padding Attribute 103

Applying the weight Attribute 106

Applying the Gravity Attribute 108

Using the android: layout_gravity Attribute 109

RelativeLayout 111

Layout Control Attributes 113

AbsoluteLayout 121

Using ImageView 124

FrameLayout 125

TableLayout 129

Operations Applicable to TableLayout 129

GridLayout Layout 133

Specifying Row and Column Position 134

Spanning Rows and Columns 134

Inserting Spaces in the GridLayout 134

Adapting to Screen Orientation 138

Anchoring Controls 138

Defining Layout for Each Mode 140

Summary 145

4 Utilizing Resources and Media 147

Resources 147

Types of Resources 148

Creating Values Resources 150

Dimension Resources 153

Color Resources 156

Styles and Themes 159

Applying Themes 162

Arrays 165

Using Drawable Resources 170

Switching States with Toggle Buttons 174

Creating an Image Switcher Application 179

Scrolling Through ScrollView 183

Use of the android:fillViewport Attribute 185

Playing Audio 186

Adding Audio to the Application 187

Playing Video 195

Loading Video onto an SD Card 195

Displaying Progress with ProgressBar 199

Using Assets 204

Summary 207

5 Using Selection Widgets and Debugging 209

Using ListView 209

Creating a ListView with an Activity Base Class 211

Creating ListView by Extending ListActivity 217

Using the spinner Control 220

Populating a spinner Through Resources 220

Populating a Spinner Through ArrayAdapter 223

AutoCompleteTextView 225

Using the GridView Control 227

GridView Attributes 228

Displaying Images in GridView 231

Creating an image Gallery Using the ViewPager Control 235

Using the Debugging Tool: Dalvik Debug Monitor Service (DDMS) 239

Debugging Applications 245

Placing Breakpoints in an Application 245

Using the Debug Perspective 247

Debug Pane 248

Expressions Pane 249

Breakpoints Pane 250

Variables Pane 254

Adding Logging Support to Android Applications 255

Summary 256

6 Displaying and Fetching Information Using Dialogs and Fragments 259

What Are Dialogs? 259

AlertDialog 261

Methods of the AlertDialog.Builder Subclass 261

Getting Input via the Dialog Box 264

DatePickerDialog 267

TimePickerDialog 271

Selecting the Date and Time in One Application 275

Fragments 282

The Structure of a Fragment 282

The Life Cycle of a Fragment 282

Creating Fragments with Java Code 294

FragmentManager 294

Communicating Between Fragments 296

Navigating to Previous Fragments 296

Retrieving Content Passed Through Bundle 297

Saving and Restoring the State of Fragments 297

Creating Special Fragments 301

Creating a ListFragment 301

Using a DialogFragment 305

Using PreferenceFragment 311

Summary 319

III Building Menus and Storing Data 323

7 Creating Interactive Menus and ActionBars 323

Menus and Their Types 323

Creating Menus Through XML 324

Creating an Options Menu 325

Adding Submenus 332

Creating a Context Menu 336

Creating Menus Through Coding 345

Defining Options Menus 345

Creating Submenus 346

Trying It Out 349

Applying a Context Menu to a ListView 354

Using the ActionBar 358

Enabling the ActionBar 360

Using an Application's Icon for Navigation 361

Displaying Action Items 362

Replacing a Menu with the ActionBar 370

Creating a Tabbed ActionBar 377

Creating a Drop-Down List ActionBar 380

Summary 384

8 Using Databases 385

Using the SQLiteOpenHelper Class 385

Building an SQLite Project 386

Fetching the Desired Rows from Tables 391

Using Cursors 392

Accessing Databases with the ADB 394

Accessing the Database Through Menus 398

Creating a Data Entry Form 401

Displaying Table Rows Via ListView 410

Summary 417

IV Advanced Android Programming: Internet, Entertainment, and Services

9 Implementing Drawing and Animation 421

Drawing on the Screen 421

Using Canvas and Paint 421

Using Gradients 436

Animations 445

Understanding Frame-by-Frame Animation 446

Understanding Tweening Animation 453

Applying Interpolators 471

Summary 472

10 Displaying Web Pages and Maps 473

Displaying Web Pages 473

Enabling JavaScript 477

Handling Page Navigation 477

Adding Permission for Internet Access 478

Using the WebViewClient Class 48O

Using Google Maps 483

Obtaining a Google Maps API Key 483

Installing the Google API 484

AVDs for Map-Based Applications 485

Creating a Google Maps-Based Application 486

Using Location-Based Services 490

Supplying Latitude and Longitude Values Through DDMS 494

Sending GPS Locations Manually 495

Passing Locations in GPX/KML Format 496

Displaying Map Locations 496

Printing the GPS Location Address 502

Displaying Map Markers 507

Using ItemizedOverlay 511

Summary 516

11 Communicating with SMS and Emails 517

Understanding Broadcast Receivers 517

Broadcasting an intent 518

Receiving the Broadcast intent 519

Using the Notification System 523

Notification via the Status Bar 523

Sending SMS Messages with Java Code 531

Getting Permission to Send SMS Messages 534

Writing Java Code 534

Receiving SMS Messages 541

Sending Email 546

Working with the Telephony Manager 553

Making the Outgoing Call 553

Listening for Phone State Changes 554

Summary 558

12 Creating and Using Content Providers 559

What Is a Content Provider 559

Understanding the Android Content URI 560

Using Content Providers 561

Creating a Custom Content Provider 566

Defining a Content Provider 566

Defining a Database 568

Defining the Content URI 569

Defining MIME Types 570

Implementing the getType, query, insert, update, and delete Methods 571

Registering Content Providers 587

Summary 589

13 Creating and Consuming Services 591

Moving Tasks to Background Threads 591

Customer Reviews

Average Review:

Post to your social network


Most Helpful Customer Reviews

See all customer reviews

Android Programming Unleashed 4 out of 5 based on 0 ratings. 1 reviews.
Anonymous More than 1 year ago