【Mood-12】Android开发相关书籍推荐

新年伊始,找到Android进阶干货若干,2015拜读。

 

1.Android应用UI设计模式

http://ec4.images-amazon.com/images/I/61c-sMOo9YL.jpg

目前,谷歌Android操作系统在移动市场中风头正劲,并且未来发展势不可挡。《Android应用UI设计模式》面向Android 4.0+操作系统,是市面上第一本深入解析Android界面设计的佳作。《Android应用UI设计模式》从适用于移动设备和平板的通用模式以及 Android UI设计指南出发,深入探讨了58种重要的Android交互设计模式及其应用。每种模式登场之前,先用基本知识铺路,接着展示常见的设计陷阱和欠佳的设 计模式,最后对这些模式进行改进,从而打造卓越的交互设计以及直观的信息架构。
  《Android应用UI设计模式》可满足移动设计人员和开发人员的需求,帮助他们轻松成为移动用户体验设计高手。

 

2.打造高质量Android应用:Android开发必知的50个诀窍

data:image/jpeg;base64,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

本书是目前唯一一本从开发技巧角度讲解Android应用开发的著作,旨在迅速提高开发者解决各种疑难问题的能力,从而打造出高质量的Android应 用。作译者都是经验丰富的Android开发工程师,作者悉心总结Android应用开发中会遇到的50个经典问题,这些问题涉及布局、动画、视图、工 具、列表、适配器、实用库、与其他编程语言的交互、数据库、构建工具、代码复用、避免代码碎片化等多个方面。本书以“问题/解决方案”的形式给出疑难问题 的解决方案,同时结合示例代码,深入剖析这些实用的编程技巧和模式,旨在帮助开发人员提高编程效率,改进代码质量,打造高质量的Android应用。

 

3.深入理解Android内核设计思想

data:image/jpeg;base64,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

《深入理解Android内核设计思想》适用于Android 4.3以上的版本。全书从操作系统的基础知识入手,全面剖析进程/线程、内存管理、Binder机制、GUI显示系统、多媒体管理、输入系统等核心技术在 Android中的实现原理。书中讲述的知识点大部分来源于工程项目研发,因而具有较强的实用性,希望可以让读者“知其然,更知其所以然”。全书分为编译 篇、系统原理篇、应用原理篇、系统工具篇共4篇22章,基本涵盖了参与Android开发所需具备的知识,并通过大量图片与实例来引导读者学习,以求尽量 在源代码分析外为读者提供更易于理解的思维方式。
  《深入理解Android内核设计思想》既适合Android系统工程师,也适合于应用开发 工程师来阅读提升Android开发能力。读者可以在《深入理解Android内核设计思想》潜移默化的学习过程中更深刻地理解Android系统,并将 所学知识自然地应用到实际开发难题的解决中。

4.Android应用性能优化

data:image/jpeg;base64,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

今天的Android应用开发者经常要想尽办法来提升程序性能。由于应用越来越复杂,这个问题也变得越来越棘手。《Android应用性能优化》主要介绍 如何快速高效地优化应用,让应用变得稳定高效,你将学会利用Android SDK和NDK来混合或单独使用Java、C/C++来开发应用。《Android应用性能优化中还特别讲解了如下内容:一些OpenGL的优化技术以及 RenderScript(Android的新特性)的基础知识;利用SDK来优化应用的Java代码的技巧;通过高效使用内存来提升性能的技巧;延长电 池使用时间的技巧;使用多线程的时机及技巧;评测剖析代码的技巧。

 

5.Android系统源代码情景分析

data:image/jpeg;base64,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

《Android系统源代码情景分析》在内容上,结合使用情景,全面、深入、细致地分析Android系统的源代码,涉及到Linux内核层、硬件抽象层 (HAL)、运行时库层(Runtime)、应用程序框架层(ApplicationFramework)以及应用程序层(Application)。在 组织上,《Android系统源代码情景分析》将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇 章。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序、Binder进 程间通信驱动程序以及Ashmem匿名共享内存驱动程序;Android应用程序框架篇从组件、进程、消息以及安装四个维度来对Android应用程序的 框架进行了深入的剖析。通过上述内容及其组织,《Android系统源代码情景分析》能使读者既能从整体上把握Android系统的层次结构,又能从细节 上去掌握每一个层次的要点。

 

6.深入理解Android:卷I/卷II

http://ec4.images-amazon.com/images/I/41k6tFwYsHL._AA278_PIkin4,BottomRight,-34,22_AA300_SH20_OU28_.jpg

《深入理解Android:卷I》以情景方式对Android的源代码进行深入分析的书。内容广泛,以对Framework层的分析为主,兼顾 Native层和Application层;分析深入,每一部分源代码的分析都力求透彻;针对性强,注重实际应用开发需求,书中所涵盖的知识点都是 Android应用开发者和系统开发者需要重点掌握的。《深入理解Android:卷II》是“深入理解Android”系列的第二本,第一本书上市后得 到了广大读者的高度评价,在Android开发者社群内口口相传。本书不仅继承了第一本的优点、改正了其在细微处存在的一些不足,而且还在写作的总体思想 上进行了创新,更强调从系统设计者的角度去分析Android系统中各个模块内部的实现原理和工作机制。

 

7.Android软件安全与逆向分析

data:image/jpeg;base64,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

Android软件安全与逆向分析》由浅入深、循序渐进地讲解了Android系统的软件安全、逆向分析与加密解密技术。包括Android软件逆向分析 和系统安全方面的必备知识及概念、如何静态分析Android软件、如何动态调试Android软件、Android软件的破解与反破解技术的探讨,以及 对典型Android病毒的全面剖析。
  《Android软件安全与逆向分析》适合所有Android应用开发者、Android系统开发工程师、Android系统安全工作者阅读学习。

 

8.Android框架揭秘

data:image/jpeg;base64,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

《Android框架揭秘》通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及主要组件的工作原理。作者直接分析和整理了 Android框架的主要源代码,并详细讲解了理解框架工作原理所需的各种基础知识和构成实际Android平台骨干的服务框架。其中的主要内容包括:通 过启动程序了解Android框架的概要,移植Android以及如何开发适合各种机器的应用程序,分析Android框架所需的基础知 识,JNI(Java Native Interface)与Binder基础知识,Zygote、Service Manager、Service Server等Android核心组件,Android服务框架的结构与理解,通过Camera Service、Activity Manager Service等服务分析实际的Android服务等。

 

9.精彩绝伦的Android UI设计:响应式用户界面与设计模式

data:image/jpeg;base64,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

本书是Andriod UI设计领域的经典著作,Amazon五星级畅销书。不仅从Android应用设计者的角度系统讲解了要从事Android UI设计必须要掌握的Android平台的所有技术和特性,还从Android应用开发者的角度全面总结了Android UI设计的方法、技巧、模式、反模式,以及如何实现响应式用户界面设计。本书共21章,分为四部分。第一部分(第1~4章)讲述用户界面设计、用户界面设 计的工具、移动设备和触摸设备的设计,并探讨Android平台;第二部分(第5~11章)介绍 Android的应用架构和在线指南、Android的意图系统、Android应用的导航结构、主界面应用小部件、通知、物理按键、输入法和传感器设 计,以及平台用户界面组件设计;第三部分(第12~16章)讨论 Android资源的管理、Android应用的布局、可缩放的图形、响应式设计,以及如何实现响应式用户界面;第四部分(第17~21章)阐述用户界面 设计模式、用户操作设计模式、导航和布局设计模式、数据设计模式以及用户界面设计的反模式。

 

10.Android开发高手进阶(中国程序员)

http://ec4.images-amazon.com/images/I/51UOs98kXQL._AA278_PIkin4,BottomRight,-34,22_AA300_SH20_OU28_.jpg

在掌握了Android基础设计后,如何向高阶登入?作者从高级Android开发工程师的角度,以多年实战讲诉了每一位有志于成为Android开发高手可能遇到的实际问题并给出解答。
作者以7个知识点为主线贯穿全文,从动画的优化处理到跨通信进程的实现,分享了具有实际意义的技巧和最佳实践。本书并非是一本大而全的著作,旨在帮助开发者从更高的视角去理解Android设计以及内在机制。

 

11.Android经典项目案例开发实战宝典

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAFaAPcDASIAAhEBAxEB/8QAHAAAAQUBAQEAAAAAAAAAAAAAAQACBQYHBAMI/8QAVBAAAQMDAgIFBgkGCQoHAQEAAQIDEQAEBRIhBjEHE0FRYRQiMnGB0RUWNnSRlKGysyNCUlWxwSQmMzVUg5KT8DRDRFNiZHJzgsIlN0VjouHxJ4T/xAAaAQEBAQEBAQEAAAAAAAAAAAAAAQIDBAUG/8QANhEAAgIBAgUDAQMMAwEAAAAAAAECEQMEEgUhMUFRExVhUnGBoRQjMjM0QnKRscHR8CJTYuH/2gAMAwEAAhEDEQA/AKVxDxFmmeI8k01l75ttF26lCEXKwlICyAAJ2rg+Mue1qBzeR5/0pfvrz4lP8aMsJ/05775qPmFkx21qjJKHibOz/PWR+tL99D4zZ0z/AON5D60v31FqXPZTQd9qAlvjLnoH/jeR+tL99H4y57szeQ+tL99RIMeqj20BKjiXP8/hrIfWl++nDiXOduayH1pfvqIKt+fKlq32oCa+M2bgTmsgD85X76I4jzk/z1kPrS/fUNM79lFJ2malAl/jJnCY+Gr/AOtL99L4y5wH+ech9aX76igfH6aJUANqAkjxJnJ/nrIfWl++nDiPOfrrIT86X76idUmjqIoCV+MedP8A6zkPrS/fS+MWcj+esh9aX76jJPYYpagBAMzQEoeIs6B/PWQ+tL99NRxJnNQnNZD60v31HKI6vdW8/wCP30xsgL50BLHiPO/rnIfWl++iOIs5pH/jV/PzpfvqMJGoyaXPc7UBJniPODb4ZyH1pfvpfGPOT/POQj50v31GcyKXmxIJqAkvjHnP11kPrS/fSHEec/XOQ+tL99RsnnRB22P2VQSHxjzk/wA9ZD60v30fjHnP11kNv96X76je3cUZmdqgJIcSZyJ+Gb/f/eV++l8Y84Rtmch9aX76jJpA/TSgSfxizn65yH1pfvp3xizmqPhnIfWl++ounAigLhwTmcrd8XWTFzkrt5pXWakOPqUkw2o8ie+lXFwAZ40sP6z8NVKozSK/xL8qcsf9+e/ENcA3Wonbeu/iUj41ZYR/p733zUdyUa6UZCabzpSBypVAGfGlPdQ9VEAAyaAQ579tPBns9tNB2gA06ZHKgEDPLenGE+umT5wMeynkiJigCnnz9U0iRQnsoCZ5VAPAETPsFCBq50gSBFA8qAdsB/jegYnahPhypDw50AeZ50k7KFCI9VJPOgHzuQeVOHKJPupsnlFEKMRQCUrflSkUiTyiaA9QoAjfvojke+gCQZinBZPMbUAOdKlO+9IqJEbAUB0M2TzzaXoS2ytRSl1xQSkkc4J5+zvpPWTzLZdlDjIUElxpYUATymOU+PcasdlY27mSzTzlkrIjDIDdrYajDgCtOsxuQIkxzKq88lbW7F/inrexXjU5dgpurBZJCRq0yJ3g+kJ5EbUBWdpkGBS5czTQTFO50BZej8j462A/5n4aqVDo/wDlrYf1n4aqVZZpFf4l+VmW+fPfiGo7v2qS4kBHFWWV/v734hqMPM+uuqMjhz50jtyoCeyiOXjUAgmTvToopEAyIFatw10MWuV4essjkMndW7900HS00lMJSrdI3HOInxqAykSDsfVR9e1XrpE6OG+DbK0vrG6fu7Z1wtPKeA/JqiU8uwwfoqiDl30AZmiFct6A5GBRnbxoAgkUUwO+hMiaQI76AM7Ham7071UIFALnS7eUVZuj/ha14w4idxl5cPsNotVPBbMapCkiNwdvONTnSF0c4/gzCW9/Z3t1cOO3AaKXtMAEEzsBvtUBnxj1eFFMztFCKI3VygUA4knmKWoRv20J3pxRJ2FUAmDyFIEjb91DcGiD3ioAiKI/xtVl4B4VtuMM49j7q5etkNW5dCmYkmQIM9m9TnHnRvYcH8PoyVtf3Ny4q4S1oeCYAIUZ2HPagM9JIooQp1aW0JKlrMBI5k0Nyd6chSm3EuJUUqQdSVAwUnsNATNuL1p9N3pvsffWbYm7ZSSCgCATuCPN2kSCOzmaddt5FTr16pF9kL19sBV2+k+alQiU7kkxsCeQPLkak+A8NccZZq5xl1l7y3bbtVOS0rn5yRpg7Ab9lS3H/CbvBeNs7u0z2QuFvP8AVQ6uAgBJIiPEUBnbjbjDimnUKbWgwpChBFATzpy1rdWVuLUtaualGSfWe2mgGd6AsvR9J40seX+c/DVSo9HwI4zstuxz8NVKss0iu8Sn+NeW+fPffNR3NR9dSnEiP40ZdXb5c/8AiGo1A8410MiAjlE0YHZSgk8o7qRT7KAlOG8OriHiSwxGopTcvAOKHNKBuo/QDX0RxdxHbcGcPIvCgQHWmGkRIgkT9CAo+wVm3QbhEv5G/wA66iRbJ8nYJ7Fq3UfWBA/6qHTlmfKctYYNs+Zatl93fmpWyRHgB/8AKsvrRTS+N8J8ZODL+wZUFOLa61gg7FafOTv4xHtr5jSdtwZ7R3V9H9GGXTl+AsesuBbtqk2zomdJRsJ/6dJ9tYlx5ghw7xpf2KAQw4vr2J/QXvHsMj2UXUMjcRgsrn7hxjEWS7t1pOtaUEDSmYnciui/4R4ixb9tb3uHuG3rtRTbtJhanCOcBM1degrbifKeNmPvitC6QeKmODsazkkWrVzkXVFm1SseiDuok842HLmYo3zBjjnRfxo3bl84UqAElCXkFf0T9lVd1l62eWy+y4w82YW24kpUk9xB3rdejfpIu+Lr+4xmUtWGbppvrW3GJCVpkAggk7iR21G9OWEZOMsc62gC4afFu4QPSQoEifUR/wDI0sUY1z/dVmx/R1xdlLRN3bYZxLSxKS8tLZUO8BRmrb0L8KW9+/ccRXrSXRbOdVaJUJAXEqVHeAQB7e4VZ+kbpJf4SvGcZjLZl+9cb61xT8lDaTIGwIJJjv7KWKKl0T4nI4TpHfs8nZu2j4x7nmuDZQ1o3B5EeIqzdOPyRs/nyfuqqQ6POOG+NUv+W2bLGTst/wAnuFIV2pnccoI9Xs4OnDfhC0+ep+6qp3BlGO4P4jy9i3fY7DvXNq7IQ4hSYMGDzPeDXJZ4HL3+UdxlpjX7i8YWW3mm0z1SgYIUeQ3Ebmt36Jv/AC3xo7lPfiqpZPifhbo8U9bOrcVd3r67txllGpxZcUSVE7ACdhJ5Dtq2KMFyWOu8RkXcfkLcsXbMdY0VA6ZAI3Bg7EH2164rDZTN3PUYrHP3Su0tp8xP/Eo7D2mp7IBvpE6T1Kx4dZt8gtuS6AFoQhtIWSASPzTG/aK1y/dssNw+xa4VtAsmvNLNv6bgEAgd57SZmukIuTSRxy5Y4ouTMff6NuMbdlTy8OXABult5ClfQDv6hVacacZeWy80tp1BhTbiSlST3EHlWyW2ZW3cBTdlkG1qMIUpEBs9533FdfH2AtOKOGTeIS18NWbBfQWj5ziB6SfEGDHjXTLheOu55tNq1mtNUzKuE7jiK1y7h4WQtV+tkhYQhKz1cidlbc4qW4uvuPn8Ohvipl1Fj1ySkrZbR+UgxunflNdfQsQeOXCDzsHPvIq69Ngngu3+ft/cXXn7nu7GGgjlvJMCKsdh0e8W5K1TdMYV1LShKS8pLZV4wog1cOhrhW3u1v8AEd42lwsuFm1SoTpUACpfr3ge2rD0g9JD/CmQZxmNtGbi6U31jq3idLYMgCBBJME86ArHRHjr7E8e39nkbV21uEWCpQ4mP84jcHkR4ipvpx+T2M+ef9iqmuAOMmeNGHXbm0at8nZDQ5o3BQrcFJO4B07jvFQ3TgCeHcbH9M/7DUKYsNj3U5POhHZTgBEmqQs3R9B4ws9uxf4aqVLo+M8YWnZAX9xVKss0ivcSn+M+XE/6c/8AfNRyRvUhxJ8qst8+e++a4ATv3GuhgBiKao7TzpRud6n+B8CeI+Mcfj5/JBfXPHuQjc/Ty9tCm89H+CPDvBdhZuNhu4WjrnxG+tW8HxAgeyufK9F/DWbytxk8g1dO3NwrUtXlCgOUAADsAAp3SZmjguB751p0s3FwBbsEEhWpXOO4hOo+yvn34YzCx52YyB9dyv31jmyn0pw5wniuE7d9jEodbbfWFrS46V7gRImqH054Yu4/HZttvzrdwsPKA30q3TPgCCP+qs14f4oyOC4hssmu+uXm2XR1ra3VKCkHZQ3Pd9sV9FcS4pPEfCl9jmyk+V25DRPLVzSfpAp0YMl6Cz/GnJfMh99NSfTz6OE/4nv+2ozoNQtni7KNOpKHG7MpWk7FJDiQRUl09bpwf/E7+xNV9R2IPoWI+PbnZ/AnPvJq99NfyET88b/YqqF0LH+Pi52/gTn3k1femog8CCCD/DG/2KpLqOx69DKm1cAtpRGpNy6F+uZ/YRWb9LqFjpFuioEBTDRSSOY0xt7Qa6+ijjW24bvn8Xk3uqsL1QWh1XotOxBKj2AgDfs0itJ4x4BxnHAt7w3ara5aTpRcMwsLQd4I7R2iD206MdjOuhJt08a3a0T1abBYWezdaIHr2+w1bum/5H2vz1P3VV38I4fh7gXIpwFvequ8tkAXXFKjUEJG0geinnHaST7OLpsAVwbbqB2Teo+6qncdiS6JP/LnH+C3vxFVlfSmtTnSRkQpUhCWkpnsHVpMfSTWpdEagOjux3H8o9+Iqss6Uh//AEfJHvS1+Gmi6jse3RMpCePUpX6SrR5KN/zoH7prQX0qTjrYKQpJ1uGCI7qxfFZK5wuXtcpZEdfauBaQeShyKT4EEj21uic9hOMMN8I4+6m4t0Su2KgHEExIUn942r1abKoTSZ8viOnebE5R6pf7/QiySRzqYxI0ZFLjiYbTaEqWR5sR31y/BDrS7IvO60XhBhLektjbYmTPPntyqJ6QuNMbisA7wxh7kXF44nqHlJMhlB9IFQ21HlHZJ5V6tVqIuKUe583h2imsjlLtT/uVnoYg8dPFPomycj1a0Vdemv5FW/z9v7i6pPQzCeOVj/cXPvIq7dNRB4LYg/6e391dfL7n6VdDq6IFNq4Bt0t80vuhfr1T+wis06V0KT0h3xUCAppopJ7RoA29oNSXRXxpbcP3T+Iyb4Zsrpetp1XotObAyewERv2R41oHGHR/jeNXLe98sXbXLaNKX2gFpWg7wR2+Bnt7ahexROhJDp4pyK0g9UmzhZ7NRWmP2KqwdOHycx3zz/sNTXCOK4e4Nvjw7ZXZucpcoNxcKVBVpTAEgeiN9h4mobpvE8M2ChyF6J/sKoOxi8mlQogRVIWXo+H8cbM/8z8NVKl0f7cZ2W3PrPw1UqyzSK/xJ8qcv8+e++a4Egnma7+JT/GrLfPnvvmuNIBBmupg8zEkU5p563WVsPrZXEFTaykx6xTSATy5V746y+E8paY8PIYN08hrrV+ijUQJNCne/i+IXsTb5S5ZvbiwfXpZdUsuJKp0xEmDMgd/ZXmeH86eWDyJ/wD8q/dWy5/hy2Yxtv1165a4DBMINh5IoOPO3QUPPKYgkRAT2lRO1dXCF9xNaMeXcaZtpo3pDdhZXKWmVEncailIIUdhHZ64FYstGB3Fs/Zvli7t3Ld5Mam3UFKhO+4NSGGZzWdyrOKxl5cOXToV1aFXJSPNSSdydtga7+P8XxBY8R3F5xEwlD98orbdaVqaUBAhJ8BAg78q17g/HC3xPCd1ZYWwKHrOb286pIeb/JeaQeZKjseexqt8iGN5DhvOYLDt524dDNvcXC7bU0/55WkqCgqOe6Fbz2VCuvuvAKdfdejlrWVR9NfSF1bZG4xuOYcwGNfCsmryph1tBQ0wVr/KpBMayIPaZUdqxnjG5PDfShe3mLYYZVZPIWy2lsBtJ0D80RtUTKys2CLm7vW7WxS6q6fVobQ2dKlE9lWFXAvHC06XMLfrE+itwEfaa0jjPjLMWXC/DTls6205m2gm5WlBlGpKJKN9iNRipLya24cxmWw7udzt06pgPvXcF1dq2ZEgxt6KvHtpYoxLLcN5rAoaXl8c7ZpfUUtlyDqI58ie+vbEY3ia+tVLwrGTet0q0KNqpekHnBip3pLxDuDvsdbKzWQyjT7BfSbx3UUGY27tqsPRxqPRlmgnNJwqvLR/DlRDXoeI58ufbV7EKSOD+LkuF1OCygdVzX1atR9vOoq7F9bPuWl+q4bdaMOMvKMoPiDWw8NB4cRWRX0pM5caz/AklMvbHb0j6/ZWb9IaSePc1sDL/b/wiiDOJnD8SG3Su2x2VLKhqQWm3NKgdwRHfUvlej7ibGWVrfvsLvvK48y3C3HUbT54I27vZWjcIXeP4ltrS2xvEWZaYxSW2uqV1TIcAAGkwNSthE/bNTuWsnso7cXrmSzmEatG/ODK0BDoEnUANRJj1dlSy0fP93jcjjgk31hcWgWYQX2lJCiOwTzrvsOFM7f4X4ex1qX7dtwtksrh1JEck8zzHKameOuJcbncXY2lnksre3Fm6QBesoSdJEEykAlUgc6uF7h8vw/0d8OYPH3Btb++yTKH3G+aCrW4f7JSP7NWyGZXlnxLb2i3b9jLN2qR56nw4EJB2EztzNedzgL+x4fs84422LC8WW2VJXKiRPMf9JrcMxYDOZxp8ZwXOKZfTZ3eKLQU245MnUqeYJSYjmmqf0msMW3AlhbMtIaZazD7aG0CEpSFOgAVExRRLfh3iJTaH7bD5HQtIUhxppXnJO4II5g16K4c4pcTpcxGVcTMwtpZFXrhPH9JdtmMULxVynENqQFoL7RSGgNhAMxEVa8MxxejjbOO5Fb3wOttYsApxBSFSIgAyNp50sUYdf4fJY1CF5HG3FohwlKC82UhR7hNdWPx/ET2FucljTdnHWhKX1tXGkIgSfNmSI8KluKMRx/8Fm74nD7lnbLkLcebUEKUdIMJM9oFTXCHFHDL3DVpwZkMJevO3z4Q95OYQ8oqEKKgsKGwExtt3UBW1cG8Qs22MvmUpcXmdPkyWrgh1epOrzpiBG5MxUVl7PKYq+cx2WS+2+0d23VlQPcodhHiK3TiTE29zd2LPxSvci3jkjyV+2vUsBk7bJ/KJO2kbxWcdJ+Ssby+S0/g7ywzSdCluP3IdSGYPmgBZSN99gKIpQz6qQJpE0qELJwB8tLD+s/DVSpdHwnjOyPcHPw1UqyzSIHiVtQ4oy6428ue++ajkiSfDs76luIVKHE2XGgqBvnuz/bNRiEr1K/Jr3/2TXamc9yPMmNj2104thNxlrRly3euWlPJ6xlhJU4tE+cEgbzE149U4f8ANOf2TXTjbnIYrJMZGxQ61c269baw2TB8R2jwpTIpLybBmL63aw9s9iuE8/aMYOX7dTiQw02EmVLKSqVbBXMdp768mbzhDjnD5jiq/wAHdurxqSVIeu1EkBOqEwYSPCqKx0gcZJyKb26u7i/SNQVavNkMrBEEFCQARvyqUa6VeIWGVsMcN4tppz020WaglXrE71ja/BvdHyQ2c4hxnFnEmO8pXdWGEt2kW5StwurZRvKhzk/SdhWrYTJcK3drirvF3+Su7fhlpaQtFo5pUC3oOvzBJA3gVk2Z4iyeevLG6fwdkx5GrUltm0hDu4MLB5jb7TUrnekbiTK24ssdZqwdilMBizbIUf8AqgbeqPbV2vwTfHyaNjbnhniHGWvwXdZW8t8RkDf9YzbrlThUpegyjzhKzsN4is+4y+KfEvGNu7jstdNP5C5DV+p9kpTbbBIICgntG8nbwqs4bLZ/h67F1inbu3XMqSEEoc8FJIg118WcQZHi/Jt31ziE2pQ0EaWWT5x7VFUSfAHkPaabXY3x8l+4m4j4CRicVinbp3L3GLQGrddvIQhQATrUZAI82dias76VcS2vEV/hVJuWMji02lqvdCXHAHQYJjYaxvy591YTin7rE5O3vkY7yjqVhRZfY1ocHaCCNvX2VLcQcW8R8QXrL7xuLVq3IVa29qhSEMEciI5nxNNj8DfHyTXS9es3GexlsgqD1pZaHkLbUkpM+I3HiJFSvR6lpfRdnQ/iHMu2LwE2Lc6nfQ5Rvtz9lVHiPizPcV2Vjb5O0k2af5VDBCnVd5MbbdggfuOD4t4g4dwV3icZbrZF051huQ2rrGzt6PZyHd2mm2VdCb4+S88Kmw+M1h1XRhfYpfWbXrgd0s7HcymPp76onSICOPs1An8sO3/ZFdVhx9xrZXrV05fXl2lsyWHkEoX4GADUPmL3IZzNXOWuLNTb9yvWpLbatIMRtPqooS8Bzj5Nn4TU1eYZnHcO8S21wLNsIVdfBiisdwKioJmDyialrzB3mQbsbqx4qvLe56pKlOtwtu4TA84NE6RJM7d4rG8lxzxVk8O1idPkVqlAQ4LS36ou98wNp7kwKV/xjm73F4awYtXbFeGQlDFyxqC1AICN/WByqbJeB6kPJM9Jl2y95GVcQG7ydi7pNsLJVspMyS6qe2QkDlz27anbfjPKMdHmEzt1aJzGRVk1MNpUIVqKHUpKdP53Zy5E+sUjP8Y8S8TYljHZRvW2yvWXG7fSt0xtq7B6gB9lKw4tzWMwWOxdlZKaVjrw3bT5bKiokKBSREQQs1dkvBPUjfU07P8AElng3OHmsk2xj7u9uU3mQQ2Nm4RCiqOfnQAe2PCq10kXbGQ6P7C8tnA6w9mH3G1gbKSVOkH6KoF9e5bKZVWUvkPv3anAsqU2YEGQAOwDuqa4t4xy/F9lb2D2ITZWluvrEtstqMqggbxyAJ2FNkvA9SHknejD4w5LL/C9/mcl8CY5Cy4X7tZaWoJjTBMECZ7hAqS4B4kvc/xzxA8b+7csVW7jlsw46oobGsBJSkmEmO7vqjXfFPFF/gGMG+p5NkynQUtMaC6nsCyBuB9vbNN4YzuV4Uvri7s8d1y7hgsKS62qACQZERvtTY/A9SHkjbnOZm+YXb32ZyF0wpUqafulrQYMiQTHYKvHAOMb4axN3x1mk9S2yyU49twQXSoekBz39EeBJ5Vn5tLkpI8kfM/+2fdVlx/GfE9pc2K7u3VkmLAaWre5t/NHcZidQ7DzFXZLwFkj5NfxWPTnrvGcXuC/sXjanrLBS1BBUdgSnwExtvINYhxi7l7nii7vs1YXFm9cuHq0OtlI0DZIB5GAByrvyfGfGWTyacgq6vbVTZPVNW6FIbQPV+d7Zr1z/G/FPEmERir+1UlsLCnVssqSXwOQUOXPfbwqbJeC+pDyVA8x66MV6GyvYH8CuOf+qPup4sr0crK4/ule6rsfgnqQ8k/0ffLKzEjk5+GqlT+A7W7a4xsVuWryEflJUpsgD8mrtpVzkmnzOkWmuRbblahf3e/+eX940daz215XP+X3X/Pc++aeOyv1WNLYvsPwGolL1Zc+48LVHOiFq7zTOynV1SR59z8jwtY5KMUdau80wUaUibn5Ha1fpGjrV+kabMUu2lIbmP1kc1V7Wzb13cJt2POcVyBMTU9wymzTiLp65ZadU2sqAWASQE8t67U5DqrNrItcPjQoSC2U6kjviK+dl1bUnGMT6+Hh6nGM5z5PnXOyrXdtcWD/AFNynq3ImJB2ryCzHpVcMnk0Wtuzd3eKZdDsBB1hSoie1Nc/EHkrmCt7hlhppbqkEhIEgEctqzj1be1Sj17ms/D4w3uGTorrvRXrW3ubx7qbZBWuJgGNqC0vMvKYclLiVaSJ5GpPhORm/wCqV+6ujK2OO69563ulu3nWglkEGDq32iuk9RszODXKjhi0fqadZU+d0/8A58kdcY6/tnW2nWldY7JQlJkmPVXLqVMEnarrkHL1nI2rlram4RoUHEiBHKNzyqsZq1ube6699ltk3BKghsyBH7656fUubSlR21uhWFOUG+T/AN5nD1iv0q67LH3uQSpVsAoJMKJUBFT7CLK2wdtcfBiLtxSUhQS2CrlzO1FjKottQt8E+1q56G4n7KxPVyaahHmdcfDoRaeWfJ+LKuorQtSFE6kkg+uhrUeRNWlm6tri6QheAUjrFectbQgeJ2qI4gbZayem3ShLfVgw2ABO/dXXFqN81BxPPqND6WN5FO1ZG9YRzUa71YfIIuG2FJSlx4Eo84bxzrvxltYpwLl9dWoeU2oz3kCp151gZK0bUzLq0KKF/oAATXnzayUZVFdD16XhkJwU8kutfiUZ5LjDy2XCNbZ0qgzvTNau0mrYbbG37eQcFmkOsLWlSiZ1KA51UhMV69PmWVdOaPnazSPTtO7TsOpXfR1HvptKvTR4LY7Wrvpa1d9NoilC2O1K76Go99CkKULZ1WBPljc+P7DSoWH+Wt+39hpV8TiH61fZ/k/X8E/Z5fxf2RAXB/h1184d++adMAV53Bm+uvnDv3zT6+5j/QX2H5jU/rZfax00ZptEV1R5RwPfR1U2jQDpkRRB7qZNOFCOySxVi+++3dDHrvLdCoUlKgN6tF9a3drZl3DNutqeEKt4EJnmRJ80+raq9g15hwKtsW8lCUnUoKKdp7d96sjKn8XD2ZzIWSPNaSkAH7JNfD1bk8vOuXY/U8OUPQ5Wr78lX3nNxFjr28sbFthlTq2x58EbbDvquXOKv7Jrrri2U0iYkqHP2GrcjJW2ZGiwyS7Z8AwjSJPrBG/sqv50Zi2QljIXKXmVGUERuR4c6uky5E1jdL7epjiODFJPOrfLqqr7yQwTFjj8e3mrh5aFKBQe1I3jkBPZSvUsYkDO49xTqrlZEOejCpPKJ7KdaJsF8IMJyDqm2CsyU851GOyuh6ztMviWLHHXaC0wtJUZlSUwezvrlKX5xuV1dPxR6YQ/MxjjSuk153Hc6m4vvInWHi3bLSVvBJgqBG0HnzqoZUtjIONtXDr6EGNTpnftAq1MO2b1q5ibC90utN6AoGSOz2xUFnMPb4uytlpUeuV5q99lGNzV0koxyU/uM8ShPJg3R7dXf3UhmB+Ei48caWpga+t9sVZ8aMnpc+ES1Mjq+r+2aq9tgssplLtv5iHAFDS7pkdlT2AsL+yRcC9WVFZGiV6qavZK5Ra/uOHerFRjKMv58jyUjiVSVIUq1giCfCqohJKw2lJKiqAB2mrbjrPIMY+4trtkOFQOhQd3V4E9lVq4srvGXbSHQkPEhaIM7zt9tddJNJyXI83EscnGE+dd77FkxTd5ZcPugWx69KlKQ2oc6k3HHxesIS0C0tKta49E9lRlizmljr7++Fu0NykJTMeJ5Co7IZu4avim1yRdtydylAJT4DvryenLLN1TPpLUY9PhjutLkudWTza7m4YvkOsaCFLQ1AjWmNj9tUh1h62X1b7am1xOlXOreXHcjb9ZisodaAApK0gyfHaRVVyDl2u8Wm+UFPo80kEfur1aG1Jo+dxfbLHGSt+H25nNSmhSPKvrH5wM0qG1GgD66VIUqA6sfvet+39hpUMf/lrft/YaVfD4j+tX2f5P1/A/2aX8T/oiuvkeW3nnD/KXe3/bVTwpP6af7VZpxKT8acsASP4c9981HpSVAmTt416I8Q2xS2nHLwdZJuW/r8Gua0Eemn+0KcFJ/TT/AGhWPxz84+qaQTv2+yte5P6Tl7FH6/wNg1I/TR/aFHUj/WI/tCsdIIjc/TTY33Jp7k/pHsMfr/A2XWj9NH9oUutb/wBYj+0Kx0JEbzRSlPaN/wBtPcn9I9hj9f4Gys3ht162LoNLiNSHIMUlXKHFlTlyhajzKnJNZBaWNzkLxFrY2z1zcL9FppJUo9/KnjG3rlncXqLN42lsoIee0nQ2qYgnv3H01h8Rine1Wb9ke3b6jo1wPtJIULhtJBkELEivV/Jm7WlVzfIdUgaQVODYVjnwbcjFfCpQPJev6jVO+vTq5d0dtdiuG8unHsZH4Pc8juVJS08CDqJmNgZA2PZ2Vl8Rje5xVlXBGltWR0/g1MXNv/SWv7wU9q/aZKlN3rbZUIOl0CR3c6zC04Sy15dvWrLTCXbd0su9bcoRpUOZgkGPGINMXw3ftXarR3yRDyGy4Uqu24gGInVGrflzqPicHypBcDp2sjNSbvmGlpW3eNNqTuFJdAI+2ve5zXlpR5VkWnerEJlxO1ZTluGMtgxbnIWiU+UEBoNupcUskcoSSZp+S4UzGJYL91Zo6tKkIUW3krKVq5IIBnV4RWPc8cmpUr7czS4NJRcVkdGpJy6UJCU5QBKRAAf5fbR+GJP86j6x/wDdZsngPiJfXHyBtHUEhfWOpQRCNfInu+2e6uax4WzN/atXdpjlvsuocWhSElWyJmY5EkEAdsGKz7nifZGvZ5/9jNT+GJH86j6x/wDdeTmQYdMuXzTh5Sp4E/trM7DhHN5VNyq1sNJtVBLzb6w2tB8UqIIgcyaCeE82Mo/jFY103LCFOKGk6SgTukxuDBjvgxV9yxJtJK0R8HlJc8jNSezIuG0tvZNtaECEpLwj9teIvLTsu7f+8T76zh/gvPM39nYrsCX76ep0yUwDBJMbDt9RBrxu+Estj8eq+umG0NIUlC0dYOsQpRgAp7DSPE8ceUUuZJ8Fc3cptmoM5Jq3c6xi/abXylLoH76Yq9tVKJVesEnckuiT9tZ5c8CZq0Q846m1KbdpLzpS9OhKgCJ2578vby3quwlSZgRWocSjJ3FJh8EVKLyOjZfLLT+mMf3o99Lyy0/pdv8A3orGNKZ5CkUp/Rrr7g/Bz9ih9bNn8stP6Zb/AN6n30vLLT+mW/8Aep99YwEo/Ro6U9wqe4S8F9jh9bNn8ts/6Zb/AN6n30jfWUf5bb/3qffWM6U91EJTPKp+Xy8D2OH1s2/GXdq5kGkN3TK1GYSlwEnY9lKs46PUgcY2JAH+c/DVSrw6jM809zR9fRaVaXG4J3zsr/Es/GvL/PXvvmuFBlKgB2c67uJflVl/nr33zUe3uFDtisnpBqjmKBVvQ9s0OZoUU99I+ugedIfTQBBNOBM/vpsiOUmjsTPZFQHfhsgrFZyyvusdQ2y8hTvVGFKQFAqHPeQOVSNtnmG8NxDj1qfKcktCrZAHmJIc1EnfYkAcp5VACe3cdxoE7bViWOMubKnReHeMmE4Zt9AbU6q90nGbwm0DPV6CqIMjtG87xXVi+OLJnB2GIYUu3eCUMuPPJ0NtpHWSrWg6zGtJG3Z66z4K3pwNcpaeElTLuZoGE4owllk8vk767dceu7xwJVClrcY2KBB82JA58oA2rzyGcwPxjevLS+K7e6tm1ugBUOvh7YqChsUt77eoczVGabW+6hlpBW4s6UpG5Ua714PJ29wxbv2DiXbhwoaTsdZBgwR2A9vKp+Txu7G50XTiXivFZRWIXjLkNqZvz1qbpJUEoTASo7HzefKT4U3jXijC5S0Zs7Zbd4+2UdW82laW7QA+cZGnWSAkbIEbx4U34KyCrx618jWH2UlTiCIKUgxPiN+Y51zLbXbvuMut6HEEpWn9EjnXOOkxx212LvZq15x5wvcM5FCrx1w3rJbcIZXpHnFJgEzBCiqAQQnaZqNwHHuLsLaxXctqVdt2CmF9UAhtCUKWUN6YO6gU7+rxqk2HD+Vydobqztm3GQso1KeQjcAHkog9vOvJnFX/AJL5cLZXk4Tr1yNxJGw7eR5eHfWVocVOPkb2XXhri3DY3G5S2Dr9ibi6S5bofUXdKSRMkJVITBkQJCvaPB3i/G/HEZBh+6NnctMtbr6tNuEyk9YgpWHAPS27++qveYW+sbRq8fSyGHfQUm5bXqnfYAkn6K4TC07D6a2tLjUnLuxvfQut/wAbWD/GdpfMWivJLS5OlTjhUzo9HrEtBKdKo33mujI8YYu/wibc3yW7hFy2+8GrZbYuCCg+YQT1YTBBPMkSBvVA879woGOQ9pq/kuPl8E3M0+76RsNeY9+3V1yS4lTTaylSiT1YTrVPJJiAASeZPjl6NkARuPGvUI1xG/q7aZAiRH010xYIYb2dyNtjTtzpT3indm0UjHf9ldiABBpRvIFEARJohUd9ANmnDflTSSVwDTwSBQFl6PgRxlYSD/nPw1UqPR7Pxysv6z8NVKss0iv8TfKrLx/TXvvmo9H529d/E3yry3z5775qORGpW8VsyJVN9IbCnbez100pJG3riaAEHlSEEmnfaaAJmAI7qAJAgwIoCSd6RkK2pFW3o+3voA+2l2eFNmlPKgHJ5cqIM7U0T4UuXOKgPe2uXLS7ZuWwCtlYWmSeY9VTl5xdcXt/a3irK3BtXFrSkyQrUonSf9kSBynaZ7q7y27aI8aAnkcUXDORfv2bW3S6+EDq1JlsQP0fGSfXUXcXBubpx/TpLipInlXPOx+2iN+VAS2M4gucXaP2zTLLiXQQS4gEiQR7d4O/aBXbbcXXjeDVhEWtum3cb6tawDqUO8n1yfaRVc8KeySHByNAT2V4rv8ALYa3xVwlPVW5EK6wkqgHnvvJM79sVEAEqMmB668lKBVJTS1bcvGagPRREkaR9NMGonaBHjSEq3igCkGdNAJRVMdnhTkkaYOx7+4dtNjtiiE6jvIHaY5VQGIURI2oQP0qctKghB0kDcSe09v/AOU3TG5IqAMb+lNEc+ZNAKA7CPXSBFAKN5Ao6jO5oT2Uu2gLP0eH+OVlv/rPw1UqXR98tLGf/c/DVSrLNIr3E5Hxqy/z5775qPSfSkTXfxOR8asv8+e++ajkncwRy7a6djIeyI+mhvvt9FGQNW9KYEE70A0wEgqnuoau6nc0zNNJjl2UASYnxoqIAA7aGoz5w2puoRy3oBDnv2UZJHrpu1OPLsFAKBSGxMUOVOJ7agDMkT20poEzFGOygHFXbRnbamxR8aAcT40mzCxvypppze696AfqEEUpOnnTVASZpCNJqAelcgzz76SRNMHOpTC9V1qipn8oiVB8qnqttvN7d/smhTiAIE6FFPfG301343GXGQcSW0kIUoaVRJUqYAHfuav2C4vsWcKcNcsNqlRQXgkBC5/NUCNvCedcWNsbXEZvyqxcR1WlRDLiv5IkfmneRzrvDE5JNHB5GrTRMXPC3Dt1k2/hFLr1+tgKeZDsJkbFW3216OdH/CC7m0WS5ZqLqQlHX6kvmZ0EK7+W1MGSKnAsljXEat9Ud0xyrutMoNYDgtlwZGqdj3jbnXslgjt+T57yZU7vkZ1x/i8ljuK7p3IlDgu1dYy82mEKR2ADsgQI8Kr/AJO+WkPeTuhlZ0pdKDpURzAPKtqyuItuLFWbN6WzbMLK1hBlbncmYEDv/wDuRBdIHFWOaxjvDViltwlIS4ptIKLYJOyQO/b2V4pYnHqezHn30ooy8bbHalzNKCNv2UhXA9ZZ+j35Z2P9Z+GqlR6PFD45WQjn1n4aqVRlRXOJ/lXl5/pz33zUcCNR27KkuJj/ABqzA/35775qMBOowdoroZETAHb4Uj9lFQ2O1LYgbiD39lQDQfN8aE70SdIiRFM7aoHQT2zSjeKGwozvQCJ87bsoyN+6hMgiB66VQB227KIHjTZ3ojnM0A4kUQKaQdpB35URz50A7/EUgRSgRtM0o9tAEiij0qbt66cnnzioUJO+9OSJikSO6lyAO9AGB9Br3bfhvSAABJJHM/8A5++vEGFSTNCTPKoDrtlB5QadSjSoyVKXpjs9vZUpjci+p1dk4esQhJLalelG0evnUKwrRctK3JC0n7atzOIRjstf/CalWyk6W7Z1cwpRI5gSSSB2ds12xScZJhoeHnUt64UgcgO/xpIvlg+lXW/buISm3btniCsI0jSC4oHcSCe/vqPcs7xu46t23UhwblIH2mvpqVnOos6srxPfWGNS3ZaULeBQtzmoDbl3GqwtDlq55jf5UguBJAWkNqAOrV2nft5d81ZXcNddVZ3ruthlSzpUCApaY30cxJiJO29R127ZjKONM2iWkgaUBStXmARE94A/bXztRK5lxwjFf8SAXuokwVE/m8h30wgA8oqUvbBLds0tqzeb33ccXI2MRy+iDyqLOnx1TuZ515zZZ+j35ZWW0/ym/d+TVSodHm/GNme7rPw1UqhUVvif5V5j58/981Gj0iPCpPij5VZf58/+Iai+3eK6oyEmSfooSAIoH6aFQoZg8qclaJJU3PtimTSAqAf+TJkgj1UggKnQZjsNNMDtpCQZBg0AuW0UqcTq5kSKAG0mIoQQAoxz7aAEUZPfQB7p3pw57U2Z50UidqFCTtSBnYUtxRFQC/bTm/TG300zeae2Va9udAE8zypwPORQUCDJFLfxqAcT29lAU31iuu3Q2UlS3EjuBNUqVjrVBCkqCCoyDA3rU7DiizRl3H7+zaeTqCmnVpBKduW/Z+8VRsc/YWuh1149YFeigbR2GvO/vGnXVFpRWFd4iK9OOMVHmZnBzdI15rPY/IZAKQGFNqiVaxI3kz7akHmsT5d17aGCFRuCBAHfWCsuvMuam3Cg94rrcv79ad75z+3FaUk+hxeklfU3fJ5zFIYGtbSinlAkj1HsrFryzXf3b1xY2i/JQpRKUg7Gft9tR6H7ogkurWP+Ouu14nv7AaGnCNtlKEwe+pthtpnSGOcba5nhkX3nbJNspotsD+TSpXnJPef2+2oP2RUjfZh6/dLjygtZMkxFcCl6zyivNOr5HV0WXo9+WNjvz6z8NVKh0ffLSwH/ADPw1UqwRFc4oP8AGvLj/fnvvmoySFVI8UfKzMfPn/xDUbsTXQgdjvNNq92h4XHCzDbosjkilClhxQ1JlYSSVBMbCVFO6o7O0vuV8GN+QXKn7a4SlKlvW7VqUFSo0pSSOzUNRnmPWBXD1udUzW35KEJ5RQGwq0Ks+EGloCck6+ULJUopWlDglcfmSnYI7/S8DHS5bcDrzTricg8i1CkLR+TUUkkEqATomAdKYMbSZPKtep8MUU/7KIPZVzsE8IIeQnr0u6w4VKWjcEhGkQsJSADqjzuydqkmzwjZZu/S+3ZP2ymx1BbCHANLcqV6QAkkbDcmeUVh5v8AyxtM6gDYGfCiCJ3q5uNcPOcIqabXZfCbiVOIWopQuOtPZvp80AaSqYPLtrpzaOC7t+wTauNsWxuFN3C2AlKgJUAe/T6G5HLxmr63OqY2lD9Z2ozvvFXG2tOHbfiFwPP2C0qbUS11pU1rVqhKFjzQNOmSr0Sdpim2LnDVpibi2vLKzfuR10rU+opCgpvQEFHnFMHYz+arsJqvJ8EoqMb7ijsO2utq0aYy1ow+4xctOFpa9LulEKAJSpW2kiYPcZ3q6Xt7wdb8WsrDVu7am3LbqGGUltDhI3KuShGoSBsI3J3pPJtdVYSsoJISAJ3ozJ0jnVvx+T4at0ZJT9oy6XSo2qVNoBRDZMiWzHnAAb7k8uc+yLvhZfCFtbujHjIa5cIacCkt6kkgqEalwD3DsG3PLytfusu0pJjnNOQQCCVVoj2S4FOXsH2RbOWpuHFXCVWpRoQR+d5vnbgEActwOYg2WY4Ib4jfdc8iNu7bICVm0UWwsatSdJSSNtIkc+fOTWHndfosu35M7kTuYPjR1jff1+FW0XvDicJkLJTlqLt15a2HerUQESRGoNyCQZEADzRMcqk7vPcGPNYxDLTDRbvEF4dQrzGQmP0POjUfElIO+015X9LJXyZ8CFDbs7aUj7Ks3GV/g8pesvYh1lptm23QhgoK164jkN9PnSfHeaGCv8CzgVs5BbabsuPBJVb9YQFthKFBXgoTHdJgmI2slxUqFFcS4AfSj216C5In95rQHOJ+DV4G2t/I2BdMKtioC3V52goCoVsZ06u3nPOQSFcTcIrzGJdWEvW1k0tCybDQQrzSlR0q84bEcjvJ7QRyWeX0Pv8A795qq7lCFzI5bUTdLB5Hbxrs4ovsffcR3VzjENt2aikNaGy2CAkSdJ5b1F6gDE869EZNom6R2pyT6UaAfNrzNytXOK59Q33FEKHfFacm+pNzH6juT20UmKbzG3bThWTJZuj/AOW1h/WfhqpUuj7fjWw/rPw1UqFRW+KPlZmPnz/4iqjeZqS4o+VmY+fP/iKqLnetgswxuLXws04hVr8IrUBpVdpCkzO5BMBMRtzBJnapt/E8MHL44JexAtFpc68+WKgEejqgz2GDI57gbA0Pq1pQFrbUEHkoiAfVXoLG7U4W0Wj5cAKikNkkDvjurk8bfcqZfWsRwcvNXaHbnHotiUqty3dK0aTr9IqIIMKQSBMaTv2VR8laC1v3Ep0hkvLS3pcCvNCo5z9tc/ktwGg4WHA2qdKygwY3MH1U1ba0LLa0KS4DGgiCPCKRg4u7DZol1hOEfgmy6q5sE3RuE9eRdBQCClUz5/IGOR91RlxheG2T5zzSGE2oJc8uQ44pZUfRSnbUAUkzIgEAE1T0275OkMuEkTAQeXfTerWBOg924rMcUl+8Vy+C3u2XClve36W1Lum025UlKHQUtjUBKFz5y40mCIEqHq9E4rhs8ILuuvtTkPJ5hy7hxK9ZiGwdzESN9uW4M01SFokKQUlJggjke403u2rTxt9yWaHlsRwZbP2Pkl5YuJaJZuk9e4dS+rJCjG/pQJG28UbvHcHI4pU1bOWXweLHUkruvNLoeCTuDzKJMeJPKs+S24onS2pUbGBy/wARRQw8vToZcVq3TCSZrmsLS/SZd3wXvGY/hBfD2QNwqz8u694W+u7iUidG0/8A6O2vHIWXCDnCiTjnW05fQ0kBboE6lAKMSRIjflG5jtqm+SXOkrNs7pCtJOgwD3euiLW5Ooi2dITGrzDtPKfXVWJ7r3Mm4mOErfGXHELbeYcZTbJE6n3AlqZgau1Q35Aie8CaseLx/BnleQavLhhtrrCm2UbhC481JBSdO4JJG/Ic996oibd5xQQllalEagkJJJETP0b0VMOojUwtMqKRqSRuOY+2rLHufWgnQ9DSQ/bqdU0UuqClBKwNImCDz0n1jlvyq4ZRPCgexKrVViEBzrb5LaSYQkCUc/O1EGPEjeKpqrd8GDbrBMbFJ7eVG1tnrlzTbsqeUNylKZgVqULad9CJlx4et+DW8pcfCDzLls6427ZpdcKVITCipCzESDAMkTA766gnghjA5JnrLVd/FwLXV5xiVaPOiJgCN+0VRzZXZAV5G7pUopB6swVDmPWKXkr4Kwq2Wnqx58o9H11ylh3O9zNKVFx4luuEzhWzgmrMXrbzXmhuSsBA1GCmCmT27yPZXM29wsrOXSciGU2Yt0WzJtGZHWKA1vbR6Jnv5iAYqtt2N2tQCLRxSoKgEonYczTUWtwtKVItllKiUpOmBPaJ761HEoqrZLssaLXgxh4Kbv3Xw2mCH9WhZ0iSIR+kVADblz7zbW/BSLpalX1wplDjiEdYNZUNPmGNEQTvvBBjaN6rLrTrDqmnmurWn0kqG4pu+2w2q7Pliy9Yu74MxuUAWLe7tOrQgF1rrJUXjKla2+YbiYgdgnYjnx2RwHxOyLD/AJAjJvrWu3Q4x5wBkBJUEQCJJEAD0eXZTSSeYFCPVtWfST7su40Zea4Kbv7I27Fr5PbXLSysMFRUkggyCBsAlE89zIkyT0Jz/BasqFKashbeRob1eRwEqSuTKQCDI8PCszBo8+2ub0sX3f8AMbmSfEVxZ3nEd9dY9KU2rzmtsITpABA7OzeajgN6QG29ERPhXoitqSMssvR8P46WH9Z+GqlR6PvlnYf1n4aqVaCKzxR8rMx8+f8AxFVG9tSXFHyszHz5/wDEVUZMma0CVvMlc3VlbIctg22wEALgjVCQBz8BVitOMsy1lUPs426WtNkpgMBSjDZJUFAaZ2B29lVzIXWRuMfbIurdTbDaUpaWUkBQCYHMwdu6rAxn+JlZsO/A4cunLchLRYKSWiQrkIkQI9XOjIjms+J8k3bYtpOOcfFstXVKKl/l/NKSIHOAdo3EnvqKzF+5e5ldy7Ym2eU7rWyodsJ25AxtyPf9MtjuJc0y3i7a3sQ8WFKXbBRWrrTumCJggGYAj7ais3kLq6y6n720bYudYcWlIInzUgCZmITPP841EDvaz+QYuCVYxStSEBLawtQCEk98+qR41HOZy46vQlGkwNC1GSmCDIMTzTtMxJjnUixmMsm4XpxaVLZb8nWEoUNA5QYPORXI1k8iVNBq0SZbKUBKDuhI2/s7mec71Qc/wy+A6gtIUlwlcKE6VcgrxIEgE95r0GRcVpIxrSk6A3Bb2mSdvpiO76a9lX2XSXHl2hIacAUVJUUoVtA58/Hnue+icnlVw35HqWXQ8JQonUe3nuT9sUA1GSukFaRYKCUga0hAhPM7ykxzNejvEF6huybftNDdoAGgrUDp2kb+of43p7+SzLocWWFJF2EhRH58pUB9hV9HhXJkHby8aSp7HpbRbpLRWkKgEQDJJO/+PGgPf4Sv1tFfkCyh17rQ6kHc6gYCojmK6Xs3mXbi8uU41bYWAm4ShtRS2IkjcHTInn4muGxyWRXai1t20OtMpB0keiASqT7Sa6Li6zl646E2pSbwJWW2EkakpTsQAdhBP9r1UAzI5m/dfUu4tepWrUEoUmUoBEEAEeJ+n6XDK5O5x6bcWKl271yVpIC9KllWrSIMQeUeE85rmyD9/flK37IIDaQylSUkADmN5iY7e72V2s/GFDKLNuwWU4wla0qSZRqn0t9uR5RyoAOZHL2ibq2OPWw2rSHWilXmKSjTJ7jCh9IplinK4nKLLOL/ACykfyCkqOlMhU857B29przTl8vlbh63ZSHnLtUrQ22JWdITt7K9hfZfrjeKsGwDLJlmEp84bR2bpA7ufaTQBN7krhloCwaW2tzrWtKZJUnckQd+SifWaIvct5Pcg2Leh8qFwUgp1KUACTpI25HfzZPqrxCs1bvpaNuorxmwbKZ6s7nsO53J7xv3V7OPZ4PKZUlsquVKWWQtCgpWxJ0yYOw8ezlUA9l/PovUu+QlbxbV1aXEmAhRIJG/s9R8a52V5Z9q0YtW0aA8VW6EFKilZjlJJHt9s10G8zq1odLKTKQhCAkQEgzsByAgH6D21zobzFo+VoYIVaAKUpICkolIgyNuUfT40B5u2GUyC3r5bSCVuQs60JOonlEg9tH4v5YKUk2sQkLJ6xJASUqUCTMDZKq6Bb55U2iWUIFw4XNGpASVDczJgcuR+ivI8Q5dq4cPXpCzCVgISQY2HrjehSL8aIHdQ9VGoA7RThTR304E0AfZRHhSpCd6As3R98tLD+s/DVSpdH3y0x+2/wCU/DVSoEVrij5WZj5+/wDiKqNiDUlxR8rMx8/f/EVUbtVBJXb+SuMewi6bKbdsJDalI06toEHt2qxOZPi9WXt7tWMCLoNK6tPVkBSCdJkT37b9/jVfvFZX4Pt1XQKWE6Aydp9HzYjwM1NXnxuevG0XdvpeCNQ1oSCpPWJPM7nz435+yqyI57e4z6EWZZxSeqD5Fp+SOlKxurSqd57ZJnSI5VH5p++ezSzf2TbV2Xda20pgEkJAETEbDl3+qpTHt8VBGNVb2SFp66bTW0galqSYM7E+iTM8xUbmrnK/DbjeQZS1eJfDi2kJAHWEJ3gGN4B25zUB0Jv8y3cL12AW44gFQLR88Tsoxz3J38a8mL/JJFmEMlxIWE26VEkaiCIBmZ872bUXHcz5UptdsgugGYQDIB5T27nl2mmt2eZBsnGbJSSdSrYpG5JlWob7ERI7tNUD05PLP2dw6i1KrV19Ljig2SnUOyfWR9lPRfZlT9y4i2V1jjZLwBUIQTv28uQ35V7NfDzWOet0WSEsLcC3NyBrgKG2qJMgxG5rmdVnApaFW6kLcGlZAgnVJg77cuX+yPaB6C9zZZYZFsSCkLZ2M7JV5w35won2cqF1e5gWFw1dWoDKXSHSoEFKiokjY9899Nt73LBq28n6oobQpLQSRsNMKJ38eZ7TQdt8yvrFrtkALWW4CUgapEgRz9ECOQ7IoDxxF3fMi6FjaNvJdSesSQrzRB2EEEbTXc1eZ8sWDLTCdIGu1hI306vHc7kb9kd4rltLXL29061bWqFurTqUgJCiAQeXdtqEeuvRBzwtmNKFBpptZZnaEaZVHhEH1+NAG3TnHm2vJ2gEhxOkiJDiVJSFc9iCUj7Y5muh684h8ofLyUdau2SHtQSJajSkHfumO0jcVHjLZe2u3WTcuId6whaCdgdQMHsAkcuXOu1xviB926Ut1vU022l7StAGnSdIgbcgqgPHH2OZt8iwuxYbTcONp6udEKSQADB598x39xppfyzbDl0pLTaGroqUfNSQ5JJgdoknkOyvTRn7R+xX13VuuqT5N+USVSD5o7xvGxrxZGTeSh1C2nkvXBQJKFFTkhW4O+5Pt3qAaPhHJ9fchwLKEefqVEJEHYewf4NSDdvxDc3DWlTaHdClNr1ITA1AHcdsxFc1vjczadahoJZLa0hSFkBRUobD6I28a6bRrPXd0yWX20ulKlIcUABGoA9kc45CgOdYyqm2m1vNrHWhlCUgQkpVsBtETQcOZVa3jirmWiUG43A1SmUyPUa8jdZN27Niu688ORuQEhSZ3/xvXvcWmSxqrqzcvGUltKQ43BOsFIgCU92nnG48JoD1UrPm5ZD10hDpb1NqXpMJKgO4wAQB3ADumoIr1rV2qnfaKmF4bK3rjDRfaeUporCQqA0kQN9gJO2/bXirh+4bZaeL9uQ//JgKO4gmeXh9NCkdRETXtfWqrC+dtVOIdLSikrQCAfYQDXiOdAOG5p21N8KINQDgduVHnQERTqAsnR6P462H9Z+GqlR6Pp+OlhP/ALn4aqVAVnij5WZj5+/+Iqo0jceqpLij5WZj5+/+IquCeQPKKqBJXiMqcba+VlIt/NDHoydvN3G/LvqWvLXiyxu0W76tDulatQKRIBSogq7tQTAmJMDcmoi7YySLK3cul/kDo6oSCSIlOw8Ksj2H4yuMjbsPXrS31NL0hRBAQFJSZGnffSRz5eFV8iI8GX+MXbWydaWhfWrcVbBIb6wKAUSYG/Yrn21B5Z3KLu9N+oOPBaT1gAOpZQn87tMBM1NfAnFLVnau+WtJadecDRLwnWrUlUmJJVpV41DZe1yVnkjbXqkKeS4PPbACdcJ2kAbgRIPKoD1vkZp15bd0EhTSFJUUhKQdyTygFXPxr0aXniiwQ2EQkK8m3Tt5p1E+yZnl4UrjGZq4uvJ7h9lTjSFJBU4kSJ3HiZ/d4UWrbNFuyIumgkR1G4OgEKE7DuB51QNeezduhxl51CZ0BQVBUZSkDfn6JE+2vYtcQNXpfJaLzSdZJU2UhKTHI7czy8a8bprNNsXPXXILbZAc3gmAAOYk7Rv4UWkZq9fPV3QdcbtpO/JtQAjlzIj7KA5Ldi+S8ylnq0rQkoTO5GoE7jvifoqQSriBDRcS4goFz6SkJ/lCrnJHKSNz3gdleVtYZZRtn2HEld05pbUBvITEnblBI9hp3kGZUxcvquwlDjwDgKynrFah552/SA3MUAgjOIL6kuJSsI1rMCVDUowNuc6jHdt4V5WePyq2wyypLSX5V6Mq2Rq5gFUad4HPbu26l4jNB99DtyyFMtNOKLipBSrdImOYk7H1Vz2eJybxZVbuNS8lUGROnSZkxuIkdv7KA8CzeO5Rbbz9um5tnw2S5ABUFBOwI3AjtHKvd1rMWq7nrrsoIgO76irYpA28J2PvpPYbINWysup1pcLUpRCpVqBEkjvlXKjYW+Uy1tdOJyJQlkJLwdcPnBIUobbzGk8/fQHqxicw7d27KLhAdDIeaSTOhIEAjaAfUZ276jlh+xIaTdJUpC1ILaJ8wpVz3HaeRG9diLLJOKs0NXqCXmpaCHAooTJSRAk99FrC3yHU3ZuUMq8rLIdOoELCgNQ25SaA8mTlL5RukXSysa1KUo7jSmSfXHLt28K6m8XljfoY8tDTq0FaXCohJAM+kPVO/dNFWEyFkq9t7fIoUq1W0HUsqUAor5EbDkYBr1+Bsih3QcroLbankEqgKSSPQMx52qfYZqWDkVhciq1buutCyl0NNiZMlSv3hXto3eFuku3hevmX1tLOpRUpReIAVsY7QZ3rkbF29eM2Kbh0Eu6W9UgJJVzA5jff11IPYy+bVeD4SdcQwVSSFAr8zYkHlIIT2neKFE9icuytHWXju5UhKgtUgDTOxiAdQrwvMffY+yt7128UZOlpKVKlA8O4b10HCXIeaYVklKS40pcJ1HTv5wIPKefiRFcd2wUWqXXL111wmC2tOwjaQZn1SBQHCtbjqyt1xTij+cokk0AN6Rk9lEVAGJopobCiFUA/kJojnXnOtQ7q9U91AWTo/wDlrYb/AOs/DVSo9H/y0sP6z8NVKhSscUfKzMfP3/xFVGkwoeofsqS4o+VmY+fv/iKqMV6Q9Q/ZVRD2XdPvNoaduHFtt+ghSiQn1CukZvKygjIXEonSesMjly7uQ+iuAUpjka0Q7zm8oW0NG/eLba9aEFZISqSZjvkn6T3mud69ublRU++txRWXCVGTqPM/YPorxG5pQKUDu+GcpqCvhC41BBRqDhmJmJpiMleoShIunQG/QhXo8+X0muWCDzo6T7KA6lZK8WFpVcrIcMrE+kYjfv2NJu/ukPF1FwtCjE6TEgCAD4R2cq5RTuVAdKb+7To/Lr830ZMxz7/WfpoeVvpZUg3Tun9DWYPbXh6qehhb0wNkgkyYoD0GQvCtS/LH9agAVdYZIGwH0UPKrg6Py7g6sQmFHzRvy+k1zpO1OmgOg3t0o6l3b6lA6pLh59/rpjdw8jUEPLSFmVhKiNXdPfXmKcOVAPK3B6LihpGkQeQ7h9v00EPPJEJdWATMBRie0/YPoocxHbSRAXFQo4vPTq65cnmdRk0i+7z6xZIEDzjTSd6ewooeSqCYPIczTqDz69eoK1KChyVq3pwuHJKusXJG51HfsqQRbpW8oqX5kyQVHbwpyVv26lgPKCQJ0oIJIPbvVohHBxZSAVKgbATy9VCVRE7TMCkZ1Kk7kzRCTHOssoQaM0BR2qAXZRA28KQ3pw2O9ABMCvQU2nAUBZOj+fjtj/6z8NVKncA/LTH/ANZ+GqlQpWOKPlZmPn7/AOIqo1Xpewfsr6Od4cwT7y3nsLj3HHFFS1rtUFSidySY3NN+K/Dx54LG/VG/dVIfOQpDY19G/Ffh79RY36o37qXxX4e/UON+qN+6rYPnPajX0X8V+Hv1FjfqjfupfFjh/wDUWN+qN+6lg+dQfGjFfRPxY4f/AFFjfqjfupfFjh/9RY36o37qWD52AINOiDNfRHxZ4f8A1HjfqjfupfFnAfqPG/VG/dSwfO5mkkLBBSog+uvoj4s8P/qPG/VG/dS+LOA/UeN+qN+6lg+eGWVLebaShay4sJCUCVEnsA76veUweAs8ValyyabuU3CTcFq6MhCiqEmVEJHmHffwJrTPizgJn4Dx31Rv3Ufi3gikp+BcfBiR5Kjs5dlAZK9w7jSce2C2qWQ7edTdALZSQCXFq0qSlABTAEklXOYFFvHYN3PraYs3jaXZ6y1WHw5+SBUVKCUpkQBukmUwqe8aweGsAeeDxx7P8kb91IcM4AcsHjvqjfuoDJ7fGYnJIvb1i0KGFuOItwl1I0kBs6QFEfpGOfbuYmu61weKXw6txbDTVyEOAPdaD+U1HSjzhG6dMEEyVdlaV8WcAeeDx31Rv3UvizgJn4Dxv1Rv3VKBkt7isSrAvXFnb9bcNsManUPBtIXplRCFypQgomCJPdVYZUEuAnl+yvoH4s4D9R476o37qXxawP6kx31VHuq9AYjatuoDwbQklSzGrbanvhQvVPrgBLelRHLsrbVcO4NXpYbHn12qPdS+LuDiPgawju8lR7qtg+fFD8or10Qnblzr6B+LeBP/AKJj/qqPdS+LeB/UmP8AqqPdWGDAAn20tM1v/wAXMF+pcf8AVUe6l8W8F+pcf9VR7qAwGIogHurffi5gv1Lj/qqPdR+LuD/UuP8AqqPdQGCBPaT7KcEidhW8/F3B/qbH/VUe6l8XsJ+prD6sj3UBlfAQ/jpj9v8AWfhrpVrFvhsVavpftsZZsuonS42wlKhIjYgd1KhT/9k=

《Android经典项目案例开发实战宝典》共分5篇。第1篇介绍Android开发环境及搭建、Android工程的创建和调试方法;第2篇介绍计算 器、电子词典、文件管理器、备忘录、短信收发工具、通讯录、任务管理器、软件管理器;第3篇介绍Android公交查询、股票查询软件、Google天气 客户端、RSS新闻阅读器、Android地图应用、新浪微博客户端;第4篇介绍MP3播放器、Android照相机、视频播放器;第5篇介绍小兔跳铃 铛、飞行射击游戏、3D迷宫游戏。

 

12.Android传感器高级编程

data:image/jpeg;base64,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

《Android传感器高级编程》利用你所需的知识和代码来武装你,帮助你很好地利用Android中的传感器。从确定智能手机的位置和解释物理传感器, 到处理图像、音频和识别语音,你将学会如何有效地调用传感器相关的API。使用这些信息,不仅能在开发过程中节省时间,而且还能创建融合了新层次的交互和 自动化的特色应用。

 

13.Android Dalvik虚拟机结构及机制剖析

data:image/jpeg;base64,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

《Android Dalvik虚拟机结构及机制剖析(第2卷):Dalvik虚拟机各模块机制分析》在第1卷的基础上,采用情景分析的方式对Android Dalvik虚拟机的源代码进行了有针对性的分析,围绕类加载、解释器、即时编译、本地方法调用、内存管理及反射机制等功能模块展开分析,主要帮助读者从 微观上更深入地理解Dalvik虚拟机中各功能模块的实现原理及运行机制。
第2卷共6章,第1章介绍类加载机制,包括其整体的工作流程和机制, 详细讲解了其中的三个阶段,并以一个实例验证了源码分析的结果;第2章介绍了Dalvik虚拟机中至关重要的内存管理机制,详细讲解了其实现的两种算法; 第3章分析了JNI模块的实现原理,在分析源码的基础上,细致入微地介绍了为何用JNI编程会提升程序的执行效率;第4章以反射机制的一个代码示例开始, 介绍了其涉及的API,并从宏观到微观详细介绍了反射机制;第5章介绍了实现解释器的两种不同的技术,比较了Fast解释器和Portable解释器的不 同及各自的优劣势,第6章从介绍最近在解释器中非常火的JIT(即时编译)开始,到JIT的所谓的前端分析,再到JIT的后端代码生成,为 《Android Dalvik虚拟机结构及机制剖析(第2卷):Dalvik虚拟机各模块机制分析》画上一个圆满的句号。

 

14.Android深度探索(卷1):HAL与驱动开发

data:image/jpeg;base64,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

全书分为4篇,分别从搭建开发环境,Linux驱动和Android HAL的基础知识,开发Linux驱动的高级技术和分析典型的Linux驱动源代码4个方面介绍Android和Linux的底层开发。本书使用的试验环 境是Ubuntu Linux12.04 LTS、Android模拟器和S3C6410开发板。在第1篇详细介绍了如何搭建和使用这3个试验环境。第2篇通过3个Linux驱动的完整案例(统计 单词个数驱动、LED驱动和蜂鸣器驱动)从不同角度来讨论如何开发一个完整的Linux驱动。并且通过完整的案例介绍了如何编写Android HAL,以及如何与Linux驱动交互。第3篇则介绍了开发Linux驱动所需要的高级技术,这些技术包括并发控制、阻塞和非阻塞I/O、异步编程、 Linux中断和底半部、时间管理、内存管理和I/O访问。最后一部分分析了一些典型Linux驱动的源代码(RTC驱动、LCD驱动、音频驱动、块设备 驱动、网络设备驱动和USB驱动)。
  《Android深度探索(卷1):HAL与驱动开发》注重理论和实践相结合。在介绍了大量的基础知识的同时,为每一个知识点提供了完整的案例,使读者可以通过实际的代码更好地理解Linux驱动和Android底层技术。
   为了使读者更好地实践本书提供的实例代码,在随书光盘中除了提供源代码文件外,还提供了一个VMWare Ubuntu Linux12.04 LTS的虚拟环境。读者可以在Windows、Linux和Mac OS X上,通过VMWare打开该虚拟机文件来学习和测试本书的例子(虚拟环境中也带了一套本书提供的例子代码)。
  《Android深度探索(卷1):HAL与驱动开发》适合底层开发的程序员和编程爱好者使用,也适合作为相关培训学校的Android底层开发培训教材。

 

15.Android智能穿戴设备开发从入门到精通

data:image/jpeg;base64,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

本书循序渐进地讲解了在Android系统中开发穿戴设备的各种必备知识及其应用。书中几乎涵盖了Android穿戴设备应用开发方面的所有重点内容。全 书共分14章,依次讲解了Android开发技术基础,Android技术核心框架分析,HTTP数据通信,使用Socket实现数据通信,下载远程数 据,上传数据,传感器技术,人工智能技术,语音识别和手势识别,蓝牙技术基础,Android蓝牙模块详解,蓝牙4.0 BLE详解,以及智能心率计和计步器的设计全过程。
本书适用于Android初学者、Android应用开发、Android穿戴设备开发、Android底层开发人员和Android源码分析人员学习,也可作为培训学校和大中专院校相关专业的教学用书。

 

16.移动开发:Android应用测试与调试实战

data:image/jpeg;base64,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

《移动开发:Android应用测试与调试实战》是Android应用测试与调试领域最为系统、深入且极具实践指导意义的著作,由拥有近10年从业经验的 资深软件开发工程师和调试技术专家撰写,旨在为广大程序员开发高质量的Android应用提供全方位指导。它从Android应用自动化测试工程师和开发 工程师的需求出发,从测试和调试两个维度,针对采用Java、HTML5、C++&NDK三种Android应用开发方式所需要的测试和调试技 术、方法进行了细致而深入的讲解,为Android应用的自动化测试和调试提供原理性的解决方案。
全书一共16章,分为两大部分:第一部分为自 动化测试篇(第1~11章),详细讲解了进行Android自动化测试需要掌握的各种技术、工具和方法,包括Android自动化测试基础、 Android应用的白盒自动化测试和黑盒自动化测试的技术和原理、Android服务组件和内容组件的测试、HTML5应用和NDK应用的测试,以及 Android应用的兼容性测试和持续集成自动化测试;第二部分为调试技术篇(第12~16章),详细讲解了Android应用调试所需要的各种工具的使 用、操作日志的分析、内存日志的分析,以及多线程应用HTML5应用和NDK应用的调试方法和技巧。

  

17.Android移动应用开发(第3版)卷2:提高篇

http://ec4.images-amazon.com/images/I/51g5ThBQk4L._AA300_.jpg

《Android移动应用开发(第3版)卷Ⅱ:提高篇》涵盖了Android开发从概念、技术到市场推广应用的全部话题,内容包括:高级Android应 用程序设计原则,高级Android用户界面设计原则,使用常用Android API,Android中的绘图、动画与图形编程,充分利用Android的特性,应用程序发布和分发的进阶话题,附录共7个部分。附录还包含了 Android开发常用工具(调试桥和SQLite)的使用指南。
  《Android移动应用开发(第3版)卷Ⅱ:提高篇》不仅适合 Android应用程序开发人员阅读,还能为QA测试人员提供指导。另外,《Android移动应用开发(第3版)卷Ⅱ:提高篇》还可以帮助项目经理更好 地管理项目进程和项目团队,帮助市场推广人员更好地把握市场,创造令人瞩目的销售业绩。

 

18.OpenGL ES应用开发实践指南:Android卷

京东:http://item.jd.com/11545665.html

 

19.HTML5 Canvas核心技术:图形、动画与游戏开发

京东:http://item.jd.com/11231175.html

 20.安全技术大系:Android取证实战·调查、分析与移动安全

 

 

 

以下内容转自:http://www.importnew.com/4868.html

安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少

 

除了高超的武艺,每位黑忍者还需要装备最好的武器。在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码。

时光回到2008年,那时安卓还很年轻。只有几个相关的博客和谷歌官方的几个应用开发教程,没有函数库也没有代码生成器,甚至连成熟的设计模式也没有(除了OOP和一些Java实践)。今非昔比,我们已经有了一个成熟的OS、很棒的开发工具、稳定的Eclipse插件和其他IDE,数不清的开发书籍和相关的技术博客。

这里,我想分享自己在开发安卓应用时用到的工具和一些技巧,希望可以让大家少走一些弯路。

1. 资源

所有的UI指南都可以在这里找到。有些时候我们需要快速地找到资源,我们需要工具栏图标、主题、其他图标和各种安卓应用需要的设计资源。Android Assets Studio是最佳工具之一。它可以为你生成各种分辨率 (mdpi, hdpi, xhdpi)的启动器、标签、工具栏、菜单图标,可以按照你的配色生成主题,还可以生成工具栏资源 适用于Sherlock Action Bar。转换和缩放DPI是很痛苦的,所以你需要Android Dpi Calculator

2. UI组件

只要遵循安卓官方的UI设计理念,我们就在重用UI组件。有很多优秀的通用组件可以利用,当然你可以基于他们开发适合自己的组件。你可以在Android Views上找到他们。这里我只提出几个“必备的”组件:

  • Sherlock Action Bar:作者Jake Wharton。这个工具栏设计扩展了支持函数库,可以通过一个API操作各个版本的安卓工具栏。该函数库会在合适的时候自动调用原生工具栏,也可以在你布局基础上封装一个自定义实现。这样你就可以很轻松地为各种2.x及以上的安卓版本开发一个带工具栏的应用。
  • Sliding Menu :这是时下非常流行的UI模式。Google Play市场上很多最佳应用都采用了这个UI模式,比如Google Plus、Facebook、Youtube以及其他的应用程序都采用了Sliding Menu。
  • Cards:一个非常漂亮简介的UI组件,可以让你的应用看起来和Google Home一样。你可以在屏幕上添加一个或者层叠若干个卡片。

3. 函数库

安卓应用不仅仅是UI,还包括了很多颜色和图片资源。Optimus Prime(译著:《变形金刚》里面正义一方的领袖)曾经说过:“真相不只是眼前所见”。我们还需要编写后台代码加载和缓存图片、加快与服务器通讯、编写数据库操作工具等等。接下来,我们理所应当地会重用一些最佳实践代码。我的最爱(以及常用的工具)包括:

  • Android Universal Loader:高度可定制图片下载和加载函数库。支持从缓存或文件加载,配置非常简单。
  • Spring for Android:如果你没有听说过Spring…那么请先去搜索一下。这个最流行的Java框架已经将他的产品线延伸到了移动领域。正如他们所说“移动就是未来”。Spring for android提供了几个很棒的函数库和框架,包括:
    • Spring RESTtemplate:一个非常流行的基于Java REST客户端。Spring for Android RestTemplate模块提供了一个可以在安卓环境下工作的RestTemplate版本,为你的安卓应用程序提供了一个非常灵活的REST API。
    • 验证支持:OAuth是该领域快速崛起一个的协议。OAuth是一个开源协议,为用户提供第三方应用支持,提供对其他网站受限资源或服务的访问。
  • Square:他们在GitHub上发布了很多优秀的函数库。我最喜欢的是RetoFit,正如他的介绍那样“一个类型安全的安卓和Java REST客户端”。
  • OrmLite :编写和维护数据库表通常是很乏味的。OrmLite是一个支持安卓和Sqlite的ORM框架。通常完成这项工作会有数不清的备选工具,但是如果你正在 创建一个需要很大数据库的应用也许OrmLite会是你的最佳选择。最好的事情是——OrmLite是通过注解驱动的。
  • AndroidAnnotations:UI和代码之间的粘合剂,通过它可以编写更少的代码并且轻松维护现存的代码。

4. 测试

作为开发者,我们会不时地进行一些测试。毕竟,我们必须确保开发的程序能正常工作。能遵循测试驱动开发(TDD)当然最好,但是有时候我们只需要一些简单的测试。这只是我个人的看法,最终选择权始终在你手上。

  • Monkey:检查应用是否会出现ANR(译者注: ApplicationNotResponding应用程序无响应)的最简单、快速和有效的方法。它会在你的应用上执行N次随机点击。你可以在午休时运行一下Monkey。
  • Android Test :一个基于JUnit的安卓测试框架。它提供了所有类型的测试。你可以为UI/活动编写测试用例。功能测试或者黑盒UI测试不要求测试者对应用的实现细节 非常了解,只需要从用户角度了解执行特定动作或者输入特定内容会有怎样的输出结果。这个方法可以让开发和测试人员在你的组织里独立地工作。
  • Robotium :这是一个安卓自动化测试框架,支持原生应用和混合型应用。通过Robotium你可以轻松地编写功能强大、健壮性好的黑盒测试用例。测试开发者可以编写涵盖各种安卓操作的功能测试、系统测试和验收测试用例。此外,Robotium还有一个非常活跃的开发者论坛。
  • 云端测试:你可以在大量设备上运行你的测试并获得所有崩溃和错误信息。相关的工具有:

他们不是免费的,但确实好用。

5. 构建

这是我最喜欢的部分。我们日复一日、年复一年地工作…..是时候展示自己的产品了。你的应用可能会分付费版、免费版或专属版。他们会有通用的部分和 一些专有逻辑。也许你会有一个为100个客户定制的应用,不同的包名、颜色、名称、各种资源和产品风格…..我刚才提到了构建版本吗?一个开发版、不同阶 段的测试版、生产测试版、客户Beta版…..(软件版本命名)等等。

在一天工作结束的时候,秘密就在维护和管理发布流程。对于这项工作,我只推荐下面几个构建工具。

  • Ant: 我从Ant开始,因为它是Java开发者最熟悉的一个工具。如果你通过Ant构建一个安卓项目,你会编写一个包含了所有默认构建任务的 build.xml,它会为你完成一些简单的工作。如果你需要更高级的功能,深呼吸准备好进一步钻研吧……如果要进行依赖管理,这是更艰巨的任务。
  • Maven: 我的一个朋友曾经说过:“Maven管理安卓应用只有Hello World”。Maven从未被谷歌或者安卓官方支持。社区开发的几个Maven插件在安卓构建工具的每个新版本上都会崩溃。Maven配置困难,但维护 和运行很容易。它的依赖管理做的很好,但是很多安卓函数库并没有包含在Maven主仓库。
  • Gradle: 谷歌IO 2013发布了Gradle。它是安卓官方支持的构建工具,也是Android Studio IDE的一部分。Spring和其他几个业界巨头也都支持Gradle。我发现Gradle的语法简单而且易于理解。我成功地构建了一个简单项目,一个带 有复杂构建逻辑的项目并在24小时内从ant/maven上移植了3个项目到Gradle。Gradle的依赖管理很棒,支持从Maven和Ivy仓库获 取(pulling)文件以及多项目构建。我得说:Gradle是新的安卓官方构建工具,相关的安卓插件在不久的将来应该会很快开发并支持,所以继续关 注。

我总是会鼓励开发者使用并重用经过检验的概念、模式、框架和函数库。当然,只是针对产品的发布版本。你总是需要学习和实验新工具和新框架。因为即使是最差劲的忍者也需要磨亮自己的武士刀:)

编程快乐!

 

以下内容转自:http://www.importnew.com/3988.html

Android开发者必知的开发资源

随着Android平台市场份额的持续猛增 ,越来越多的开发者开始投入Android应用程序的开发大潮。如果您是一位2013年刚刚入行的Android开发新兵,恭喜你,因为这个平台已经在过 去几年里变得愈发成熟了,绝对值得住你全情投入。目前来看,Android现成的开发资源早已经汗牛充栋,我们这篇帖子,就是要在浩如烟海的资源中挑出最 重要的那些,呈现给你。

本帖对Android开发菜鸟和中级老兵同样适用,因为本帖重点列出了那些最常用的Android开发资源。

 

 

 

推荐书籍

你或许觉得,都2013年了,再去看个什么书来学习Android开发,这方法应该早就过时了。没错,或许你的想法是对的。但是我们还是推荐按照过时的办法来。理由的话,请参看: Programmers Don’t Read Books – But You Should (作者为:Jeff Atwood)

我推荐下面两本书:

The Busy Coder’s Guide to Android Development

  • The Busy Coder’s Guide to Android Development》(Mark Murphy著)。 这本书最大的特色就在于它的覆盖广度(此书有超过2000页的篇幅),而且更新频率很高(平均每2个月更新一次)。这本书对于快速进化的Andoird平 台来说,应当是很具有榜样性质的。作者Mark Murphy本人还设立了常规答疑环节,这样本书的读者就能够向作者直接提问。本书的示例源代码全部都发布在 github上面。所以综上所述,强烈推荐。
  • Smashing UI 》(Juhani Lehtimaki著)。对于那些关注如何做出顶级UI设计的Android开发者来说,此书无可挑剔。

Smashing UI

 

developer.android.com 官方开发者站点推荐资源

在动手编写第一个Android应用之前,用心读一读Android Design章节。尤其是下面的这些文章:

同时也请下载Downloads部分的代码,这些代码囊括了Android图标和控件的设计模板,源文件,样式以及无样式图标等等。

那么读完了这些以后就可以开始编程了么?不,最好连下面的东西也一起读:

StackOverflow 推荐资源

很多Android核心框架的工程师,开发者布道师以及Android开发专家都会经常到stackoverflow.com上助人为乐。以下是关于Android最热门问题的清单。我已经订阅了很多高手的RSS feeds, 例如:CommonsWare (Mark Murphy), Dianne HackbornRomain GuyReto MeierTrevor JohnsRoman Nurik, Adam Powell (感谢, @remdroid!).

Blogs 推荐资源

很多博客能够提供给你最好最新的Android开发资源

 

Google+ 推荐资源

在Google+尚未成为社交网络的时候,它就已经是Android开发资源的一块瑰宝了。以下是一些你应该关注的Google+账号: Tor Norbye (他是ADT的开发者之一), Dianne Hackborn, Romain GuyChris BanesRoman NurikNick ButcherAdam PowellRich HyndmanCyril MottierPaul BurkeJeff Gilfelt.

记住一定要关注 Jake Wharton 这个人,他是ActionBarSherlock,ViewPageIndicator,NineOldAndroid以及其他很多著名的开源Android库的作者。

同时也请考虑加入Google+上的一些社区,例如:

开源库推荐

以下是一些最有用的开源库项目:

  • ActionBarSherlock,作者是Jake Wharton。这个库在Android 4.0+版本上通过本地action bar实现了action bar设计模式,并通过单个API和主题在4.0之前的版本上做出了一个自定义action bar实例。
  • ViewPagerIndicator,作者同样是Jake Wharton。Paging indicator组件与ViewPager都来自于Android支持库和ActionBarSherlock。他们的最初原型是来自于 Åkerfeldt的ViewFlow。
  • NineOldAndroids,作者是Jake Wharton。这个Android库使用Honeycomb 版本的动画API,对直到1.0版本的Android系统全部适用。
  • Universal-Image-Loader,作者Sergey Tarasevich。这个库具有强大的功能和灵活性,可支持图像的异步加载,缓存和显示。
  • UrlImageViewHelper,作者Koushik Dutta。 UrlImageViewHelper可以根据一个URL来找到图形,并填充到ImageView里,还能实现对图像的自动下载,存储以及位图缓存。
  • Android-BitmapCache,作者Chris Banes。这是一个很有特色的缓存库,用于缓存Android位图对象。
  • DiskLruCache,作者Jake Wharton。这是一个基于磁盘系统的LRU缓存库,主要针对于Android平台,用Java实现。

github 上搜索[android] 项目,你可以找到更多的开源库。而且,DevAppsDirect 应用提供了很好的功能,去归纳目前已有的开源视图,组件和工具库。

 

GOOGLE I/O TALKS 推荐资源

总的来说Google I/O的门票现在已经火爆到了一定程度了,你基本上是不可能买到票去现场的,不过所幸的是,所有Google I/O的主题演讲都会被放到网上,并且提供PPT下载链接。以下是Goolge I/O Android相关的所有主题演讲的链接:

2012年, 2011年,2010年, 2009年.

其中一些主题是我非常喜欢的,如:

 

停!太多了!

如果本贴的内容太过丰富,让你觉得应接不暇,没关系,有些内容是专门针对于初学者的,如果你不是初学者的话,你可以只关注本文中那些相对高级一些的主题。

关于如何有效地选择内容,以下是几点建议:

  • 首先,看书。本文一开始就提到了,你应当要看书。看书能为你打下Android开发的牢固知识基础。
  • 订阅本文中提到的博客内容,以及stackoverflow的问答内容(通过RSS)
  • 在你的Google+账户上创建android-dev开发圈子(当然,由于某些原因,墙内的朋友们可以在墙内的社交媒体或者论坛上建立自己的Android开发圈子——译者注)

Android巨星

在Andoird开发者生态系统的持续繁荣的过程中,逐渐涌现出了许多天赋异禀的巨星级开发人员,尤其下面这两位,他们的工作让其他Android开发者们受益匪浅。他们是:Mark Murphy 和 Jake Wharton

Mark和Jake在Android开源项目上面贡献良多,可以说早已功成名就。如果你有幸见到他们,一定要请他们喝喝啤酒,表示感谢。(不过根据 回帖的情况来看,Mark Murphy本人不喜欢喝酒,而有一位叫Chris Bane的网友愿意帮他喝,所以要请客的话可以直接请Chris Bane,并且,如果你一直坚持阅读到了现在,那你就明白感谢Mark Murphy最好的办法就是去订阅他的博客 CommonsWare——原文作者)。

显然,多数Google的Android开发者和设计师也为Android系统做了很多工作。他们中的部分人在本文中也有提到。

结语:

那就到这儿吧。现在你应该了解了不少开发信息和工具了,这一切都是为了让你写出优秀的Android应用程序!好吧,还有一点:你还需要一个优秀的 Android UI设计师,不过由于本贴是技术贴,这就不在讨论范围之内了。那么现在,你应该做好充分的准备来开始做你的第一个Android应用了。

如果你觉得我遗漏了哪些优秀的资源,那么就在评论你留言补充吧,我会定时更新这篇文章的内容的。

祝,编码愉快!

 

posted @ 2015-01-04 14:09  马走日  阅读(898)  评论(2编辑  收藏  举报