توسعهٔ برنامههای کاربردی بیسیم اندروید، ویرایش سوم: جلد II: موضوعات پیشرفته
Android Wireless Application Development, 3rd Edition: Volume II: Advanced Topics
معرفی کتاب «توسعهٔ برنامههای کاربردی بیسیم اندروید، ویرایش سوم: جلد II: موضوعات پیشرفته» (با عنوان لاتین Android Wireless Application Development, 3rd Edition: Volume II: Advanced Topics) نوشتهٔ Lauren Darcey, Shane Conder، منتشرشده توسط نشر Addison-Wesley Professional در سال 2012. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Android Wireless Application Development has earned a reputation as the most useful real-world guide to building robust, commercial-grade Android apps. Now, authors Lauren Darcey and Shane Conder have systematically revised and updated this guide for the latest Android SDK and tools updates. To accommodate their extensive new coverage, they've split the book into two leaner, cleaner volumes. This Volume II focuses on advanced techniques for the entire app development cycle, including design, coding, testing, debugging, and distribution. Darcey and Conder cover hot topics ranging from tablet development to protecting against piracy and demonstrate advanced techniques for everything from data integration and UI development to in-app billing. Every chapter has been thoroughly updated to reflect the latest SDKs, tools, and devices. The sample code has been completely overhauled and is available for download on a companion website. Drawing on decades of in-the-trenches experience as professional mobile developers, the authors also provide even more tips and best practices for highly efficient development. This new edition covers Advanced app design with async processing, services, SQLite databases, content providers, intents, and notifications Sophisticated UI development, including input gathering via gestures and voice recognition Developing accessible and internationalized mobile apps Maximizing integrated search, cloud-based services, and other exclusive Android features Leveraging Android 4.0 APIs for networking, web, location services, the camera, telephony, and hardware sensors Building richer apps with 2D/3D graphics (OpenGL ES and RenderScript), animation, and the Android NDK Tracking app usage patterns with Google Analytics Streamlining testing with the Android Debug Bridge This book is an indispensable resource for every intermediate- to advanced-level Java developer now participating in Android development and for every seasoned mobile developer who wants to take full advantage of the newest Android platform and hardware. Also look for: Android Wireless Application Development, Volume I: Android Essentials (ISBN: 9780321813831) Contents 8 Introduction 26 I: Advanced Android Application Design Principles 34 1 Threading and Asynchronous Processing 34 The Importance of Processing Asynchronously 34 Working with the AsyncTask Class 35 Working with the Thread Class 38 Working with Loaders 39 Understanding StrictMode 39 Summary 40 References and More Information 40 2 Working with Services 42 Determining When to Use Services 42 Understanding the Service Lifecycle 43 Creating a Service 43 Controlling a Service 48 Implementing a Remote Interface 49 Implementing a Parcelable Class 51 Using the IntentService Class 54 Summary 58 References and More Information 58 3 Leveraging SQLite Application Databases 60 Storing Structured Data Using SQLite Databases 60 Summary 80 References and More Information 80 4 Building Android Content Providers 82 Acting as a Content Provider 82 Enhancing Applications Using Content Providers 90 Summary 96 References and More Information 96 5 Broadcasting and Receiving Intents 98 Sending Broadcasts 98 Receiving Broadcasts 100 Securing Application Broadcasts 105 Summary 105 References and More Information 106 6 Working with Notifications 108 Notifying the User 108 A Word on Compatibility 109 Notifying with the Status Bar 109 Vibrating the Phone 116 Blinking the Lights 117 Making Noise 118 Customizing the Notification 119 Designing Useful Notifications 121 Summary 122 References and More Information 122 II: Advanced Android User Interface Design Principles 124 7 Designing Powerful User Interfaces 124 Following Android User Interface Guidelines 124 Working with Menus 125 Enabling Action Bars 130 Working with Styles 139 Working with Themes 144 Summary 146 References and More Information 147 8 Handling Advanced User Input 148 Working with Textual Input Methods 148 Handling User Events 152 Working with Gestures 156 Working with the Trackball 168 Handling Screen Orientation Changes 169 Summary 171 References and More Information 172 9 Designing Accessible Applications 174 Exploring the Accessibility Framework 174 Leveraging Speech Recognition Services 176 Leveraging Text-To-Speech Services 180 Summary 183 References and More Information 183 10 Best Practices for Tablet and Google TV Development 184 Understanding Device Diversity 184 Developing Applications for Tablets 187 Developing Applications for Google TV 189 Developing Apps for the Amazon Kindle Fire 191 Summary 192 References and More Information 193 III: Leveraging Common Android APIs 194 11 Using Android Networking APIs 194 Understanding Mobile Networking Fundamentals 194 Understanding Strict Mode with Networking 195 Accessing the Internet (HTTP) 195 Summary 206 References and More Information 206 12 Using Android Web APIs 208 Browsing the Web with WebView 208 Building Web Extensions Using WebKit 215 Working with Flash 220 Summary 221 References and More Information 221 13 Using Location-Based Services APIs 222 Using Global Positioning Services (GPS) 222 Geocoding Locations 225 Mapping Locations 229 Doing More with Location-Based Services 241 Summary 242 References and More Information 242 14 Using Android Multimedia APIs 244 Working with Multimedia 244 Working with the Camera 245 Working with Audio 258 Summary 263 References and More Information 263 15 Using Android Telephony APIs 264 Working with Telephony Utilities 264 Using SMS 269 Making and Receiving Phone Calls 273 Working with SIP 276 Summary 276 References and More Information 277 16 Accessing Android’s Hardware Sensors 278 Interacting with Device Hardware 278 Using the Device Sensors 279 Monitoring the Battery 283 Summary 286 References and More Information 286 17 Using Android’s Optional Hardware APIs 288 Working with Bluetooth 288 Working with USB 292 Working with Android Beam 294 Working with Wi-Fi 298 Summary 301 References and More Information 301 IV: Drawing, Animations, and Graphics Programming with Android 304 18 Developing Android 2D Graphics Applications 304 Drawing on the Screen 304 Working with Text 309 Working with Bitmaps 312 Working with Shapes 314 Leveraging Hardware Acceleration Features 322 Summary 324 References and More Information 324 19 Working with Animation 326 Exploring Android’s Animation Abilities 326 Working with Different Interpolators 338 Summary 339 References and More Information 339 20 Developing Android 3D Graphics Applications 340 Working with OpenGL ES 340 Using OpenGL ES APIs in the Android SDK 342 Handling OpenGL ES Tasks Manually 343 Drawing 3D Objects 350 Interacting with Android Views and Events 358 Cleaning Up OpenGL ES 362 Using GLSurfaceView (Easy OpenGL ES) 362 Using OpenGL ES 2.0 366 Working with RenderScript 370 Summary 378 References and More Information 378 21 Using the Android NDK 380 Determining When to Use the Android NDK 380 Installing the Android NDK 381 Exploring the Android NDK 382 Creating Your Own NDK Project 382 Improving Graphics Performance 387 A Comparison to RenderScript 388 Summary 388 References and More Information 389 V: Maximizing Android’s Unique Features 390 22 Extending Android Application Reach 390 Enhancing Your Applications 390 Working with App Widgets 391 Working with Live Wallpapers 400 Creating a Live Wallpaper 401 Acting as a Content Type Handler 406 Determining Intent Actions and MIME Types 407 Summary 409 References and More Information 409 23 Enabling Application Search 410 Making Application Content Searchable 410 Summary 423 References and More Information 423 24 Working with Cloud to Device Messaging 424 An Overview of C2DM 424 What Alternatives to C2DM Exist? 428 Summary 429 References and More Information 429 25 Managing User Accounts and Synchronizing User Data 430 Managing Accounts with the Account Manager 430 Using Backup Services 432 Summary 439 References and More Information 439 VI: Advanced Topics in Application Publication and Distribution 440 26 Internationalizing Your Applications 440 Internationalizing Applications 440 Publishing Applications for Foreign Users 447 Summary 447 References and More Information 447 27 An Overview of Third-Party In-App Billing APIs for Android 448 What Is In-App Billing? 448 Using In-App Billing 449 Leveraging Android Market In-App Billing APIs 450 Leveraging Amazon Appstore In-App Billing APIs 451 Leveraging PayPal Billing APIs 451 Leveraging Other Billing APIs 452 Summary 452 References and More Information 452 28 Enabling Application Statistics with Google Analytics 454 Creating a Google Account for Analytics 454 Adding the Library to Your Eclipse Project 456 Collecting Data from Your Applications 457 Logging Different Events 457 Using the Google Analytics Dashboard 458 Gathering eCommerce Information 461 Tracking Ad and Market Referrals 463 Gathering Statistics 463 Protecting Users’ Privacy 464 Summary 464 References and More Information 464 29 Protecting Applications from Software Piracy 466 All Applications Are Vulnerable 466 Using Secure Coding Practices 467 Obfuscating with ProGuard 467 Leveraging the License Verification Library 469 Other Anti-Piracy Tips 470 Summary 471 References and More Information 471 VII: Appendices 472 A: The Android Debug Bridge Quick-Start Guide 472 Listing Connected Devices and Emulators 472 Directing ADB Commands to Specific Devices 473 Starting and Stopping the ADB Server 473 Listing ADB Commands 473 Issuing Shell Commands 474 Copying Files 475 Installing and Uninstalling Applications 476 Working with LogCat Logging 477 Controlling the Backup Service 480 Generating Bug Reports 481 Using the Shell to Inspect SQLite Databases 481 Using the Shell to Stress Test Applications 481 Installing Custom Binaries via the Shell 484 B: The SQLite Quick-Start Guide 488 Exploring Common Tasks with SQLite 488 Using the sqlite3 Command-Line Interface 489 Learning by Example: A Student Grade Database 494 Index 502 A 502 B 505 C 506 D 508 E 510 F 510 G 511 H 512 I 512 J 513 K 513 L 513 M 515 N 515 O 516 P 517 Q 518 R 518 S 519 T 522 U 523 V 524 W 524 X-Y 525 Z 525
دانلود کتاب توسعهٔ برنامههای کاربردی بیسیم اندروید، ویرایش سوم: جلد II: موضوعات پیشرفته