【Mood-12】Android开发相关书籍推荐
新年伊始,找到Android进阶干货若干,2015拜读。
1.Android应用UI设计模式
目前,谷歌Android操作系统在移动市场中风头正劲,并且未来发展势不可挡。《Android应用UI设计模式》面向Android 4.0+操作系统,是市面上第一本深入解析Android界面设计的佳作。《Android应用UI设计模式》从适用于移动设备和平板的通用模式以及 Android UI设计指南出发,深入探讨了58种重要的Android交互设计模式及其应用。每种模式登场之前,先用基本知识铺路,接着展示常见的设计陷阱和欠佳的设 计模式,最后对这些模式进行改进,从而打造卓越的交互设计以及直观的信息架构。
《Android应用UI设计模式》可满足移动设计人员和开发人员的需求,帮助他们轻松成为移动用户体验设计高手。
2.打造高质量Android应用:Android开发必知的50个诀窍
本书是目前唯一一本从开发技巧角度讲解Android应用开发的著作,旨在迅速提高开发者解决各种疑难问题的能力,从而打造出高质量的Android应 用。作译者都是经验丰富的Android开发工程师,作者悉心总结Android应用开发中会遇到的50个经典问题,这些问题涉及布局、动画、视图、工 具、列表、适配器、实用库、与其他编程语言的交互、数据库、构建工具、代码复用、避免代码碎片化等多个方面。本书以“问题/解决方案”的形式给出疑难问题 的解决方案,同时结合示例代码,深入剖析这些实用的编程技巧和模式,旨在帮助开发人员提高编程效率,改进代码质量,打造高质量的Android应用。
3.深入理解Android内核设计思想
《深入理解Android内核设计思想》适用于Android 4.3以上的版本。全书从操作系统的基础知识入手,全面剖析进程/线程、内存管理、Binder机制、GUI显示系统、多媒体管理、输入系统等核心技术在 Android中的实现原理。书中讲述的知识点大部分来源于工程项目研发,因而具有较强的实用性,希望可以让读者“知其然,更知其所以然”。全书分为编译 篇、系统原理篇、应用原理篇、系统工具篇共4篇22章,基本涵盖了参与Android开发所需具备的知识,并通过大量图片与实例来引导读者学习,以求尽量 在源代码分析外为读者提供更易于理解的思维方式。
《深入理解Android内核设计思想》既适合Android系统工程师,也适合于应用开发
工程师来阅读提升Android开发能力。读者可以在《深入理解Android内核设计思想》潜移默化的学习过程中更深刻地理解Android系统,并将
所学知识自然地应用到实际开发难题的解决中。
4.Android应用性能优化
今天的Android应用开发者经常要想尽办法来提升程序性能。由于应用越来越复杂,这个问题也变得越来越棘手。《Android应用性能优化》主要介绍 如何快速高效地优化应用,让应用变得稳定高效,你将学会利用Android SDK和NDK来混合或单独使用Java、C/C++来开发应用。《Android应用性能优化中还特别讲解了如下内容:一些OpenGL的优化技术以及 RenderScript(Android的新特性)的基础知识;利用SDK来优化应用的Java代码的技巧;通过高效使用内存来提升性能的技巧;延长电 池使用时间的技巧;使用多线程的时机及技巧;评测剖析代码的技巧。
5.Android系统源代码情景分析
《Android系统源代码情景分析》在内容上,结合使用情景,全面、深入、细致地分析Android系统的源代码,涉及到Linux内核层、硬件抽象层 (HAL)、运行时库层(Runtime)、应用程序框架层(ApplicationFramework)以及应用程序层(Application)。在 组织上,《Android系统源代码情景分析》将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇 章。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序、Binder进 程间通信驱动程序以及Ashmem匿名共享内存驱动程序;Android应用程序框架篇从组件、进程、消息以及安装四个维度来对Android应用程序的 框架进行了深入的剖析。通过上述内容及其组织,《Android系统源代码情景分析》能使读者既能从整体上把握Android系统的层次结构,又能从细节 上去掌握每一个层次的要点。
6.深入理解Android:卷I/卷II
《深入理解Android:卷I》以情景方式对Android的源代码进行深入分析的书。内容广泛,以对Framework层的分析为主,兼顾 Native层和Application层;分析深入,每一部分源代码的分析都力求透彻;针对性强,注重实际应用开发需求,书中所涵盖的知识点都是 Android应用开发者和系统开发者需要重点掌握的。《深入理解Android:卷II》是“深入理解Android”系列的第二本,第一本书上市后得 到了广大读者的高度评价,在Android开发者社群内口口相传。本书不仅继承了第一本的优点、改正了其在细微处存在的一些不足,而且还在写作的总体思想 上进行了创新,更强调从系统设计者的角度去分析Android系统中各个模块内部的实现原理和工作机制。
7.Android软件安全与逆向分析
Android软件安全与逆向分析》由浅入深、循序渐进地讲解了Android系统的软件安全、逆向分析与加密解密技术。包括Android软件逆向分析 和系统安全方面的必备知识及概念、如何静态分析Android软件、如何动态调试Android软件、Android软件的破解与反破解技术的探讨,以及 对典型Android病毒的全面剖析。
《Android软件安全与逆向分析》适合所有Android应用开发者、Android系统开发工程师、Android系统安全工作者阅读学习。
8.Android框架揭秘
《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设计:响应式用户界面与设计模式
本书是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开发高手进阶(中国程序员)
在掌握了Android基础设计后,如何向高阶登入?作者从高级Android开发工程师的角度,以多年实战讲诉了每一位有志于成为Android开发高手可能遇到的实际问题并给出解答。
作者以7个知识点为主线贯穿全文,从动画的优化处理到跨通信进程的实现,分享了具有实际意义的技巧和最佳实践。本书并非是一本大而全的著作,旨在帮助开发者从更高的视角去理解Android设计以及内在机制。
11.Android经典项目案例开发实战宝典
《Android经典项目案例开发实战宝典》共分5篇。第1篇介绍Android开发环境及搭建、Android工程的创建和调试方法;第2篇介绍计算 器、电子词典、文件管理器、备忘录、短信收发工具、通讯录、任务管理器、软件管理器;第3篇介绍Android公交查询、股票查询软件、Google天气 客户端、RSS新闻阅读器、Android地图应用、新浪微博客户端;第4篇介绍MP3播放器、Android照相机、视频播放器;第5篇介绍小兔跳铃 铛、飞行射击游戏、3D迷宫游戏。
12.Android传感器高级编程
《Android传感器高级编程》利用你所需的知识和代码来武装你,帮助你很好地利用Android中的传感器。从确定智能手机的位置和解释物理传感器, 到处理图像、音频和识别语音,你将学会如何有效地调用传感器相关的API。使用这些信息,不仅能在开发过程中节省时间,而且还能创建融合了新层次的交互和 自动化的特色应用。
13.Android Dalvik虚拟机结构及机制剖析
《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与驱动开发
全书分为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智能穿戴设备开发从入门到精通
本书循序渐进地讲解了在Android系统中开发穿戴设备的各种必备知识及其应用。书中几乎涵盖了Android穿戴设备应用开发方面的所有重点内容。全 书共分14章,依次讲解了Android开发技术基础,Android技术核心框架分析,HTTP数据通信,使用Socket实现数据通信,下载远程数 据,上传数据,传感器技术,人工智能技术,语音识别和手势识别,蓝牙技术基础,Android蓝牙模块详解,蓝牙4.0 BLE详解,以及智能心率计和计步器的设计全过程。
本书适用于Android初学者、Android应用开发、Android穿戴设备开发、Android底层开发人员和Android源码分析人员学习,也可作为培训学校和大中专院校相关专业的教学用书。
16.移动开发:Android应用测试与调试实战
《移动开发: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:提高篇
《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》(Mark Murphy著)。 这本书最大的特色就在于它的覆盖广度(此书有超过2000页的篇幅),而且更新频率很高(平均每2个月更新一次)。这本书对于快速进化的Andoird平 台来说,应当是很具有榜样性质的。作者Mark Murphy本人还设立了常规答疑环节,这样本书的读者就能够向作者直接提问。本书的示例源代码全部都发布在 github上面。所以综上所述,强烈推荐。
- 《Smashing UI 》(Juhani Lehtimaki著)。对于那些关注如何做出顶级UI设计的Android开发者来说,此书无可挑剔。
developer.android.com 官方开发者站点推荐资源
在动手编写第一个Android应用之前,用心读一读Android Design章节。尤其是下面的这些文章:
- Devices and Displays (设备和显示)
- Touch Feedback (触摸反馈)
- Metrics and Grids (度量和网格)
- Iconography (图像研究)
同时也请下载Downloads部分的代码,这些代码囊括了Android图标和控件的设计模板,源文件,样式以及无样式图标等等。
那么读完了这些以后就可以开始编程了么?不,最好连下面的东西也一起读:
- Best Practices for User Experience & UI (a must read) (用户体验和用户接口最佳实践——必读)
- Best Practices for Performance (性能最佳实践)
- Displaying Bitmaps Efficiently (高性能位图显示)
- Adding Animations (also see NineOldAndroids library) (动画效果——同时也需要看NineOldAndroids库的介绍)
- Tools help (开发工具介绍)
- SDK Samples (SDK示例)
StackOverflow 推荐资源
很多Android核心框架的工程师,开发者布道师以及Android开发专家都会经常到stackoverflow.com上助人为乐。以下是关于Android最热门问题的清单。我已经订阅了很多高手的RSS feeds, 例如:CommonsWare (Mark Murphy), Dianne Hackborn, Romain Guy, Reto Meier, Trevor Johns, Roman Nurik, Adam Powell (感谢, @remdroid!).
Blogs 推荐资源
很多博客能够提供给你最好最新的Android开发资源
- Android Dev Weekly (博主 Gyuri Grell)。这是一个极好的博客,可以为Android新手提供一手的开发新闻。
- Official Android developers blog。这是一个绝对值得一看的博客档案,里面的很多东西都是干货,比如:Avoiding memory leaks (如何防止内存泄露), Memory Analysis for Android Applications (Android应用程序内存分析).
- Romain Guy。来自Android核心框架组工程师的博客。一旦你开始熟悉Android开发了以后,一定要阅读他写的Android Performance Case Study这篇博文。当然,他的博客还包含一些非技术的内容,比如:great photographer (优秀的摄影师)
- Codependent(博主:Chet Haase),Chet Hasse是Android动画框架的创始人(Youtube上的Android开发者频道上有Chet Hasse的专题节目DevOps——译者注)
- The CommonsBlog (博主:Mark Murphy)
- Cyril Mottier 的Android博客。这个博客里的博文都很有深度,而且资源非常丰富。最新更新的博文包括:ListView Tips & Tricks #5: Enlarged Touchable Areas, Tweeted Android Development Tips, The Google Maps Android API V2 Utopia, Android App Launching Made Gorgeous, “Pull-to-refresh”: An Anti UI Pattern on Android.
- Styling Android (博主:Mark Allsion)
- Daniel’s Lew的Coding Thoughts —— 此博客的作者是美国Expedia公司的著名Android应用 Hotels and Flights(正式名称叫Mobiata)的开发人员之一,他的博客经常能给出很多有价值的提示。
Google+ 推荐资源
在Google+尚未成为社交网络的时候,它就已经是Android开发资源的一块瑰宝了。以下是一些你应该关注的Google+账号: Tor Norbye (他是ADT的开发者之一), Dianne Hackborn, Romain Guy, Chris Banes, Roman Nurik, Nick Butcher, Adam Powell, Rich Hyndman, Cyril Mottier, Paul Burke, Jeff Gilfelt.
记住一定要关注 Jake Wharton 这个人,他是ActionBarSherlock,ViewPageIndicator,NineOldAndroid以及其他很多著名的开源Android库的作者。
同时也请考虑加入Google+上的一些社区,例如:
- Official Android dev community (Google+上的官方Android开发者社区)
- Android designer community
开源库推荐
以下是一些最有用的开源库项目:
- 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相关的所有主题演讲的链接:
其中一些主题是我非常喜欢的,如:
- Advanced Design for Engineers(工程师设计进阶),演讲人 Alex Faaborg and Christian Robertson (2012年)
- For Butter or Worse: Smoothing Out Performance in Android UIs(Butter项目:让Android UI 性能更加流畅)演讲人: Chet Haase, Romain Guy (2012年)
- Navigation in Android(Android导航)演讲人: Adam Powell, Richard Fulcher (2012)。如果你认为Android的back/up按键问题很好解决的话,看看这个视频你就不会这么想了。
- So You’ve Read the Design Guide; Now What?(学完了设计指南,然后?)演讲人:Daniel Lehmann, Tor Norbye, Richard Ngo (2012)
- What’s New in Android? (Android更新介绍)演讲人:Chet Haase, Romain Guy, Daniel Sandler (2012)
- What’s New in Android Developers’ Tools(ADT更新介绍)演讲人:Xavier Ducrohet, Tor Norbye (2012)
- Memory management for Android Apps(Android应用程序内存管理)演讲人:Patrick Dubroy (2011)
- Writing zippy Android apps(编写敏捷的Android应用)演讲人:Brad Fitzpatrick (2010)
- Developing Android REST client applications (开发基于REST的Android客户端应用)演讲人:Virgil Dobjanschi (2010)
停!太多了!
如果本贴的内容太过丰富,让你觉得应接不暇,没关系,有些内容是专门针对于初学者的,如果你不是初学者的话,你可以只关注本文中那些相对高级一些的主题。
关于如何有效地选择内容,以下是几点建议:
- 首先,看书。本文一开始就提到了,你应当要看书。看书能为你打下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应用了。
如果你觉得我遗漏了哪些优秀的资源,那么就在评论你留言补充吧,我会定时更新这篇文章的内容的。
祝,编码愉快!