Android编程(第二版,影印版)
Zigurd Mednieks, Laird Dornin, G. Blake Meike, Masumi Nakamura
出版时间:2013年06月
页数:564
“我将把这本书推荐给所有不仅想要了解如何为Android编程,而且想要更好地理解它的体系的人。”
——Etienne Savard
Amazon.com上对于第一版的评论

“这本书没有停留在基本知识上,它对所有涉及的话题都提供了深入的见解。它还特别着重介绍了Android的数据架构如何为使用web服务的应用提供模型,这个模型改善了界面性能和数据呈现。”
——Ajit Jaokar
Amazon.com上对于第一版的评论

快速上手Android编程,学习如何创建适合于手持设备和平板电脑的最新用户体验。本次第二版进行了大范围的修订,从中你可以了解到Android工具和编程要点,包括使用Android 4 API的最佳实践。只要你熟悉Java或者Objective-C,你就能够搭建精心设计的应用。

《Android编程》第二版由如下四部分组成:
· 第一部分帮助那些具备基本Java或者iOS经验的程序员快速上手Android SDK和Android编程基础知识。
· 第二部分探讨了Android框架,着重于用户界面、图形类层次结构、并行和数据库。它是理解Android应用最重要部分如何工作的基石。
· 第三部分主要讲解了代码骨架和模式,以加速使用web数据、Android 4用户界面规则和API的应用开发。
· 第四部分的实例涵盖了Android的多媒体、搜索、位置、传感器和账号API以及本地代码开发包,从而让开发者可以加入高级特性。

《Android编程》的本次修订版本着重于开发成功Android项目所必须具备的知识和要点。
  1. Chapter 1: Installing the Android SDK and Prerequisites
  2. Installing the Android SDK and Prerequisites
  3. Test Drive: Confirm That Your Installation Works
  4. Components of the SDK
  5. Keeping Up-to-Date
  6. Example Code
  7. On Reading Code
  8. Chapter 2: Java for Android
  9. Android Is Reshaping Client-Side Java
  10. The Java Type System
  11. Scope
  12. Idioms of Java Programming
  13. Chapter 3: The Ingredients of an Android Application
  14. Traditional Programming Models Compared to Android
  15. Activities, Intents, and Tasks
  16. Other Android Components
  17. Component Life Cycles
  18. Static Application Resources and Context
  19. The Android Application Runtime Environment
  20. Extending Android
  21. Concurrency in Android
  22. Serialization
  23. Chapter 4: Getting Your Application into Users’ Hands
  24. Application Signing
  25. Placing an Application for Distribution in the Android Market
  26. Alternative Distribution
  27. Google Maps API Keys
  28. Specifying API-Level Compatibility
  29. Compatibility with Many Kinds of Screens
  30. Chapter 5: Eclipse for Android Software Development
  31. Eclipse Concepts and Terminology
  32. Eclipse Views and Perspectives
  33. Java Coding in Eclipse
  34. Eclipse and Android
  35. Preventing Bugs and Keeping Your Code Clean
  36. Eclipse Idiosyncrasies and Alternatives
  37. About the Android Framework
  38. Chapter 6: Building a View
  39. Android GUI Architecture
  40. Assembling a Graphical Interface
  41. Wiring Up the Controller
  42. The Menu and the Action Bar
  43. View Debugging and Optimization
  44. Chapter 7: Fragments and Multiplatform Support
  45. Creating a Fragment
  46. Fragment Life Cycle
  47. The Fragment Manager
  48. Fragment Transactions
  49. The Support Package
  50. Fragments and Layout
  51. Chapter 8: Drawing 2D and 3D Graphics
  52. Rolling Your Own Widgets
  53. Bling
  54. Chapter 9: Handling and Persisting Data
  55. Relational Database Overview
  56. SQLite
  57. The SQL Language
  58. SQL and the Database-Centric Data Model for Android Applications
  59. The Android Database Classes
  60. Database Design for Android Applications
  61. Using the Database API: MJAndroid
  62. A Skeleton Application for Android
  63. Chapter 10: A Framework for a Well-Behaved Application
  64. Visualizing Life Cycles
  65. Visualizing the Fragment Life Cycle
  66. The Activity Class and Well-Behaved Applications
  67. Life Cycle Methods of the Application Class
  68. Chapter 11: Building a User Interface
  69. Top-Level Design
  70. Visual Editing of User Interfaces
  71. Starting with a Blank Slate
  72. Laying Out the Fragments
  73. Folding and Unfolding a Scalable UI
  74. Making Activity, Fragment, Action Bar, and Multiple Layouts Work Together
  75. The Other Activity
  76. Chapter 12: Using Content Providers
  77. Understanding Content Providers
  78. Defining a Provider Public API
  79. Writing and Integrating a Content Provider
  80. File Management and Binary Data
  81. Android MVC and Content Observation
  82. A Complete Content Provider: The SimpleFinchVideoContentProvider Code
  83. Declaring Your Content Provider
  84. Chapter 13: A Content Provider as a Facade for a RESTful Web Service
  85. Developing RESTful Android Applications
  86. A “Network MVC”
  87. Summary of Benefits
  88. Code Example: Dynamically Listing and Caching YouTube Video Content
  89. Structure of the Source Code for the Finch YouTube Video Example
  90. Stepping Through the Search Application
  91. Step 1: Our UI Collects User Input
  92. Step 2: Our Controller Listens for Events
  93. Step 3: The Controller Queries the Content Provider with a managedQuery on the Content Provider/Model
  94. Step 4: Implementing the RESTful Request
  95. Advanced Topics
  96. Chapter 14: Search
  97. Search Interface
  98. Query Suggestions
  99. Chapter 15: Location and Mapping
  100. Location-Based Services
  101. Mapping
  102. The Google Maps Activity
  103. The MapView and MapActivity
  104. Working with MapViews
  105. MapView and MyLocationOverlay Initialization
  106. Pausing and Resuming a MapActivity
  107. Controlling the Map with Menu Buttons
  108. Controlling the Map with the Keypad
  109. Location Without Maps
  110. StreetView
  111. Chapter 16: Multimedia
  112. Audio and Video
  113. Playing Audio and Video
  114. Recording Audio and Video
  115. Stored Media Content
  116. Chapter 17: Sensors, NFC, Speech, Gestures, and Accessibility
  117. Sensors
  118. Near Field Communication (NFC)
  119. Gesture Input
  120. Accessibility
  121. Chapter 18: Communication, Identity, Sync, and Social Media
  122. Account Contacts
  123. Authentication and Synchronization
  124. Bluetooth
  125. Chapter 19: The Android Native Development Kit (NDK)
  126. Native Methods and JNI Calls
  127. The Android NDK
  128. Native Libraries and Headers Provided by the NDK
  129. Building Your Own Custom Library Modules
  130. Native Activities
书名:Android编程(第二版,影印版)
国内出版社:东南大学出版社
出版时间:2013年06月
页数:564
书号:978-7-5641-4201-8
原版书书名:Programming Android, 2nd Edition
原版书出版商:O'Reilly Media
Zigurd Mednieks
 
Zigurd Mednieks是领先的OEM、企业和创建基于Android系统和软件的创业咨询顾问。在此之前,他是D2 Technologies的首席架构师,D2 Technologies是Voice over IP (VoIP)的技术提供商。在D2 Technologies,他带领工程和产品定义工作,把通信和社交媒体结合到专用的嵌入式系统和Android平台上。
 
 
Laird Dornin
 
Laird Dornin是一名移动开发架构师,在Java、Android、J2ME、SavaJe和WebKit浏览器库方面有丰富的经验。他是Sun Microsystems的J2SE开发团队成员,是Java RMI和Jini的技术专家。他目前是一家大型无线运营商的高级工程师,为该运营商的开发者社区提供Android架构指南和Network API支持。
 
 
G. Blake Meike
 
G. Blake Meike是一个经验丰富的开发人员,在移动和服务端平台构建Java应用方面有丰富的经验。
 
 
Masumi Nakamura
 
Masumi Nakamura(中村真澄)是Placester公司工程副总裁和TechStars的教师,有超过15年的软件行业经验,他熟悉软件的各方面,从移动开发到扩展大规模后台系统,而且他还在运营Paypal公司的一个数据科学团队。
 
 
The animal on the cover of Programming Android, Second Edition is a pine grosbeak (Pinicola enucleator). A member of the finch family, these largest of the so-called “winter finches” can be found throughout the coniferous forests of the northern hemisphere: in Alaska, Canada, Scandinavia, and Siberia. More rarely, during the winter some individuals stray as far south as the upper Midwest and New England portions of the United States, and on occasion even into temperate Europe.

Adult pine grosbeaks are rather distinctive looking. Both males and females have long forked black tails and black wings with white wing bars. The remainder of a male’s plumage is predominantly red, while females display an olive color on the head and rump and gray on the back and underside. Conversely, colors on young pine grosbeaks are noticeably more subdued.

Pine grosbeaks feed mostly on vegetable matter, including the buds, seeds, and fruit of various varieties of tree, though they will also eat insects, and in fact prefer to feed such to their young. Interestingly, breeding adults will develop pouches in the floor of its mouth specifically designed to carry this food back to the nest.