[转]Android之父深入解析Android

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

      原文地址:http://www.moandroid.com/?p=1065

上周末去光谷书城,不经意间看到了程序员杂志2008年合订本,无意中看到这篇经典的文章:Andy Rubin 独家专访,感受颇深,将这篇文章稍微整理了下,在这里与大家一起分享。声明:原文章来源于程序员杂志2008年第一期,本人看到这篇文章后收获很多,将原文稍微修改(原文比较长,去掉无关紧要的内容,保留经典部分)。

整理后的文章如下:

2007 年11 月Google 宣布Android 平台,被众多评论者认为是今年移动领域最具影响力的事件之一。恰在12 月,Android 平台创始人Andy Rubin 访问中国,《程序员》杂志有幸成为采访他的第一家中国媒体,本文就是Andy 与杂志总编孟岩的对话。

…………

孟岩:这么说您也很喜欢iPhone?那么为什么还劳神费力开发Android 这样一个新的手机操作系统?

Andy :没错,iPhone 非常棒,但是它是一家公司的产品, 它从里到外的设计都是特定的,只有一个按钮,那么大的屏幕,特有的软件系统。尽管它很棒,但是它就是苹果的,别的制造商用不了。Android 不同,Android对所有人开放,而不只是一家厂商。你可以在摩托、三星、LG等几十个厂商的手机上运行Android。对于开发者来说,这一点意义重大,它意味着你写的手机应用可以无需修改地运行在几十个不同厂商出产的手机上。

孟岩:Android 手机会很贵吗?

Andy :不会。手机硬件越来越便宜。相对来说,软件成本才是居高不下。在整个手机的成本中,软件所占比例越来越大。这根20多年前发生在PC领域中的情况一模一样。Android是开源软件,能够有效降低软件的成本,从而降低手机的整体价格。

孟岩:如何保证那些手机都能够顺利地运行Android 的呢?各种手机的配置千差万别,难道是像微软那样指定一个硬件规范,要求厂商去遵守吗?

Andy :当然不是。这里面可是有门道的, 我们在设计时就努力地让Android 变得很容易移植到不同手机设备上。Android 也许是目前最具可移植性的手机操作系统。给你讲个实际例子吧。今年感恩节前后,我们的一个工程师打算利用假期尝试把Android 移植到一款诺基亚手机上。这是一款与我们的参考设备完全不同的手机,屏幕尺寸、按钮、无线设备统统不同。你猜猜他用了多长时间完成这一工作?

孟岩:少说也得一个星期吧?

Andy :只用了三个多小时,通共改动了4行C语言源代码。

孟岩:太令人震惊了!

Andy:可不是吗,连我也感到震惊。我想这就是开放平台的威力。

孟岩:您提到开放,一个开放的手机软件平台对于手机制造商来说有什么意义呢?

Andy :目前手机操作系统大约占手机成本的20%,而在此之上,手机制造商还必须自己集成若干重要应用软件,如浏览器、短信、图片显示软件等等,这给他们带来了不小的负担。Android 提供了一个从操作系统到应用程序的完整软件栈,同时又允许人们定制差异化,以形成自己竞争优势,对于手机制造商来说,其意义不言而喻。开放带来的另一个好处是允许厂商自主解决问题,当你发现Android系统中有bug或者不符合你要求的地方,不必等上18个月,而是可以直接解决。

…………….

孟岩:如果Android 取得成功的话,Google 和你本人肯定无意成为手机软件领域的统治者吗?

Andy :当然不会。开放本身就意味着没有人统治一切。况且如今已经有三十多家公司加入Android联盟,实际上Android 不是Google 一家的,任何人都可以拥有Android。相信我,没有人能成为Android世界的垄断者。

孟岩:如果是这样的话? Google又能得到什么好处?

Andy :你还记得我刚才说过的,今天的手机软件产业与20 多年前的PC软件产业如出一辙。因此我们要注意,如果只有一家公司来提供手机基础软件的话,那么毫无疑问就会再次产生一个巨无霸的垄断者。今天世界上大约12 亿PC用户,可是手机用户有30 亿之多!这意味着,手机一定会成为人们获取信息的主要设备。如果有一家公司垄断了手机软件市场,它就可以决定人们可以看或不可以看什么样的信息, 这是很严重的问题, 也是Google 不愿意看到的。我们开发Android 并且将其开放, 就是要防止这种情况发生, 让每个人都可以平等自由地访问信息。只要用户能够自由获取信息,Google 就可以找到自己的业务模式。

孟岩: 好吧,那么告诉我, 你为什么要把这个系统命名为Android ?

Andy :Android 其实是我于2005年1 月创办的手机操作系统软件公司的名字,半年后这家公司被Google收购了,不过我们的产品名字继续称为Android。至于其来历嘛,我创办的上一家公司叫做Danger(危险),你说如果上一家公司叫“危险”的话,下一家公司该叫什么名字?总不能叫“完蛋”吧?我是说,高科技公司取名字尽可以有趣一些,既然Linus Torvalds把自己写的操作系统称为Linux,那么我的名字是Andrew,把这家公司叫做Android有何不可呢?再加上我本身是个机器人迷,所以Android 这个名字还是不错的。事实上, 在Android 之前,我们能已经做出来一款手机,叫做T-Mobile Sidekick。这款产品很成功,好莱坞的很多明星都用它。但是我觉得毕竟它能够触及到的人群还是有限,所以决定做一个手机操作系统,能够运行在各种手机设备上。

孟岩:Android 由Linux+Java 构成。手机操作系统用Linux 我能理解, 用Java 也是情理之中。可是Android 不是把现有的成熟的Java 拿来直接用,而是从头开始重新实现了一个Java,从虚拟机到相当多的Java 类库。这不是重新发明轮子吗?有这个必要吗?

Andy :对我来说,“Java”这个词意味着四种东西:一种编程语言,一种虚拟机,一个类库,和一个应用程序框架。我们的确重新开发了虚拟机,这是因为要克服现有手机JVM的一些固有缺陷,比如启动时间过长,功能受限。你知道,Java ME为了保证“一次开发,到处运行”,就不得不迁就那些配置非常低端的手机设备,结果导致其功能十分有限。而你看看iPhone之所以这么酷,就是因为它完全不考虑要去兼容什么过时的设备,iPhone的配置完全不亚于一台五年前的PC。我们在设计之初就决定,甩掉不必要的历史包袱,对Android的硬件配置作出一定的要求,从而使得我们可以在比较高的水平上重新设计和优化JVM。此外,我们的确完全重新开发了一个应用程序框架,称之为Android应用框架。这是因为我们对于如何组织手机应用程序有全新的、特别的想法,现有的Java ME完全不能满足我们的需要,所以重新开发一个,这并没有什么大不了的。

孟岩:什么全新的、特别孟岩:什么全新的、特别的想法,能透露一下吗?

Andy :我们希望支持手机应用程序的mash-up。“Mash-up”这个词是从Web 2.0 里偷过来的,你应该知道什么是Web 2.0 mash-up 吧?

孟岩:这我当然知道。比如我从一个网页上抓下一块XHTML 数据,再从另一个Web Services 那里获得一些XML 数据,我就可以把这两块数据mash-up 起来,形成新的XML 数据,并且这一数据可以在此被别人mash-up。不过Web 2.0 中的mash-up 是基于XML数据的,难道Android 中的mash-up 也需要借助XML 来完成吗?

Andy :好问题。在传统的手机开发中,应用程序要么调用操作系统服务,要么通过程序库获得较高级的服务。如果操作系统和程序库都没有提供某项功能,应用程序开发者只好自己实现。在Web上,一个Web应用不仅可以使用本机上由操作系统提供的服务,还可以以你刚才所说的方式使用其他Web 应用所提供的服务。这样一来,Web 应用程序不仅可以依赖操作系统服务,而且可以彼此相互提供服务。这就是我们想在Android中达成的目标,也是为什么我们要重新开发一个应用框架的根本原因。

孟岩:这个想法是怎么来的?

Andy :你知道Google是一家互联网公司,并且拥有很多世界上最聪明的软件工程师,像mash-up 这样的想法就长在Google的DNA里,所以把这种思想带入手机平台很自然。

孟岩:能详细的讲讲Android 如何实现mash-up 吗?

Andy :Android 的mash-up 中有两个关键概念,一个称为Activity,一个称为Intent。Activity 可以完成某些工作,而Intent 可以表达“要做某事”,一个Activity可以满足若干Intents。我举一个例子好了,比如我在写一个email,打算附加一个图片附件,需要选择图片。我会广播一个Intent,说:“我要选择图片,你们谁能选择图片?”。那么设备中的Android 应用和外部的服务,如Flickr 和Picasa 都可以举手响应说:“我行!”然后用户就可以选择其中最合适的那个来选择图片。

孟岩:听起来很像GUI 框架中的Signal/Slot ?

Andy :我觉得更好的类比是微软的COM体系。Android 可以把设备内和互联网上的服务都以上述的方式mash-up 起来。这一能力实在非凡。它使得开发者能够在一个非常高的层次上快速开发高质量的应用。

孟岩:这对于开发者确实有很大的吸引力。

Andy :当然。对于开发者而言,Android 是一个非常有特色的先进的平台, 能够放大开发者的能力和效率。同时,Android 的开发语言和环境都是开发者所熟悉的。Java 语言是世界上最流行的语言,而在开发环境方面,我们选择了大家熟悉的Eclipse和IntelliJ。所有的软件、工具和模拟器都是免费的,整个系统稍后还会完全开源,开发者无需做任何痛苦的转型,就可以为Android 开发应用。

…………

读后感

看了以上Android之父对每个问题的解析,我们这些Android应用程序开发人员大脑中的很多疑惑,是不是都消失了?每个Android开发人员都能从这篇文章中受到很大的启发,如果想看原文请到程序员杂志的官网站去下载。在后面的篇幅中我们会抽空,继续与大家分享Android方面的一些经典的文章。

安卓USB串口通信全解析:从硬件驱动到应用开发实战 串口通信作为嵌入式开发和硬件调试的基础技术,通过串行数据位传输实现设备间稳定可靠的数据交换。其核心原理基于异步通信协议,通过波特率、数据位和停止位等参数配置确保时序同步。在工业控制、物联网设备调试和智能硬件开发等场景中,串口通信技术价值显著,能够连接微控制器、传感器和各种外围模块。针对安卓设备缺乏原生USB串口支持的痛点,本文深入探讨了FTDI、CH340等主流芯片的驱动方案,并详细解析如何通过Android USB Host API实现无Root权限的串口通信应用开发,为移动端嵌入式调试提供完整解决方案 阅读详情

相关推荐

Android studio2024的第一个安卓项目

解决方法:首先查看连接的设备查看是否使用了自定义布局查看安装的包使用构建 Android 应用调试版本的命令我是用构建时发现了问题:Java compiler version 23 has deprecated support for compiling with source/target version 8.(即java版本为23,不适用于目标版本8)璀﹀憡: [options] 婧愬€?8 宸茶繃鏃讹紝灏嗗湪鏈潵鍙戣鐗堜腑鍒犻櫎璀﹀憡: [options] 鐩爣鍊?

m0_69115733的博客 1797

Essential-PH1-WindowsDrivers

Essential-PH1-WindowsDrivers PH1安卓之父手机刷机Windows驱动 ADBFASTBOOT驱动

安卓之父Essential Phone刷miui11.rar

安卓之父Essential Phone刷miui11全套资料,内附刷机教程,驱动,刷机工具,常用软件等 刷机包介绍,微信13168902162 [ROM] ---存放刷机包 [app] ---存放手机软件 [magisk] ---存放magisk模块 [drivers] ---存放电脑驱动 [xiu] ---部分bug修复 [unlock_BL] ---存放解锁手机BL脚本 [bat_sh ] ---存放刷机脚本 [bat_sh ] ---中的[only]为刷单独的分区脚本

Android: Android之父深入解析Android

<br />By: 海市蜃楼<br />上周末去光谷书城,不经意间看到了程序员杂志2008年合订本,无意中看到这篇经典的文章:Andy Rubin 独家专访,感受颇深,将这篇文章稍微整理了下,在这里与大家一起分享。声明:原文章来源于程序员杂志2008年第一期,本人看到这篇文章后收获很多,将原文稍微修改(原文比较长,去掉无关紧要的内容,保留经典部分)。整理后的文章如下:<br />2007 年11 月Google 宣布Android 平台,被众多评论者认为是今年移动领域最具影响力的事件之一。恰在12 月,An

TODO: Android; Linux; Cloud; 2391

安卓简单介绍及概念

第一课 安卓介绍及概念 走进安卓概念图Android 的由来定义:Android的特点 概念图 Android 的由来 Andy Rubin(安迪·鲁宾) 1963年生于纽约州镇。 1989年,Andy Rubin 加入苹果公司。 1990年,苹果的手持设备部门独立出来,两年后,安迪·鲁宾选择加入。 1997年,安迪·鲁宾加入微软公司,雄心勃勃地开始了他的超级机器人项目。 不久,安迪·鲁宾离开...

XSD_Andy的博客 2072

Android之父Andy Rubin:生而Geek

<br /> <br />如今,Android及它的绿色小机器人标志和苹果iPhone一样风靡世界,掀起了移动领域最具影响力的风暴。创造这一奇迹的人,叫Andy Rubin(安迪·罗宾),Google工程副总裁,Android开发的领头人。<br /><br /><br /> <br />早年岁月<br />Andy Rubin1963年生于纽约州Chappaqua镇,父亲是学心理学的,经营一家电子玩具直销公司。销售样品拍照放进销售目录之后,就属于小Andy的了,他的房间满是各种最新的电子玩具。反复拆装这些

davidqwert的专栏 564

Android入门

一、Android的初识 1、Android起源?   Android最先出现在法国作家利亚.亚当的科幻小说《未来夏娃》中,书中一机器人名为Android。 后安卓之父安迪.鲁宾 (Andy Rubin)开发的系统便以Android命名,后公司有GOOGLE公司于2005年收购,Android也有谷歌公司接手开发。

sxl___的博客 417

写ios系统和安卓系统的人到底有多牛?

福斯特在苹果公司的牛。福斯特于1992年加入了乔布斯创办的NeXT公司,1997年苹果收购NeXT,福斯特跟随乔布斯加盟苹果。按照苹果与乔布斯安排,福斯特先后负责了MAC OS与iOS系统的开发,是两大重要贡献的重要贡献者、奠基者。之后,福斯特负责的软件业务出现了两大失误,包括失败的苹果地图与不完善的Siri服务,福斯特不愿意道歉,他很可能是苹果公司设计、硬件两方高管意见不合、决策失误的牺牲品。作为乔布斯继任人选之一,福斯特不想在苹果继续任职,2012年离开苹果。 福斯特离开苹果公司的牛。福斯特离职后,随

地推 344

()Android之父深入解析Android

Android之父深入解析Android By: 海市蜃楼 | In: Android开发|Android新闻 上周末去光谷书城,不经意间看到了程序员杂志2008年合订本,无意中看到这篇经典的文章:Andy Rubin 独家专访,感受颇深,将这篇文章稍微整理了下,在这里与大家一起分享。声明:原文章来源于程序员杂志2008年第一期,本人看到这篇文章后收获很多,将原文稍

gxj1680的专栏 625

Android: Android之父深入解析Android ()

今天读到一篇Android 创始人的采访文章,解决了很久以来的一些疑问,特收藏在此:   By: 海市蜃楼 上周末去光谷书城,不经意间看到了程序员杂志2008年合订本,无意中看到这篇经典的文章:Andy Rubin 独家专访,感受颇深,将这篇文章稍微整理了下,在这里与大家一起分享。声明:原文章来源于程序员杂志2008年第一期,本人看到这篇文章后收获很多,将原文稍微修改(原文比较长,去掉无关紧

火星人在地球的专栏 487

安卓文字语音——其实可以很简单——TextToSpeech用法解析

很多时候我们会碰到文字语音的需求,使用第三方sdk是个不错的选择,其实也可以更简单,安卓原生就提供了一个类处理这个事务。TextToSpeech无需集成,直接使用 支持22种语言,不过中文支持并不很好,,emmmmmmm系统要求为API 4 以上(android 1.6)不过现在应该不算问题了。

feisher 2万+

Android之父深入解析Android

Android之父深入解析Android By: 海市蜃楼 | In: Android开发|Android新闻 14十2009 上周末去光谷书城,不经意间看到了程序员杂志2008年合订本,无意中看到这篇经典的文章:Andy Rubin 独家专访,感受颇深,将这篇文章稍微整理了下,在这里与大家一起分享。声明:原文章来源于程序员杂志2008年第一期,本人看到这篇文章后收获很多,将原文

pi9nc的专栏 1370

安卓刷机驱动

汉化刷机驱动,ROM包自己下,不包教程,汉化的,自己能看懂

android NFCA、NFCB卡读写demo

支持Mifare卡(NFCA)和NFCB卡读写的demo。 1、 m1卡读写数据和修改控制位和秘钥都可以,增值减值可能是用的不对,没效果。http://download.csdn.net/detail/qust_lizhijun/9001243 链接是控制位的不同对于数据读写和控制位、密钥改写的影响。 2、二代证就是nfcb模式,然并卵,数据都是加密的,能读写也看不懂,所以只写了个接口使用方式。

Android 系统TTS(文字语音)解析

小玩TTS

Mahjong的博客 1833

安卓android记单词软件

基于安卓的记单词软件,用户在第一次使用的时候,需要点击注册登录,在登录成功后会有引导页面,引导页面可以简单介绍软件使用,用户可以跳过。引导页面后,会跳到选择词汇本页面,选择完词汇本后,跳至设置计划页面,设置完学习计划后,会跳至首页面,在首页可以查看单词的学习进度等信息,有三个学习单词的按钮,分别是“开始记单词”,“单词回顾”,“单词测试”用于不同的学习功能,可以搭配学习使用。在“我的”里面。具有查看收藏信息,更换单词本、等其他功能。 开发环境: 前端:android studio 后端:jdk1.8

执笔浮云的博客 5646

77个安卓游戏Android源码:深入解析安卓游戏开发利器

77个安卓游戏Android源码:深入解析安卓游戏开发利器 去发现同类优质开源项目:https://gitcode.com/ 在移动应用开发领域,安卓游戏因其多样化的功能和广泛的用户基础而备受关注。今天,我们就来为大家推荐一个包含77个安卓游戏Android源码的开源项目,帮助您快速掌握安卓游戏开发的核心技术。 项目核心功能/场景 77个安卓游戏Android源码:涵盖多种类型的游戏开发,助力学习...

gitblog_06754的博客 764
上一篇: Android数据存储(总结篇)
下一篇: 【转】Activity 、Intent深入解析
Linux先生
博客等级 码龄20年 97粉丝 43原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值