写点什么

采访《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:481672
用户头像

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

关注

评论

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

it资产管理系统解决方案

低代码小观

资产管理 企业管理系统 CRM系统 IT治理 资产安全

阿里云人工智能创新发布-工业五金图片搜索

视觉智能

拍照购物 以图搜图 图像搜索 拍立淘

开发改了接口,经常忘通知测试,有什么好的解决方案吗?

Liam

测试 Postman 自动化测试 测试工具 测试自动化

Docker 镜像知多少?

Daocloud 道客

云原生 Docker 镜像

Java基础06 数组基础

爱好编程进阶

Java 程序员 后端开发

9个国内/外行业 NPS (净推荐值)基准网站

龙国富

NPS

带你认识2种基于深度学习的场景文字检索算法

华为云开发者联盟

深度学习 计算机视觉 文本检测 场景文本检索 文字检索

在亚马逊云科技上搭建静态无服务器 Wordpress,每天仅需 0.01 美元

亚马逊云科技 (Amazon Web Services)

Serverless CDN WordPress

如何成为一名亚马逊云科技 Community Builder

亚马逊云科技 (Amazon Web Services)

Cloud 亚马逊云科技 career

DRBD是什么意思?优缺点是什么?

行云管家

高可用 运维 HA高可用

有更新!鸿蒙智联生态产品《接入智慧生活App开发指导》(官方版)

HarmonyOS开发者

HarmonyOS 鸿蒙智联

列举GaussDB(DWS)常见的查询时索引失效场景

华为云开发者联盟

索引 GaussDB(DWS) 隐式类型转化 GIN索引 analyze

一个平面设计师的异想世界

万事ONES

研发管理 设计师 ONES workbalance

macOS 安装 Nebula Graph 看这篇就够了

NebulaGraph

macos 图数据库 安装部署

智慧运维平台之全息监控

鲸品堂

运维 通信 运营商

OpenHarmony技术日成功举办,全球下载次数高达6300万

科技汇

Cube 技术解读 | Cube 渲染设计的前世今生

蚂蚁集团移动开发平台 mPaaS

mPaaS Android; cube

离AI无处不在还有多远?从一个英特尔开源平台开始实现

科技新消息

netty系列之:使用Jboss Marshalling来序列化java对象

程序那些事

Java Netty 程序那些事 4月月更

必示科技入围未来银行科技服务商Top100榜单

BizSeer必示科技

企业如何应对知识管理中的文档管理

小炮

知识管理

华为推出OpenHarmony生态使能服务 加速OpenHarmony商用发行版落地

科技汇

OpenHarmony技术日圆满举行 | 3.1 Release版本重磅发布,生态落地初具规模

OpenHarmony开发者

OpenHarmony 技术日

免费IT自动化运维平台- ETL调度批量管理工具 TASKCTL 8.0 作业设计功能使用

敏捷调度TASKCTL

数据仓库 数据治理 运维自动化 ETL任务 TASKCTL

3.0.0 alpha 重磅发布!九大新功能、全新 UI 解锁调度系统新能力

白鲸开源

Bigdata DolphinScheduler workflow Open Source apache 社区

基于Sharding-JDBC的订单分库⽅案

领创集团Advance Intelligence Group

直播预告|青藤云安全 x 极狐,云原生 DevSecOps 安全左移全解析

极狐GitLab

云原生 DevSecOps 主机安全 容器安全 软件安全

RNG战队LPL春季赛夺冠!中国电竞产业未来如何实现“破与立”?

易观分析

电竞产业

堡垒机是什么意思?别称是啥?

行云管家

网络安全 防火墙 数据安全 堡垒机

智能手表的下半场,机遇与挑战并存

Speedoooo

物联网 小程序容器 智能手表 智能穿戴

80+产品正通过兼容性测试,OpenHarmony生态落地已初具规模

科技汇

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