产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

  • 2013-11-28
  • 本文字数:2959 字

    阅读完需:约 10 分钟

由 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

2013-11-28 04:481535
用户头像

发布了 428 篇内容, 共 177.6 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

为什么需要对特权账号进行管理

尚思卓越

运维 网络安全 信息安全

特权账号管理系统PAM的优势特点

尚思卓越

网络安全 数据安全 PAM

Evolving with AR9582: MFC900M - A Legacy of Connectivity and Adaptation

wallyslilly

AR9582

桌面云一体机什么品牌最好?

青椒云云电脑

桌面云 一体机 桌面云一体机

影视企业有哪些方式将视频文件快速海外跨国传输国内?

镭速

跨国文件传输

IoT与鸿蒙、低代码、生成式AI,引爆技术浪潮——华为云开发者日南京站成功举办

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 华为云开发者日

语音识别技术在智能家居领域的创新应用与挑战

来自四九城儿

2023年度openEuler领先商业实践遴选征集工作正式启动

彭飞

跨国文件传输为什么要用专业的大文件传输软件?

镭速

跨国文件传输

陈奕迅全新专辑《CHIN UP!》上线华为音乐,五年后心血之作强势来袭

最新动态

陌生链接可能是诈骗网址,谁来保护我们的上网安全?

最新动态

第22期 | GPTSecurity周报

云起无垠

Python JSON 使用指南:解析和转换数据

小万哥

Python 程序员 软件 后端 开发

高能有料 | 第二届OpenHarmony技术大会议程速递

OpenHarmony开发者

缺客户、缺钱、缺时间——实业经营的真挑战,中国企业分别突破

B Impact

语音识别技术在智能客服领域的应用与优化

来自四九城儿

在线涂鸦画板软件哪款好?这7款涂鸦神器值得推荐!

彭宏豪95

效率工具 画图软件 在线白板 涂鸦 绘画软件

HarmonyOS数据管理与应用数据持久化(一)

HarmonyOS开发者

外贸网站建设攻略:如何建设一个高效的外贸网站

九凌网络

软件测试/测试开发丨利用ChatGPT自动生成架构图

测试人

人工智能 软件测试 ChatGPT

华为Mate 60必备,这几个保护隐私的设置太实用了

最新动态

云桌面是否可以运行3D软件

青椒云云电脑

桌面云 云桌面

2023-11-01:用go语言,沿街有一排连续的房屋。每间房屋内都藏有一定的现金, 现在有一位小偷计划从这些房屋中窃取现金, 由于相邻的房屋装有相互连通的防盗系统,所以小偷 不会窃取相邻的房屋, 小

福大大架构师每日一题

福大大架构师每日一题

低代码可视化逻辑编排工具

树上有只程序猿

低代码 可视化编排 JNPF

客服发送一条消息背后的技术和思考

得物技术

体验 IM 客服

一座 “数智桥梁”,华为助力“天堑变通途”

脑极体

AI

语音识别技术在医疗健康领域的应用与挑战

来自四九城儿

自动化混沌工程 ChaosMeta V0.6 版本发布

ChaosMeta

云原生 自动化 稳定性 混沌工程 攻防演练

特权账号安全管理的难点

尚思卓越

网络安全 数据安全 特权账号管理

采访《Murach’s Android Programming》一书的作者Joel Murach_移动_Anand Narayanaswamy_InfoQ精选文章