⑴ android 7.0有哪些优点
分屏多任务。
全新下拉快捷开关页。
通知消息快捷回复。
通知消息归拢。
夜间模式。
流量保护模式。
全新设置样式。
改进的Doze休眠机制。
系统级电话黑名单功能。
菜单键快速应用切换。
无缝更新。
更高的性能。
更高的安全性。
提升了系统的效率。
⑵ android ios 系统特点上的区别
ios与安卓的区别:
1、两者运行机制不同:ios采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
2、两者后台制度不同:ios中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。
3、ios中用于ui指令权限最高,安卓中数据处理指令权限最高。
iphone沙盒机制解释:应用程序位于文件系统的严格限制部分,程序不能直接访问其他应用程序。以杀毒软件中的沙盒技术解释一下。“沙盒”技术是发现可疑行为后让程序继续运行,当发现的确是病毒时才会终止。“沙盒”技术的实践运用流程是:让疑似病毒文件的可疑行为在虚拟的“沙盒”里充分表演,“沙盒”会记下它的每一个动作;当疑似病毒充分暴露了其病毒属性后,“沙盒”就会执行“回滚”机制:将病毒的痕迹和动作抹去,恢复系统到正常状态。
安卓虚拟机机制解释:android本身不是为触摸屏打造的,所以所有的应用都是运行在一个虚拟的环境中,由底层传输数据到虚拟机中,再由虚拟机传递给用户ui,任何程序都就可以轻松访问其他程序文件。
⑶ android(安卓)是什么技术为什么如此火爆
安卓内核是linux,是谷歌整合推出的,主要应用于手机和平板等移动终端。
火爆的原因有很多:
1.系统是开源的,因此吸引了众多的软件开发,系统怎么样不说,如果有无穷无尽的软件,无论如何也是非常吸引人的。现在的手机软件,无论如何也不会是一家能做的了。
2.推出的时机非常好,安卓之前,智能机市场是塞班、微软wm、黑莓、linux、苹果等,主要是塞班和苹果,其他的相对比较少。苹果不说了,塞班系统和微软的系统不管是从体验、软件来说都差很远。安卓不是开创了大屏,触控,但是却推进着手机的发展方向向这方面发展。
3.移动互联网,这一块现在是中国市场竞争最激烈的,这是一个时代,呵呵。
⑷ Android操作系统的特点
2、Android系统的开源特性使得厂商可以随意打上自己的印记 3、Android系统的免费特性 Symbian的特点Symbian作为一款已经相当成熟的操作系统,具有以下的特点: 第一,提供无线通信服务,将计算技术与电话技术相结合。 第二,操作系统固化。 第三,相对固定的硬件组成。 第四,较低的研发成本。 第五,强大的开放性。 第六,低功耗,高处理性能。 第七,系统运行的安全、稳定性。 第八,多线程运行模式。 第九,多种UI,灵活,简单易操作。 以上总结的九点,并不代表说为Symbian OS所独有,只是Symbian OS将其这些特点突出,并且充分的这些特点发挥了优势,让其更好的为用户服务 不过很明显,塞班已经老了,Android更流行些。追问: 关于Android的可以具体点嘛回答:android软件丰富安装方便管理方便免费资源论坛交流广阔 可以不用改机随时换电池 不用改机随便装软件追问: 目前好像还是塞班多吧回答: 塞班机子一般便宜点嘛,中下等收入买得起啊,你瞅瞅HTC,MOTO哪款智能机不两千左右的,塞班在中国明显还是很多的,但在全球来看,尤其是在欧美,完全没有市场,塞班已经不行了,每季度都下降。Nokia新开发的meego系统还不晓得何时才全面出来呢。目前主流是Android、PhoneOS及黑莓系统。
⑸ 安卓系统的优点和缺点
安卓系统手机的优势:
一是便宜,由于安卓是开源的操作系统,厂商可以不必将更多的心思花在系统构建上。
二是软件选择更自由,对于大部分日常应用软件,都有安卓版本以及iOS版,对于一些小众或者公司内部自己开发的软件,安卓手机更容易安装,而iOS系统有着较高的审核机制,对于外来应用的支持度非常低。
二是手机软件质量不一,由于手机型号众多,版本众多,很多软件并不能很好的适配,因此就会出现显示不正常的软件。当然主流的软件基本都没问题。
三是流畅性,最近几年安卓手机的流畅性有了很大提升,之前即便是旗舰机,用个一两年都会有卡顿的现象,尤其是升级系统后。
⑹ android app 技术特点怎么写
权限管理
权限管理是 Android M 最大的改变,权限管理更加精细,并且由以前的安装时静态授权,改为现在的运行时动态授权。
1.系统设置中可以对 APP 各个权限单独控制
2.权限根据内容进行分组了
3.普通权限还是在安装时授权
4.其他权限在运行时系统弹窗授权,并且要解析使用这个权限的目的
APP Linking
杭州达内Android专家表示这是将 APP 和网页直接打通的技术,能够让 APP 能够直接来处理你的网站普通的 URL 链接,来展示你对应的网站内容。这一点对淘宝等既有网站又有 APP 的应用来说非常有利。
类似于 APP 的 Deep link,可以通过特殊的 Schema 也可以让 APP 直接打开对应的内容。APP Linking 的特点是,只要使用传统的 URL 就可以,而且是根据 URL 的域名对应特定的 APP 的。
APP 数据自动备份
支持 APP 数据自动备份到 Google Drive,换手机时,能够直接把 APP 的数据恢复到手机上,你还可以配置些数据那些数据需要或者不需要备份。
指纹解锁
Android 官方支持指纹认证,可以用在解锁,或者任何需要验证用户的地方,例如支付。提供新的 API FingerprintManager,让第三方 APP 来用来获得指纹认证的功能。
直接分享
直接分享是在 APP 内直接弹出一个选择分享到其他应用的中的对象的列表,中间省略了选择需要分享的 APP,选择“联系人”之类的操作,进一步简化了分享操作。
支持蓝牙触控笔
系统内置支持蓝牙触控笔, Android 系统默认支持高大上的触控笔,提供了 API 让你的 APP 来响应触控笔事件。
低功耗蓝牙扫描优化
优化了低功耗蓝牙扫描优化的扫描。
支持主题化的 ColorStateLists
使用 context.getColorStateList(int id) 来获取当前主题对应的 ColorStateLists。
相机 API
提供 API 直接开关闪光灯,并且可以监听闪光灯的开光状态。
此外,杭州达内Android专家介绍Android M其他特性:
1.有语音交互 API
2.Hotspot 2.0 支持
3.4k 屏支持
4.语音和视频 API 的改进
5.Android 企业用户特性
⑺ android系统的优点与缺点
android系统的优点
市场份额大:超80%,iOS不到13%; Windows Phone 不到4%;
应用程序发展迅速:Android应用商店最大的优势是,不对应用程序进行严格。在这一点上优于苹果。
智能厂家助力:世界很多智能手机厂家几乎都加入了Android阵营,并推出了一系列的Android智能机。终端越多,其市场潜力就越大。大部分厂家参与建立了Android平台技术联盟。
Android价廉性能不低:虽然Android平台的手机价廉,但是其性能却一点也不低廉。Android平台简单实用,无论是功能还是外观设计。
机型多 硬件配置优:每一家手机厂商都推出了各自的Android智能机,数不胜数。
系统开源
利于创新:苹果的自我封闭性,使其创新必须源自内部。而Android是开源的,允许修改,这在很大程度上容许厂家根据自己的硬件更改版本,从而能够更好的适应硬件,与之形成良好的结合。
开发者最多:国内开发者众多,本土化软件齐全
方便开发:Android平台提供给第三方开发商一个十分宽泛、自由的环境,会有多少新颖别致的软件会诞生。
有利创业:方便技术创业,投入很少,关键在创新、服务和技术。
android系统的优点与缺点:
1.基本上可以在线看视频的软件里面的视频都很不清楚
2.只是一味的加大屏幕大小最求品质的高尚,却忘了手机最重要的待机
3.只要配置稍微差了那么一点随便装几个软件就卡死,还要靠app2sd
4.自动走流量太快了
5.安全和隐私安全和隐私安全和隐私安全和隐私 由于手机与互联网的紧密联系,个人隐私很难得到保守。
安全和隐私
由于手机与互联网的紧密联系,个人隐私很难得到保守。除了上网过程中经意或不经意留下的个人足迹,Google这个巨人也时时站在你的身后,洞穿一切,因此,互联网的深入将会带来新一轮的隐私危机。
首先开卖Android手机的不是最大运营商
众所周知,T-Mobile在2009年9月23日,于美国纽约发布了Android首款手机G1。但是在北美市场,最大的两家运营商乃AT&T和Verizon,而目前所知取得Android手机销售权的仅有T-Mobile和Sprint,其中T-Mobile的3G网络相对于其他三家也要逊色不少,因此,用户可以买账购买G1,能否提言道最佳的3G网络服务则要另当别论了。
运营商仍然能够影响到Android手机
在国内市场,不少用户对购得移动定制机不满,感觉所购的手机被人涂画了广告一般。这样的情况在国外市场同样出现。Android手机的另一发售运营商Sprint就将在其机型中内置其手机商店程序。
同类机型用户减少
在不少手机论坛都会有针对某一型号的子论坛,对一款手机的使用心得交流,并分享软件资源。而对于Android平台手机,由于厂商丰富,产品类型多样,这样使用同一款机型的用户越来越少,缺少统一机型的程序强化。举个稍显不当的例子,现在山寨机泛滥,品种各异,就很少有专门针对某个型号山寨机的讨论和群组,除了哪些功能异常抢眼、颇受追捧的机型以外。
过分依赖开发商缺少标准配置
在使用PC端的Windows Xp系统的时候,都会内置微软Windows Media
Player这样一个浏览器程序,用户可以选择更多样的播放器,如Realplay或暴风影音等。但入手开始使用默认的程序同样可以应付多样的需要。在Android平台中,由于其开放性,软件更多依赖第三方厂商,比如Android系统的SDK中就没有内置音乐播放器,全部依赖第三方开发,缺少了产品的统一性。
⑻ 安卓系统现在有哪些优点
开源性
1.系统桌面可定制化
苹果iTunes应用商店里也没有定制桌面的程序。而Android系统却是个例外,可以通过很多程序让桌面变个样子,就比如大家都热爱的HTC桌面,Android用户可以在任意一款安卓手机上定制HTC桌面,非常炫!
2.免费应用更迎合国人习惯
很多用户拿着IPHONE的第一件事就是越狱,就算手机可能变砖也在所不惜,如此这般,只是为了能使用免费软件和游戏,而安卓用户简直是太幸福了!以下载量超1亿次的愤怒的小鸟为例,所有平台都要收费,只是对Android平台网开一面。
3.开源、开放
Android是一个全面为用户提供开源的操作系统,谷歌从2005年收购Android有限公司后,继续对其进行深度开发,直至2007年末才推出安卓首个版本,但根据今年年初的一项统计数据分析,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,安卓系统不但应用于智能手机,也在平板电脑市场急速扩张。原因?如果只用两个字解释:开源,仅此而已。
4.基于Flash技术娱乐性优于iOS
乔布斯不止一次表示,Flash不适合手机时代,所以苹果iPhone封杀Flash(倔强的老头)。他认为,移动互联时代会被HTML5取代。不支持Flash,意味着用Flash制作的游戏无法运行,FLV和SWF等Flash视频文件也无法在iPhone上观看,部分电子图书也采用了Flash技术……P.S,Adobe最新推出的CS5.5高调宣布既支持Flash,又支持HTML5,这下热闹了。接下来我们期待一下乔帮主如何回应Adobe这个举动。其实以我来看,支持不支持Flash,应该由用户来决定,而不是由哪个老头子决定。
Android表示无压力,多多益善,照单全收。
5.手机铃声随心定制 iOS用户无权限更换
iPhone用户是否对手机内置的铃声有点无奈?想用自己喜欢的音乐做铃声,但是系统没有该项设置;想换铃声?越狱吧,稍有不慎,手机变砖。。。而一向喜欢个性时尚的中国手机用户们,喜欢安卓手机也就可以理解了。
⑼ 安卓系统的优点有哪些
各有所需,各有所求 安卓系统和塞班系统的比较:以N97和g7为例
G7
vs
N97
先说说我感觉到的G7相对于N97的优点:
1.
优点:
a)
硬件方面:
i.
屏幕:分辨率和色彩都没的说,G7电容屏反应也比
N97的电阻屏快多了,但是容易误操作
ii.
CPU:频率高就是不一样,反应很快。
iii.
内存大:数值是大,可实际干的活(可同时运行的程序)不一定比N97多。
b)
软件方面:
i.
HTC
sence的界面确实不错,尤其是场景模式,这个是N97所没有的。这个场景模式跟情景模式有很大区别的。情景模式是针对来电的:铃声,震动,短信音,力回馈,邮件提示音等。场景模式是调整软件布局的,这个非常好。
ii.
多点触碰:这个就不说了,N97的电阻屏只能望洋兴叹了。这个是的多媒体操作,尤其是浏览照片时,感觉非常爽。还有一些需要多点触碰的有些。其他应用倒是没啥。
2.
缺点:
a)
硬件:
i.
没有键盘,这个是触屏手机的天生弱项。对于经常需要大量手机文字输入的人来说,没有键盘是不能接受的。大量文字输入的情景:短信,QQ,MSN,
飞信,邮件(公司),写博客,记事本,论坛发言、回复等。对于我这样经常出差的人,手机可以替代电脑完成很多事情。所以键盘是我必须的手机硬件配置。
ii.
电池:为啥不是1500或者更高?显然瘦小的机身限制了电池大小,所以容量有限。
iii.
没有机身存储:虽然存储卡的技术日益现金,但是速度肯定是没有机身存储快的
iv.
摄像头:虽然都是500万像素,但是玩过单反相机的人都知道,那像素是怎么一回事。相机的成像质量的好坏不是像素决定的,是成像器材(CCD,或者CMOS)的尺寸大小。明显G7的镜头小了很多。
b)
软件方面:
i.
通讯录管理:这个烂的一塌糊涂。可以说G7只是能打电话的多媒体终端。而N97(塞班系统)才是手机,是有多媒体功能的手机。
1.
HTC
套件无法同步通讯录(G7叫联系人,其实这个叫联系人就是很不准确,因为有些电话不是“人”的,是酒店,是400电话,是公共机关等。所以叫通讯录或者名片夹比较合适。就这一点就可以说明安卓系统在电话功能上是很烂的)。总是提示“设备内存不足”,不知哪里出问题了。后来用91助手同步了一下,但91助手那界面,简直就是20世界的软件界面。
2.
手机通讯录的组织管理很差。默认分组不能改名字,导致分组自由度很低,或者自己加分组,但前面那些没有的分组,看着很是闹心。目前只能使用Gmail来管理联系人。所有分组只能在gamil里管理。同时还得设置不自动同步。总之使用起来比较繁琐
3.
在分组里删除名片会导致名片在手机里删除。这是及其愚蠢的。
4.
同步不支持分组,塞班系统在上一代套件里不支持分组,目前的OVI
套件是支持分组同步,即手机通讯录里分组时可以同步到电脑上的。
5.
拨打电话时的电话查询:不知道是否是需要第三方软件支持,我的G7不支持首字母查询。比如,我的通讯录里有“张三”,我只要输入:“zs”,就可以查询到这个人。但是G7需要输入“zhangsan”,这个极大的影响名片的查询速度。(该问题已经得到解决,使用了快捷方式:《收索联系人》)
ii.
短信管理:
1.
收件箱:不能方便的查询收到的短信:短信没有分组。《问题在的DZ里就不存在了》
2.
已发送短信:查询很不方便
3.
草稿箱:也不是很方便找到。
4.
编辑短信时,若中途退出,直接保存到草稿。不想保存都不行。
iii.
运行程序管理:很难查询到后台运行的程序。《后来查询了安卓关于程序运行管理的理念,基本接受内存半退出状态》
iv.
Wifi:找到这个设置很难,可能是我还不熟悉的原因。在程序运行时,不能随意切换接入点。这个很不方便。(目前使用海卓来设置,看来系统自身不行,只能大胆使用第三方软件了)
3.
总结:G7的优点:速度快,多点触控,场景模式,是亮点。但手机的基本功能实在不敢恭维。对于手机而言,硬件永远是容易模仿和做到的,但软件才是灵魂。做过程序的都知道,软件的好坏包括几方面:第一能实现的功能,第二易用性,第三可靠性。显然,谷歌系统这是在第一方面做的好,但是在后面连个方面却远远落后于塞班系统。这个优点像日*本车和欧洲车的比较。G7(安卓系统的手机)更像是外表华丽的日*本车,塞班系统是更关注操控和安全的欧洲车。当然了,自己选手什么手机,还是要看自己的偏好:如果更多的时候是为了娱乐:玩游戏,看照片,那么G7好。如果更多的时候是商务应用:拨打电话(通讯录管理,比如我的手机里有大几百号名片),收发短信,push
mail,博客,论坛等,还是选择塞班系统手机比较好。
Symbian开放式操作系统
Symbian操作系统提供了灵活的应用界面(UI)框架,不但使开发者得以快速掌握必要的技术,同时还使手机制造商能够推出不同界面的产品。Symbian系统手机可以采用多种应用界面形式:一类在设计上很类似当前最常见的手机,即主要通过键盘进行输入的手机;另一类是使用手写笔进行操作;还有一类是既有键盘又有触摸屏的手机,它具有较大的屏幕和较小的键盘。不同的输入方式和外观设计会对各款手机的主要用途产生很大的影响。应用界面在要求上是由手机和市场决定的。有了Symbian操作系统,手机制造商和第三方开发者就可以为上述各类手机开发出独具特色的应用界面,例如:
(1)
采用数字键盘的手机(Symbian
s60)
此类手机需要灵活的应用界面,方便用户使用导航键(Joystick)、软按键或转点通键(Jogdial)操作,诺基亚3650和N-Gage也就是代表他们采用了Series
60应用界面。如诺基亚
6600;诺基亚
7610;
诺基亚
6670等;
(2)
采用触摸式屏幕的手机(Symbian
UIQ)
这类手机主要采用了UIQ界面,其中以索尼爱立信P802、P908为代表。UIQ是一种可定制的基于手写笔输入的应用界面,很适合支持具有丰富多媒体功能的手机。
(3)
采用完整键盘和超大彩色屏幕的手机(Symbian
s80)
此类手机为那些需要在办公室以外编辑信息和查看业务数据的用户提供了先进的移动通信功能。诺基亚9300—9500个人通讯器系列是此类应用界面的典型代表。(4)Series
60第五版基本功能:S60平台跳过了第四版直接进入第五版功能上在第三版的基础上增加了一些新特性,如支持640*360像素大屏幕的触摸及手写操作,支持flash
lite
3.0,支持网页中显示flash和收看网络上的在线flash(FLV)视频,虚拟全键盘等,其产品包括诺基亚E77,N97,5530XM,5800XM,5802XM,三星i8910。
三
、PALM手机操作系统
PALM是3Com公司的Palm
Computing部开发的一种32位的嵌入式操作系统,原本是一家生产掌上电脑及掌上电脑操作系统为主的公司,PALM智能手机所用的PALM操作系统又与PALM掌上电脑所用的操作系统非常相似,因此,基于该操作系统的手机拥有的第三方软件较多,以前用惯了PALM掌上电脑的用户能非常快速地掌握这类的智能手机。
由于PALM一直遵循Less
is
More(少就是多)这一理念去设计,所以,与微软所推出操作系统要占有大量的系统资源和储存容量不同的是,它本身所占的内存极小,基于PALM操作系统编写的应用程序所占的空间也很小,通常只有几十KB,所以基于PALM操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。但是,这么一来,它的功能就没那么多,当然,最近PALM似乎也意识到丰富的功能对消费者的吸引力之大,因此,PALM也似乎越来越向提供丰富的功能靠拢,“少就是多”的设计理念逐步削弱。另外,对于中国用户而言,它有一个不足之处是,它的操作系统起初在中国销售的产品仍然要使用中文外挂平台,有相当部分依然是以英文界面为主,在一定程度上影响了基于PALM操作系统的产品在中国市场的大面积进入。目前,基于PALM操作系统的手机有三星SPH-i330、Handspring
Treo
650系列等。 Google
Android
Android的出现并强势发展是近期手机行业当中引人注目的大事,Google介入手机领域的方式出乎所有人的意料,并非是之前人们所猜测的智能手机,而是联合30多家技术和无线应用领域当中的领军厂商所组成的开放式移动设备平台。Android是什么?Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
2008年9月22日,美国运营商T-MobileUSA在纽约正式发布第一款Google手机——T-Mobile
G1。该款手机为台湾宏达电代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。HTCG1操作界面
Android
是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序
——
移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了
Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和
T-Mobile
在内的
30
多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。Android
作为谷歌企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于
Android
的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android
将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。
七、BlackBerry
OS
黑莓是美国市场占有率第一的智能手机,这得益于它的制造商RIM(Research
in
Motion)较早地进入移动市场并且开发出适应美国市场的邮件系统。大家都知道BlackBerry的经典设计就是宽大的屏幕和便于输入的QWERTY
键盘,所以BlackBerry一直是移动电邮的巨无霸。正因为是正统的商务机,所以它在多媒体播放方面的功能非常孱弱,也许它在未来应该着力改善这个弱点,因为手机功能的整合是大势所趋,人们不会只满足于单一的功能。
BlackBerry开始于1998年,RIM的品牌战略顾问认为,无线电子邮件接收器挤在一起的小小的标准英文黑色键盘,看起来像是草莓表面的一粒粒种子,就起了这么一个有趣的名字。应该说,Blackberry与桌面PC
同步堪称完美,它可以自动把你Outlook邮件转寄到Blackberry中,不过在你用Blackberry发邮件时,它会自动在邮件结尾加上此邮件由Blackberry发出字样。
BlackBerry在美国之外的影响微乎其微,我国最近已经在广州开始与RIM合作进行移动电邮的推广试验,不过目前看来收效甚微。大家都知道,我国对于电子邮件的依赖并不像美国人那么强,他们在电子邮件里讨论工作、安排日程,而我们则更倾向于当面交谈。可以说BlackBerry在中国的影响几乎为零,除了它那经典的外形。
“黑莓”BlackBerry是美国市场占有率第一的智能手机,这得益于它的制造商RIM(Research
in
Motion)较早地进入移动市场并且开发出适应美国市场的邮件系统。大家都知道BlackBerry的经典设计就是宽大的屏幕和便于输入的QWERTY
键盘,所以BlackBerry一直是移动电邮的巨无霸。正因为是正统的商务机,所以它在多媒体播放方面的功能非常孱弱,也许它在未来应该着力改善这个弱点,因为手机功能的整合是大势所趋,人们不会只满足于单一的功能。 Symbian
市场占有份额:★★★★☆
技术跃升幅度:★★★☆
看点和重要性:★★★☆
多年来Symbian系统一直占据智能系统的市场霸主地位,系统能力和易用性等各方面已经得到了市场和手机用户们的广泛认可。 Google
Android
市场占有份额:★★☆
技术跃升幅度:★★★★☆
看点和重要性:★★★★☆
Android的出现并强势发展是近期手机行业当中引人注目的大事,Google介入手机领域的方式出乎所有人的意料,并非是之前人们所猜测的智能手机,而是联合30多家技术和无线应用领域当中的领军厂商所组成的开放式移动设备平台。
⑽ 如何做好Android的开发
开发人员应当在学习并深入了解Android之后,在自己的软件中,将Android的优势发挥出来,同时通过一些手段去弥补Android 本身的缺陷或不足。下面来看一下Android拥有的特点吧:
与硬件交互非常方便,包括摄像头、GPS 等,都可以简单的操作。
拥有自己的运行时和虚拟机,优秀的内存管理能力。
提供丰富的界面控件供开发者使用,允许可视化开发,并保证Android平台下的应用程序界面一致。
提供轻量级的进程间通信机制。
支持无界面的后台服务类应用程序。
支持高效、快速的数据存取方式。
在这些特性的支持下,试图在Android下开发一个应用不会太过困难。事实上,一个稍有 Java经验的开发人员,都可以快速的上手进行 Android的开发。而开发的核心,一直以来也是围绕着Android手机几个大的特点来进行的,其中就包括了触摸屏、摄像头、GPS模块、互联网功能、语音输入、Google账户等。需要说的是,如果一位 J2ME 工程师想转行做Android,那么他将付出的代价比J2SE或J2EE工程师要大得多。毕竟Android所支持的是基本完整的J2SE的子集,反过来再看J2ME就会觉得它的功能太弱了。
除了Java外,还有许多语言支持Android 的开发,比较为人所熟知的有Scala,而作为 Android本身的底层语言,C/C++的作用也完全不可忽视。而目前的开源社区内,已经有一些牛人在尝试让更多的语言可以开发Android应用。比较有代表性的可能是Koushik Dutta,他已经解决了在Mono平台下,让Dalvik调用Mono 代码的问题。或许在不久的将来,.NET 下的所有语言,都有可能借助Mono跑在Android上,这是一件值得让人期待的事情。
语言已不是问题,那还有什么会成为问题?也许很多人会说“经验”。诚然,经验决定了一位开发人员能否快速地、流畅地完成开发工作,也决定了软件的鲁棒性,Bug的数量、等级和修正问题的返工次数。不过我认为,这些都不重要,哪怕是一个 Android 行业的新人,一边查询文档一边做开发,虽然效率会很低,但是一样能把项目做完。在 Android 下,开发技术几乎是没有瓶颈的。那么瓶颈在哪里呢?事实上,在用过很多软件后,就会发现,有很多软件并不好用。很多用户不愿意用某个软件,也并不是因为软件没有技术含量或是满足不了需求,原因很简单,就是不好用。
用户体验是凌驾于技术之上的,可以说,优秀的用户体验将可以起到事半功倍的效果,在一堆同类的软件中,下载量最大的,一定是让用户用着感觉最舒服的,哪怕它的功能并不比其他的产品出色,甚至略差一些。我见过很多开发人员,他们视技术为己任,一心只钻研技术,认为技术出色的软件,会受到用户的好评,甚至在一个手机游戏中,加入各种华丽炫目的3D效果。这些固然都不错,但是真正的用户却不会喜爱它们。在移动应用中,简洁明快才是用户希望看到的。试想一下,当用户在手机上玩一个RPG游戏,并被华丽的3D效果充斥了整个界面,那么他将完全无法着手进行下一个动作。诚然,华丽的画面是很容易吸引人,但是在这种华丽的背后,却会直接把用户和开发者自己领入一条深渊,再也无法回头,最终的结果就是,用户完全舍弃该款游戏,开发者或运营商也完全赚不到钱。
在移动平台开发的过程中,用户体验已经成为首要大事,只有聚焦在用户的设计,才有可能被用户所接受。下面来看一些典型的例子。
左图是经典的Windows Mobile 6.1的界面,从Windows Mobile推出的那天起,这个界面就一直被宣传成内容充实,包含常用所有功能的入口,非常贴合用户的实际需求。也许在当时,这样的界面确实能满足一定的需求,但是到了现在,这样的设计只能说是远离用户。每一项的高度都过小,因此需要使用笔来点击,或是使用指甲。位于右下角的三个图标,或许用指甲都很难点到,使用笔即多占用用户的一只手,体验是直线下降的。在用户希望连耳朵都解放的现在,多占用一只手是什么概念,这就意味着用户乘车时没有办法握紧扶手,或者没有办法拎着自己的包。另外,在手机操作时,拥有一只空闲着的手,就能有更多机会处理突发事件,占用用户的两只手实在是不应该的。可以说Windows Mobile的用户体验是非常差劲的,幸好微软在新的Windows Phone 7中,对界面做了巨大的改进,没有再犯过去的错误。
再来看看Android是如何做的,这个界面看起来简洁明了,和上面的Windows Mobile相比,可以说是毫不出彩,甚至在有些人的眼里,这个界面很丑陋。但它却是相当好用的,图标很大,图标的间距也很大。这就决定了用户可以使用指腹去进行点击的操作,并且点击的范围可以比较大,降低了点错的几率。
虽然屏幕点击的方式一定程度上也和屏幕的材质有关,比如电阻屏只能用笔或指甲,而电容屏允许使用指腹,有一些还可以支持多点触摸。对于普通用户来说,使用指腹比使用指甲显得更为常见,原因很简单,如果图标很大,那么用户会不自觉的使用指腹去点击,而如果图标很小,那么用户会屈起手指然后用指甲去戳屏幕。这个“屈起手指”的动作不能被大部分的用户所接受。因此电容屏会渐渐流行,而电阻屏会渐渐被淘汰,这完全是根据用户的体验,优胜劣汰,是一件非常符合进化论的事。
用户体验还不仅仅是界面上的那些事,作为手机来说,每一个特点都将成为用户体验可以挖掘的一部分。比如说是否有键盘、是否支持多点触摸等。有键盘的手机与无键盘的手机,用户在执机时用的手势必然不同,一个着重点在机身下半部分,即键盘上;而另一个着重点在整个屏幕上,换言之,手指可能在屏幕的任何一个位置活动。针对设备的具体情况来对应用进行设计也是很有必要的,目前Google为Android设计的按屏幕大小自动切换布局方式的框架非常有用,它改变了以往在程序的设计过程中,需要为每一种设备单独编译一个版本,或是仅对不同的屏幕做简单拉伸的情况。另外,在设计中,还需要考虑实际操作体验,比如放大一张图片,是使用放大按钮,还是使用多点触摸。这两种做法都很常见,但是在一个有此需求的应用中,却不能单独的使用某一种。比较好的做法是,在程序代码中,判断设备是否支持多点触摸,若不支持,可以显示一个放大按钮,而对于支持的,则在应用第一次启动时,弹出一个Toast提示,告诉用户可以多点触摸从而放大图片。
下面再说说应用界面布局的问题,来看下面两个截图。
这两个应用同为Android下的游戏机模拟器,上面的图是PS模拟器,可以看到虚拟按键的布局有些奇怪,特别是 L和R,一上一下非常不习惯。而右面的是GBA模拟器,可以看到它的按键中规中矩,用户马上就可以上手了。但是,从上手的角度来说,GBA模拟器的确简单,但是从实用的角度来说,PS模拟器做得更好。为什么呢?原因很简单,PS模拟器利用到了整个屏幕,而且虚拟按键的布局,防止了两只手打架,也防止了屏幕下半部分由于手指的原因完全不可见的问题。通过一段时间的习惯,PS 模拟器就可以被玩得很溜。而再看GBA模拟器,只利用到了一半的屏幕不说,而且还是纵向的,双手操作时,两只手很容易打架,相互干扰,要玩一些动作性稍强的游戏几乎不可能。虽然看起来直观易懂,但是这样的UI,是会被用户所舍弃的。
在移动平台上,到目前为止,用户依然没有固定的操作习惯,而软件的开发人员要做的事情,就是把用户往一个简单、明快的操作体验上引导,使他们更快的学会使用软件,并且让他们习惯、擅长某一种或几种操作。从某种意义上来说,苹果的设计人员手册已经很好的解决了问题,iPad已经做到了中老年人也可以轻松上手,甚至连猫都会玩。但是至少目前为止,还没有见到适用于Android的设计手册,开发人员或是软件厂商也都各按自己的理解去进行软件的设计,用户也被迫在使用不同的软件时,适应不同的风格。
在未来为期不短的一段时间内,Android上应用程序的用户体验将成为一个主要的研究点,特别是游戏类应用。由于Android上的某些限制,开发人员较难实现像PSP游戏那样的华丽效果,因此只能够在游戏本身的游戏性上下足工夫。当然了,等Android手机的性能再次大幅提升,电池容量再大幅提升后,可能会出现可以匹敌PSP游戏的华丽游戏,只是目前不应当过分考虑这些。
在我以前的一些文章也曾提到过,为移动平台做开发,应该尽可能的考虑程序的执行效率而不是架构,因为移动平台本身通常不会有多好的配置,在有限的配置下实现性能最佳化是非常重要的。从另一种角度上说,iPhone 能够用较低的配置来实现整机流畅运作,也是得益于较为严格地针对性优化,把硬件平台的性能完全发挥出来,这样做得到的结果是,iPhone的整体性能,看起来反而比一些更高配置的手机要好一些。
最后,再简单地说一下Android的开发与其他平台的开发有什么异同。我们知道不同的开发方式将对最终的结果产生不同的影响。在以往的经验中,各厂家的开发工具,都在往可视化方向发展,比如说微软的 Visual Studio,一代比一代强大,可视化程度越来越高。而苹果的Xcode也是一样,它建议用户完全使用可视化的方案来解决一个应用。这些固然很好,但是带来的问题也不小。举个简单的例子,有一个 Windows Mobile 的应用,上面有一个 ListBox,而你正试图为该 ListBox 添加一个图标,并试图按每一项的内容限定来改变文字颜色。能做到吗?当然能,但是过程却不简单,你必须经历复杂的自绘才能实现这一点。这也是常规的RAD开发中普遍遇到的问题,即开发人员不能方便地控制到应用的每一个细节。开发框架对API的封装在某种程度上提高了开发的效率,但是另一种程度上,它屏蔽了太多的细节,而这些细节有可能就是开发人员所需要的。
而Android虽然也拥有可视的开发环境,但是它非常弱,第三方的RAD方案迄今为止也依然显得虚弱无力,对于用惯了微软等公司出品的高级RAD环境的人来说,可能会充满了无奈,也可能充满了鄙视,这种可视化算什么呢?如果仅仅从开发人员的角度来看,有利也有弊,弊端很显然是开发效率不够高,而事实上,由于Android采用Java语言来进行开发,其开发效率本身就不会太高。而利的部分,可能是会被很多高级工程师所喜爱的,因为它是牺牲开发效率,来换取最大的可定制性的一个典范。也许有一些刚开始学习Android开发的朋友会觉得制作界面有种种的不便,但是只要深入地学习下去,就会觉得Android的界面实现方式是非常领先的。同样举出上面ListBox的例子,在Android下,就可以通过一组短小精悍的代码来自定义ListItem和相关Adapter以实现。
我想优秀的开发人员是应该完全放弃RAD的,在目前的环境下,RAD几乎没有什么作为,反而会成为应用分层的一个巨大的绊脚石。在RAD的环境下,要求一位开发人员对软件的每一个部分都面面俱到,这怎么可能呢?比如说软件界面就是应该交由UI专员去设计,数据库部分也应该交由相关的负责人去做,完全不可能由开发人员从头到尾一个人搞定。如果哪个老板真的雇用了一位超级开发人员来包办一切,那么除非那个人拥有100年的工作经验,不然的话项目做死就是活该。我想Android的开发框架已经很好地说明了这个问题,程序资源(包括图片、字符串、其他的外部数据等)和代码完全分离,各部分人员各司其职,完成整个项目,每个部分的人员都不会有太大的压力。并且,由于Android采用XML对界面进行描述,使得对界面的更换也变得容易,设计师可以设计出多套界面,不论是用于UI方案评估或是在实际应用中更换界面风格都很方便。这也是其他移动平台的开发所不具备的。