TY - BOOK AU - Harwani, B. M. TI - Android programming unleashed SN - 9780672336287 AV - QA 76.774.A53 .H37 2013 PY - 2013/// CY - Indianapolis, Indiana PB - Sams Publishing KW - ANDROID (ELECTRONIC RESOURCE) N1 - Includes index; Introduction 1Key Topics That This Book Covers 1Key Benefits That This Book Provides 2How This Book Is Organized 2Code Examples for This Book 5I: Fundamentals of Android Development1 Introduction to Android 9The Android 4.1 Jelly Bean SDK 9Understanding the Android Software Stack 11Installing 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 24Creating Android Virtual Devices 24Creating the First Android Project 27 Laying Out the Application 31 Defining Action Code Through Java 34 Running the Application 36Using 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 43Using the Android Emulator 47 Limitations of the Android Emulator 47The Android Debug Bridge (ADB) 48Launching Android Applications on a Handset 50Summary 512 Basic Widgets 53Understanding the Role of Android Application Components 53Understanding the Utility of Android API 55Overview of the Android Project Files 57Understanding Activities 59 Understanding the Android Activity Life Cycle 60Role of the Android Manifest File 61 Using the Manifest Editor 64Creating the User Interface 64Commonly Used Layouts and Controls 66Event Handling 67 Creating an Anonymous Inner Class 68 Activity Implementing the OnClickListener Interface 71 Declaring the Event Handler in the XML Control Definition 72Displaying Messages Through Toast 75Creating 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 81Using the EditText Control 82 Attributes Used to Configure the EditText Control 82 Adding an Event Listener to the EditText Control 84Choosing Options with CheckBox 87Choosing Mutually Exclusive Items Using RadioButtons 91Summary 98II: Building Blocks for Android Application Design3 Laying Out Controls in Containers 101Introduction to Layouts 101LinearLayout 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 109RelativeLayout 111 Layout Control Attributes 113AbsoluteLayout 121Using ImageView 124FrameLayout 125TableLayout 129 Operations Applicable to TableLayout 129GridLayout Layout 133 Specifying Row and Column Position 134 Spanning Rows and Columns 134 Inserting Spaces in the GridLayout 134Adapting to Screen Orientation 138 Anchoring Controls 138 Defining Layout for Each Mode 140Summary 1454 Utilizing Resources and Media 147Resources 147 Types of Resources 148Creating Values Resources 150 Dimension Resources 153 Color Resources 156 Styles and Themes 159 Applying Themes 162 Arrays 165Using Drawable Resources 170Switching States with Toggle Buttons 174Creating an Image Switcher Application 179Scrolling Through ScrollView 183 Use of the android:fillViewport Attribute 185Playing Audio 186 Adding Audio to the Application 187Playing Video 195 Loading Video onto an SD Card 195Displaying Progress with ProgressBar 199Using Assets 204Summary 2075 Using Selection Widgets and Debugging 209Using ListView 209 Creating a ListView with an Activity Base Class 211 Creating ListView by Extending ListActivity 217Using the Spinner Control 220 Populating a Spinner Through Resources 220 Populating a Spinner Through ArrayAdapter 223 AutoCompleteTextView 225Using the GridView Control 227 GridView Attributes 228 Displaying Images in GridView 231Creating an Image Gallery Using the ViewPager Control 235Using the Debugging Tool: Dalvik Debug Monitor Service (DDMS) 239Debugging Applications 245 Placing Breakpoints in an Application 245Using the Debug Perspective 247 Debug Pane 248 Expressions Pane 249 Breakpoints Pane 250 Variables Pane 254 Adding Logging Support to Android Applications 255Summary 2566 Displaying and Fetching Information Using Dialogs and Fragments 259What Are Dialogs? 259 AlertDialog 261 Methods of the AlertDialog.Builder Subclass 261 Getting Input via the Dialog Box 264 DatePickerDialog 267 TimePickerDialog 271Selecting the Date and Time in One Application 275Fragments 282 The Structure of a Fragment 282 The Life Cycle of a Fragment 282Creating 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 297Creating Special Fragments 301 Creating a ListFragment 301 Using a DialogFragment 305 Using PreferenceFragment 311Summary 319III: Building Menus and Storing Data7 Creating Interactive Menus and ActionBars 323Menus and Their Types 323Creating Menus Through XML 324 Creating an Options Menu 325 Adding Submenus 332 Creating a Context Menu 336Creating Menus Through Coding 345 Defining Options Menus 345 Creating Submenus 346 Trying It Out 349Applying a Context Menu to a ListView 354Using the ActionBar 358 Enabling the ActionBar 360 Using an Application's Icon for Navigation 361 Displaying Action Items 362Replacing a Menu with the ActionBar 370Creating a Tabbed ActionBar 377Creating a Drop-Down List ActionBar 380Summary 3848 Using Databases 385Using the SQLiteOpenHelper Class 385 Building an SQLite Project 386 Fetching the Desired Rows from Tables 391 Using Cursors 392Accessing Databases with the ADB 394 Accessing the Database Through Menus 398Creating a Data Entry Form 401 Displaying Table Rows Via ListView 410Summary 417IV: Advanced Android Programming: Internet, Entertainment, and Services9 Implementing Drawing and Animation 421Drawing on the Screen 421 Using Canvas and Paint 421 Using Gradients 436Animations 445 Understanding Frame-by-Frame Animation 446 Understanding Tweening Animation 453Applying Interpolators 471Summary 47210 Displaying Web Pages and Maps 473Displaying Web Pages 473 Enabling JavaScript 477 Handling Page Navigation 477 Adding Permission for Internet Access 478Using the WebViewClient Class 480Using 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 511Summary 51611 Communicating with SMS and Emails 517Understanding Broadcast Receivers 517 Broadcasting an Intent 518 Receiving the Broadcast Intent 519Using the Notification System 523 Notification via the Status Bar 523Sending SMS Messages with Java Code 531 Getting Permission to Send SMS Messages 534 Writing Java Code 534Receiving SMS Messages 541Sending Email 546Working with the Telephony Manager 553 Making the Outgoing Call 553 Listening for Phone State Changes 554Summary 55812 Creating and Using Content Providers 559What Is a Content Provider 559Understanding the Android Content URI 560Using Content Providers 561Creating 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 587Summary 58913 Creating and Consuming Services 591Moving Tasks to Background Threads 591 Using the Handler Class 592 Using the AsyncTask Class 594Accessing Data from the Internet 598 Consuming SOAP Services 602Creating a Service 607 Interacting with the Service 611Creating a Bound Service 614Setting Up Alarms 619 Setting Repeating Alarms 620 Setting Up the Time for the Alarm 620Using Sensors 626Summary 63114 Publishing Android Applications 633Setting Versioning Information of an Application 633Generating a Certificate, Digitally Signing the Android Applications, and Generating the APK 636 Signing Applications Using the Export Android Application Wizard 637Distributing Applications with Google Play 638 Getting Started with Google Play 639 Localizing Android Applications 641 Monetizing Our Applications 642Summary 642Index 643 N2 - Android Programming Unleashed is the most comprehensive and technically sophisticated guide to best-practice Android development with today's powerful new versions of Android: 4.1 (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 ER -