BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

采访《Murach’s Android Programming》一书的作者Joel Murach

| 作者 Anand Narayanaswamy 关注 0 他的粉丝 ,译者 邵思华 关注 3 他的粉丝 发布于 2013年11月29日. 估计阅读时间: 10 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

由Joel Murach所编写的《Murach’s Android Programming》一书为Android应用开发的各方面知识概念作了一个全面的介绍,为了帮助读者更好的学习理解,书中提供了大量的源代码、截图及示例应用。

Android是一个移动操作系统,目前已经运用在多数智能手机和平板设备中。为了与这些设备进行交互,你需要将你的移动应用上传至Google Play Store中。如果你了解Android编程所需的一些基本步骤与技术,开发应用会是一件很简单的事。

Joel Murach在他的最新书籍《Murach’s Android Programming》中一书为Android应用开发的各方面知识概念作了全面的介绍。

第1部分将带你进入Android开发的世界,除了你的第1个Android应用,还会介绍Eclipse的使用、应用的开发、测试以及调试。第2部分将介绍布局、组件、主题、样式、菜单、偏好、碎片化,以及处理事件的相关技术。

第3部分中,作者将以一个新闻阅读器的应用为例,为你介绍线程、文件、适配器、目的(intent)、服务、通知以及广播接收器(broadcast receiver)等方面的知识。

第4部分将以一个任务列表的应用为例,介绍了进行SQLite数据库、标签、定制化适配器、内容提供者及窗口小部件(app widget)开发所必需的步骤。

“有些Android应用的优秀程度令人兴奋,有些则很糟糕。幸运的是,这些优秀的应用渐渐占据了榜首位置”,以上是Joel对某些对Android上现有应用的质量提出的质疑所做出的回答。

在最后一部分里,作者除了为我们介绍窗口小部件的使用之外,还将为我们介绍部署Android应用所必需的步骤,在这里你将学会如何将Google Play服务类库加入你的项目的基本步骤,包括了如何获取SHA-1鉴别、MAPs API键以及当前位置等等。Joel也讨论了如何注册Maps API键的必需步骤,另外还提到了如何检查GPS功能是否打开的方法。

你还将学到显示地图、添加标记和直线的基本技术。此外还有跑步跟踪应用的使用、activity_run_map布局的特性以及RunMapactivity和RunTrackerService类的应用。

本书最后还包含了一个附录,其中提到了使用IntelliJ进行Android编程的相关内容。

第1章可以在这里免费下载

InfoQ有幸采访了Joel Murach,试图了解他的作品的一些信息,并听听他对Android移动应用开发最新趋势的见解。

InfoQ:《Murach’s Android Programming》一书会为移动开发者带来怎样的帮助呢?

首先,本书将为开发者教授基本的Android开发技术,即使读者之前还没有Android开发的经验也能够上手。其次,这本书的设计很好,它对开发者带来了很多有用的参考信息。

InfoQ:开发Android应用简单吗?

如果你了解一些基本的Java技术,开发一个简单的Android应用是非常简单的。当然,即使是编写一个简单的应用,让它真正运行起来也要处理很多棘手的问题。比方说你需要处理应用中的各种生命周期事件,例如用户切换了屏幕的方向,或者跳转至另一个应用以发送一条文件信息。

另一项挑战是让一个应用在当前各种Android设备上所具有的数量繁多的屏幕尺寸和形状上都能够正确地运行。最后,由于Android操作系统在Java API的基础之上又提供了一套不同的API,因此开发者必须要学习一套新的API(而且是一套很大的API)。

幸运的是,这套API的设计旨在于尽量简化开发者创建一个运行在Android设备上的移动应用的过程。

InfoQ:你认为Google会在不久之后采用Java 8吗?

我不这么认为。在可见的未来之内,我认为Android还会继续使用当前所用的Java SE 6的子集特性以及API。我想Google最终还是会迫于众人的强烈要求将Java 8的特性与API加入到Android里,但我想那至少是几年以后的事了。

InfoQ:你能跟我们分享一下,为什么你会选择新闻阅读器与任务列表这两个应用作为讲述各个主题的示例吗?

我的目的是让读者能够更容易理解如何在某个应用的语境下使用特性。虽然你可以在语境之外展现这些特性,但读者们就必须自己学会如何在语境之内使用特性,这一个额外的步骤会使得对特性的理解显得更困难。当然,诀窍在于保持示例应用尽量短小与简单,这样我打算为读者介绍的特性才不会淹没在应用的其它代码中。我尽了最大的努力去取得平衡。

InfoQ:你能透露一下为什么在你的这本书中没有介绍游戏应用开发的原因吗?

我曾经考虑过在本书中介绍一个游戏应用,但我最终决定不这么做,原因是我认为对开发者来说,创建本书中所展示的一些应用的机会要更多一些,这些应用展示数据并与数据交互。如果读者们的反映他们非常想看到某个游戏应用的介绍,那我会尽量在本书的下一版中加入这部分内容。

InfoQ:有没有可能使用Visual Studio 2013来进行Android应用的开发呢?

说实在的,对此我不太确定。在之前版本的Visual Studio中,如果你安装了某些插件就能够开发Android应用了。不过我不推荐大家使用Visual Studio进行Android开发。目前我的推荐是Eclipse。或者如果你无法接受Eclipse的话,你可以使用IntelliJ,它使用起来更像Visual Studio。在今后,你或许应该去尝试一下Android Studio,目前IntelliJ与Google正在共同对其进行开发,大约在明年就可以使用了。

InfoQ:有一种常见的理论,它认为基于Android的移动设备耗电比Windows Phone 8更快。你对这个问题的看法是什么?

我认为这两个操作系统对电池寿命的处理上都做得足够好了,我想某种设备上的电池寿命更多的取决于该设备上运行了哪些应用,而不是操作系统本身。不过我并不了解这两个操作系统的底层技术细节,因此以上只代表我个人的想法而已。

InfoQ:有没有可能开发一个同时支持Android与Windows Phone 8这两种设备的移动应用呢?

当然有可能,你可以首先针对其中一种设备创建应用,随后再手动地将代码移植到另一平台。如果你的代码结构良好,做到这一点应该不是太困难。或者如果你愿意的话,你也可以尝试使用一些原本就设计为开发跨平台的移动应用的产品。比方说,你可以使用Xamarin来开发能够运行在Windows Phone、Android或者iOS系统上的应用。这些应用可以共享大部分的代码,不过与用户界面相关的代码则需要为每个操作系统分别设计了。我并没有使用这些跨平台产品的任何经验,因此我无法保证它们是否运行良好。

InfoQ:你认为《Murach’s Android Programming》对开发者来说是一份完整的资源吗?

并非如此,我并没有把本书作为开发者的完整资源来设计。本书的目的是帮助那些已经掌握了基本Java技能的开发者,让他或她能够学会Android开发技能的一些基础。当读完本书之后,读者应该掌握了一个扎实的基础,并且能够具备能力去进一步学习他们打算掌握的某部分Android功能了。

InfoQ:你觉得5至10年后,Android应用的发展与潜力会达到怎样的水平?

我相信Android应用的数量在可见的未来之内还会持续上升。到了某个点之后,或者是5至10年左右,我认为智能手机与平板的发展可能会停滞不前。到了那时候,我相信Android仍旧能够在其它类型的设备上继续发展。

关于作者

Joel Murach已经参与计算机编程方面的书籍编写和编辑超过10年了。在这段时间内,他所编写的书籍涵盖了Java、.NET、web与数据库等多方面的技术。当他不用编程,或者不用编写技术书籍的时候,他也许会跑去冲浪、或者去写音乐。

查看英文原文:Interview with Joel Murach - Author of Murach's Android Programming

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT