Android Wireless Application Development

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Android™ Wireless Application Development  Second Edition

 

Lauren Darcey

Shane Conder

 

The start-to-finish guide to Android application development: massively updated for the newest SDKs and developer techniques!

 

This book delivers all the up-to-date information, tested code, and best practices you need to create and market successful mobile apps with the latest versions of Android. Drawing on their extensive experience with mobile and wireless development, Lauren Darcey and Shane Conder cover every step: concept, design, coding, testing, packaging, and delivery. The authors introduce the Android platform, explain the principles of effective Android application design, and present today’s best practices for crafting effective user interfaces. Next, they offer detailed coverage of each key Android API, including data storage, networking, telephony, location-based services, multimedia, 3D graphics, and hardware.

 

Every chapter of this edition has been updated for the newest Android SDKs, tools, utilities, and hardware. All sample code has been overhauled and tested on leading devices from multiple companies, including HTC, Motorola, and ARCHOS. Many new examples have been added, including complete new applications. This new edition also adds

 

  • Nine new chapters covering web APIs, the Android NDK, extending application reach, managing users, data synchronization, backups, advanced user input, and more
  • Greatly expanded coverage of Android manifest files, content providers, app design, and testing
  • New coverage of hot topics like Bluetooth, gestures, voice recognition, App Widgets, live folders, live wallpapers, and global search
  • Updated 3D graphics programming coverage reflecting OpenGL ES 2.0
  • An all-new chapter on tackling cross-device compatibility issues, from designing for the smallest phones to the big new tablets hitting the market
  • Even more tips and tricks to help you design, develop, and test applications for different devices
  • A new appendix full of Eclipse tips and tricks

 

This book is an indispensable resource for every member of the Android development team: software developers with all levels of mobile experience, team leaders and project managers, testers and QA specialists, software architects, and even marketers.

 

Programming/Java

Author(s): Shane Conder, Lauren Darcey
Series: Developer's Library
Edition: 2
Publisher: Addison-Wesley Professional
Year: 2010

Language: English
Pages: 793

Table of Contents......Page 9
Who Should Read This Book......Page 32
How This Book Is Structured......Page 33
An Overview of Changes in This Edition......Page 34
Development Environment Used in This Book......Page 35
Where to Find More Information......Page 36
Contacting the Authors......Page 37
A Brief History of Mobile Software Development......Page 38
The Open Handset Alliance......Page 46
Android Platform Differences......Page 49
The Android Platform......Page 54
References and More Information......Page 59
Configuring Your Development Environment......Page 60
Exploring the Android SDK......Page 63
References and More Information......Page 72
Testing Your Development Environment......Page 74
Building Your First Android Application......Page 79
Summary......Page 97
References and More Information......Page 98
Mastering Important Android Terminology......Page 100
Using the Application Context......Page 101
Performing Application Tasks with Activities......Page 102
Working with Services......Page 109
Receiving and Broadcasting Intents......Page 110
References and More Information......Page 111
Configuring the Android Manifest File......Page 112
Managing Your Application’s Identity......Page 117
Enforcing Application System Requirements......Page 118
Registering Activities and Other Application Components......Page 123
Working with Permissions......Page 125
References and More Information......Page 127
What Are Resources?......Page 128
Setting Simple Resource Values Using Eclipse......Page 135
Working with Resources......Page 138
Referencing System Resources......Page 162
References and More Information......Page 163
Introducing Android Views and Layouts......Page 164
Displaying Text to Users with TextView......Page 165
Retrieving Data from Users......Page 168
Using Buttons, Check Boxes, and Radio Groups......Page 175
Getting Dates and Times from Users......Page 181
Using Indicators to Display Data to Users......Page 182
Adjusting Progress with SeekBar......Page 184
Providing Users with Options and Context Menus......Page 188
Handling User Events......Page 192
Working with Dialogs......Page 196
Working with Styles......Page 199
Working with Themes......Page 201
Summary......Page 202
Creating User Interfaces in Android......Page 204
Organizing Your User Interface......Page 208
Using Built-In Layout Classes......Page 212
Using Built-In View Container Classes......Page 223
Summary......Page 234
Drawing on the Screen......Page 236
Working with Text......Page 241
Working with Bitmaps......Page 243
Working with Shapes......Page 245
Working with Animation......Page 252
Summary......Page 261
Working with Application Preferences......Page 262
Working with Files and Directories......Page 266
Storing Structured Data Using SQLite Databases......Page 270
Summary......Page 288
References and More Information......Page 289
Exploring Android’s Content Providers......Page 290
Modifying Content Providers Data......Page 298
Enhancing Applications Using Content Providers......Page 300
Acting as a Content Provider......Page 305
Working with Live Folders......Page 313
References and More Information......Page 316
Understanding Mobile Networking Fundamentals......Page 318
Accessing the Internet (HTTP)......Page 319
Summary......Page 329
References and More Information......Page 330
Browsing the Web with WebView......Page 332
Building Web Extensions Using WebKit......Page 338
Working with Flash......Page 342
References and More Information......Page 345
Using Global Positioning Services (GPS)......Page 346
Geocoding Locations......Page 349
Mapping Locations......Page 353
Doing More with Location-Based Services......Page 363
References and More Information......Page 364
Working with Multimedia......Page 366
Working with Still Images......Page 367
Working with Video......Page 374
Working with Audio......Page 377
References and More Information......Page 382
Working with Telephony Utilities......Page 384
Using SMS......Page 388
Making and Receiving Phone Calls......Page 393
References and More Information......Page 396
Working with OpenGL ES......Page 398
Handling OpenGL ES Tasks Manually......Page 400
Drawing 3D Objects......Page 407
Interacting with Android Views and Events......Page 414
Cleaning Up OpenGL ES......Page 418
Using GLSurfaceView (Easy OpenGL ES)......Page 419
Using OpenGL ES 2.0......Page 422
Summary......Page 426
References and More Information......Page 427
Determining When to Use the Android NDK......Page 428
Exploring the Android NDK......Page 429
Creating Your Own NDK Project......Page 430
Improving Graphics Performance......Page 434
References and More Information......Page 436
Interacting with Device Hardware......Page 438
Using the Device Sensor......Page 439
Working with Wi-Fi......Page 443
Working with Bluetooth......Page 445
Monitoring the Battery......Page 448
Summary......Page 451
References and More Information......Page 452
Notifying the User......Page 454
Notifying with the Status Bar......Page 455
Vibrating the Phone......Page 460
Blinking the Lights......Page 461
Making Noise......Page 462
Customizing the Notification......Page 463
Summary......Page 465
References and More Information......Page 466
Determining When to Use Services......Page 468
Creating a Service......Page 469
Controlling a Service......Page 474
Implementing a Remote Interface......Page 475
Implementing a Parcelable Class......Page 477
References and More Information......Page 480
Enhancing Your Applications......Page 482
Working with App Widgets......Page 483
Working with Live Wallpapers......Page 492
Acting as a Content Type Handler......Page 497
Determining Intent Actions and MIME Types......Page 498
Making Application Content Searchable......Page 500
Working with Live Folders......Page 511
References and More Information......Page 518
Managing Accounts with the Account Manager......Page 520
Using Backup Services......Page 522
References and More Information......Page 528
Working with Textual Input Methods......Page 530
Exploring the Accessibility Framework......Page 533
Working with Gestures......Page 539
Handling Common Single-Touch Gestures......Page 540
Handling Screen Orientation Changes......Page 550
References and More Information......Page 553
Maximizing Application Compatibility......Page 554
Designing User Interfaces for Compatibility......Page 556
Providing Alternative Application Resources......Page 562
Internationalizing Applications......Page 570
Targeting Different Device Configurations......Page 576
Summary......Page 579
References and More Information......Page 580
An Overview of the Mobile Development Process......Page 582
Choosing a Software Methodology......Page 583
Gathering Application Requirements......Page 584
Assessing Project Risks......Page 589
Writing Essential Project Documentation......Page 593
Leveraging Configuration Management Systems......Page 594
Designing Mobile Applications......Page 595
Testing Mobile Applications......Page 598
Supporting and Maintaining Mobile Applications......Page 599
References and More Information......Page 601
Best Practices in Designing Bulletproof Mobile Applications......Page 602
Avoiding Silly Mistakes in Android Application Design......Page 609
Best Practices in Developing Bulletproof Mobile Applications......Page 610
Summary......Page 614
References and More Information......Page 615
Best Practices in Testing Mobile Applications......Page 616
References and More Information......Page 627
Choosing the Right Distribution Model......Page 628
Packaging Your Application for Publication......Page 629
Distributing Your Applications......Page 634
References and More Information......Page 643
Simulating Reality: The Emulator’s Purpose......Page 644
Working with Android Virtual Devices (AVDs)......Page 646
Launching the Emulator with a Specific AVD......Page 651
Configuring the GPS Location of the Emulator......Page 654
Messaging Between Two Emulator Instances......Page 656
Interacting with the Emulator Through the Console......Page 659
Understanding Emulator Limitations......Page 663
Using DDMS with Eclipse and as a Stand-Alone Application......Page 666
Getting Up to Speed Using Key Features of DDMS......Page 667
Working with Processes......Page 668
Working with the File Explorer......Page 672
Working with the Emulator Control......Page 673
Working with Application Logging......Page 675
Taking Screen Captures of Emulator and Device Screens......Page 676
Listing Connected Devices and Emulators......Page 678
Starting and Stopping the ADB Server......Page 679
Issuing Shell Commands......Page 680
Copying Files......Page 681
Installing and Uninstalling Applications......Page 682
Working with LogCat Logging......Page 683
Controlling the Backup Service......Page 685
Generating Bug Reports......Page 686
Using the Shell to Stress Test Applications......Page 687
Installing Custom Binaries via the Shell......Page 690
Exploring Other ADB Commands......Page 691
Organizing Your Eclipse Workspace......Page 692
Writing Code in Java......Page 694
Exploring Common Tasks with SQLite......Page 700
Using the sqlite3 Command-Line Interface......Page 701
Learning by Example: A Student Grade Database......Page 706
A......Page 714
B......Page 723
C......Page 725
D......Page 733
E......Page 739
F......Page 741
G......Page 743
H......Page 745
I......Page 746
J......Page 750
L......Page 751
M......Page 754
N......Page 761
O......Page 762
P......Page 764
R......Page 768
S......Page 772
T......Page 781
U......Page 786
V......Page 787
W......Page 789
Z......Page 792