标签 Android 下的文章

用心情记事,留住美好时光

又快又便捷的记录功能:

1. 提供了很多好看实用的心情、天气、活动、主题标签

2. 可以同时存储文字、照片、地点、语音

3. 人性化的界面操作

 

您可以这样使用:

  • 记录您突然的想法
  • 记录一些备忘内容
  • 记录美好旅行
  • 记录一些小秘密
  • 记录和朋友一起走过的美好回忆
  • 记录宝宝的成长日记
  • 记录美食照片和地点

已登录各大应用市场:

开源地址:

http://git.oschina.net/liuzhibang/moodiary

欢迎大家fork!

 

输入图片说明

输入图片说明

输入图片说明

一、Android编码规范
1.java代码中不出现中文,最多注释中可以出现中文;
2.局部变量命名、静态成员变量命名:只能包含字母,单词首字母出第一个都为大写,其他字母都为小写;
3.常量命名:只能包含字母和_,字母全部大写,单词之间用_隔开;
4.layout中的id命名:命名模式为:view缩写_模块名称_view的逻辑名称
view的缩写详情如下
LayoutView:lv
RelativeView:rv
TextView:tv
ImageView:iv
ImageButton:im
Button:btn
5.activity中的view变量命名
命名模式为:逻辑名称+view缩写
建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view
6.strings.xml中的id命名:命名模式:activity名称_功能模块名称_逻辑名称 activity名称_逻辑名称 common_逻辑名称

strings.xml中,使用activity名称注释,将文件内容区分开来
7.drawable中的图片命名
命名模式:activity名称_逻辑名称/common_逻辑名称
7.styles.xml:将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中;
8.使用layer-list和selector
9.图片尽量分拆成多个可重用的图片
10.服务端可以实现的,就不要放在客户端
11.引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大
12.处理应用全局异常和错误,将错误以邮件的形式发送给服务端
13.图片的.9处理
14.使用静态变量方式实现界面间共享要慎重
15.Log(系统名称 模块名称 接口名称,详细描述)
16.单元测试(逻辑测试、界面测试)
17.不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致message.what冲突
18.activity中在一个View.OnClickListener中处理所有的逻辑
19.strings.xml中使用%1$s实现字符串的通配
20.如果多个Activity中包含共同的UI处理,那么可以提炼一个CommonActivity,把通用部分叫由它来处理,其他activity只要继承它即可
21.使用button+activitgroup实现tab效果时,使用Button.setSelected(true),确保按钮处于选择状态,并使activitygroup的当前activity与该button对应
22.如果所开发的为通用组件,为避免冲突,将drawable/layout/menu/values目录下的文件名增加前缀
23.数据一定要效验,例如
字符型转数字型,如果转换失败一定要有缺省值;
服务端响应数据是否有效判断;
二、Android性能优化
1.http用gzip压缩,设置连接超时时间和响应超时时间
http请求按照业务需求,分为是否可以缓存和不可缓存,那么在无网络的环境中,仍然通过缓存的httpresponse浏览部分数据,实现离线阅读。
2.listview 性能优化
1).复用convertView
在getItemView中,判断convertView是否为空,如果不为空,可复用。如果couvertview中的view需要添加listerner,代码一定要在if(convertView==null){}之外。
2).异步加载图片
item中如果包含有webimage,那么最好异步加载
3).快速滑动时不显示图片
当快速滑动列表时(SCROLL_STATE_FLING),item中的图片或获取需要消耗资源的view,可以不显示出来;而处于其他两种状态(SCROLL_STATE_IDLE 和SCROLL_STATE_TOUCH_SCROLL),则将那些view显示出来
3.使用线程池,分为核心线程池和普通线程池,下载图片等耗时任务放置在普通线程池,避免耗时任务阻塞线程池后,导致所有异步任务都必须等待
4.异步任务,分为核心任务和普通任务,只有核心任务中出现的系统级错误才会报错,异步任务的ui操作需要判断原activity是否处于激活状态
5.尽量避免static成员变量引用资源耗费过多的实例,比如Context
6.使用WeakReference代替强引用,弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存。对于那些创建便宜但耗费大量内存的对象,即希望保持该对象,又要在应用程序需要时使用,同时希望GC必要时回收时,可以考虑使用弱引用。
7.超级大胖子Bitmap
及时的销毁(Activity的onDestroy时,将bitmap回收)
设置一定的采样率
巧妙的运用软引用
drawable对应resid的资源,bitmap对应其他资源8.保证Cursor 占用的内存被及时的释放掉,而不是等待GC来处理。并且 Android明显是倾向于编程者手动的将Cursor close掉
9.线程也是造成内存泄露的一个重要的源头。线程产生内存泄露的主要原因在于线程生命周期的不可控
10.如果ImageView的图片是来自网络,进行异步加载
11.应用开发中自定义View的时候,交互部分,千万不要写成线程不断刷新界面显示,而是根据TouchListener事件主动触发界面的更新
三、AndroidUI优化
1.layout组件化,尽量使用merge及include复用
2.使用styles,复用样式定义
3.软键盘的弹出控制,不要让其覆盖输入框
4.数字、字母和汉字混排占位问题:将数字和字母全角化。由于现在大多数情况下我们的输入都是半角,所以 字母和数字的占位无法确定,但是一旦全角化之后,数字、字母的占位就和一个汉字的占位相同了,这样就可以避免由于占位导致的排版问题。
5.英文文档排版:textview自动换行时要保持单词的完整性,解决方案是计算字符串长度,然后手动设定每一行显示多少个字母并加上‘n‘
6.复杂布局使用RelativeLayout
7.自适应屏幕,使用dp替代pix
8.使用android:layout_weight或者TableLayout制作等分布局
9.使用animation-list制作动画效果

本文介绍了本人接触过的、试用过的、使用过的一些针对Android平台的第三方服务平台,涵盖了从开发、测试、发布、运营的整个流程,了解了这些平台,肯定会对你的APP开发起到很大的简化作用,可以大大提高开发效率。

推送

极光推送

极光推送是我接触的最早的推送平台,那还是2011年,当时国内基本上就这么一家提供推送服务,并且这家公司也从最开始的小团队逐渐成长为了大公司。
该平台支持针对Android、iOS、WinPhone的消息推送,服务端支持多种语言,后台控制台界面也相对比较友好。
极光推送的特色在于可以支持多种推送方式,可以把用户按照标签分类,并且针对标签推送。
不足之处在于复杂网络情况下,推送有时候不及时。

网址:https://www.jpush.cn/

个推

在使用了极光推送一段时间后,2013年开始,大量的推送平台开始出现了,其中个推是我个人认为很不错的一个选择。
该平台只支持Android、iOS的推送,但是相比较激光推送,其稳定性较好。

网址:http://www.getui.com/

友盟

友盟最开始是做数据统计分析的,好像是从2013年开始提供了推送服务。

网址:http://www.umeng.com/

百度云

相比较于极光、个推等中小型公司,百度的服务我个人认为是最可靠的,但是其垃圾的后台界面让我不能忍受。

网址:http://developer.baidu.com/cloud/push

云巴

云巴是从极光推送分裂出来的,个人没有试用过,不过基于极光的技术,应该是有保障的。

网址:http://yunba.io/

华为推送

号称是电信级别的推送能力,但是本人一向对华为的服务不感冒。

网址:http://developer.huawei.com/push

小米推送

如果你的应用小米用户居多,那么必然要使用小米推送,系统级别的推送可以给用户更好的体验。

网址:http://dev.xiaomi.com/doc/?page_id=1670

 

以上是我接触过的推送平台,基本上针对开发者都是免费服务,并且使用方法也是大同小异,具体选择什么平台,需要针对各自的实际情况进行测试之后再做选择。

 

测试

Android版本多,机型多,所以兼容性测试显得尤其重要。国内也有几家公司提供了云测试服务,主要集中于针对APP的功能测试、性能测试和兼容性测试。

Testin云测

Testin云测试平台是一个基于真实终端设备环境,基于自动化测试技术的7x24云端服务。Testin在云端部署了300多款1000多部测试终端,并开放这些智能终端给全球移动开发者进行测试,开发者只需在Testin平台提交自己的App应用,选择需要测试的网络、机型,便可进行在线的自动化测试,无须人工干预,自动输出含错误、报警等测试日志、UI截图、内存/CPU/启动时间等在内的标准测试报告。支持Android与iOS,它的业务也较为全面。

网址:http://www.testin.cn/

百度云测试MTC

MTC是百度云面向移动和web开发者提供的服务,能够满足一般的测试需求,包括当前的热门机型,还支持云端客户端回放。它还提供一个云众测服务,就是开放者上传App,百度提供给用户下载测试,然后将反馈收集返回给开发者,这在国外是一种比较火的方式,不过目前貌似没有做起来。

网址:http://mtc.baidu.com/

易测云

易测云由我的老东家东软集团出品,是一个专业为移动APP产品提供适配测试、性能测试、遍历测试、功能测试等多种服务的真机自动化云测试平台,主要为所有移动APP产品的开发者和测试者、以及需要定制化服务的企业级用户,提供安全、专业、高效、易用的自动化云测试服务;强大的录制脚本插件;详细实用的测试报告;以及简单人性化的操作体验。

网址:http://www.yiceyun.com/

 

本人在实际的项目中用的是Testin,它的报表功能确实不错,值得推荐。

统计

APP发布之后,需要对用户数、使用时长、启动次数等做统计,相信这也是不少产品经理的主要KPI了,我这里介绍两个提供统计服务的平台。

友盟

友盟是老牌的提供应用统计分析的平台了,本人一直在用,数据及时并且各种报表比较完备,强烈推荐。

网址:http://www.umeng.com/

魔方

基本上提供了友盟一样的功能,不过先入为主,二者只能选择一个,我肯定选择友盟。

网址:http://www.imofan.com/

 

应用数据统计,使用友盟是第一选择。

即时通讯

随着微信的火爆,以及各种APP都要加入社交功能,2014年开始,提供即时通讯服务的平台一下子就涌现出了好多家。

环信

环信是其中最热门的一家公司了,融资、免费,在百度投放了大量广告。
其实现了类似微信的单聊,群聊,发语音,发图片,发位置等功能,并且300万以下注册用户完全免费,这个意思就是针对大多数APP是完全免费的。
他们提供的Demo程序本人试用过,效果确实不错,值得推荐。

网址:http://www.easemob.com/

融云

“多年专注于移动互联网即时通讯,提供稳定可靠的 App 沟通能力”,这是他们的口号。
但是移动互联网才几年,微信才几年,一家口号就明显夸大其词的公司,个人不信赖。

网址:http://www.rongcloud.cn/

 

社交分享

社交分享其中最重要的是两个功能:第三方登陆和一键分享。

友盟

友盟号称提供"APP开发及运营一站式解决方案",这其中肯定会包含社交分享的功能。

网址:http://www.umeng.com/

sharesdk

这个应该算是国内最出名的移动端社交分享SDK了,很可靠,一直在用。

网址:http://mob.com/

短信云

短信云主要提供发短信的功能,尤其是APP用户注册需要验证手机号码的时候,必用。

sharesdk

现在大优惠,基本上不用付费哦,而且经过博主实测,很及时,很好用。sharesdk的服务果然值得信赖。

网址:http://mob.com/

邮差云

这家是传统的短信提供商转型的产品,没使用过,明显的缺乏互联网(免费)思维,不推荐。

网址:http://www.smslinkapi.com/

后台baas

Baas,后端即服务。如果你对服务端编程没什么经验的话,Baas可以提供基础的服务端功能。

bmob

很奇怪的一家公司,国内算是起步很早的,但是一直发展缓慢,从去年开始又有比较大的动作了,而且官网提供了Demo,很不错。

网址:http://bmob.cn/

LeanCloud

这家公司更奇怪,以前叫做AVosCloud,不过因为域名带了AV两个字母,经常被屏蔽,就改为现在的域名了。这家我现在在使用中,推荐。

网址:https://leancloud.cn/

云存储

云存储提供文件存储服务,尤其是在前两年瀑布流盛行的时候,提供图片存储服务。

七牛

由技术大牛创业的一家公司,商务营销做得也不错,而且经常有优惠,推荐。博主也在使用。

网址:http://www.qiniu.com/

通过 https://portal.qiniu.com/signup?code=3lfl9s1wivioe 这个链接注册可以给我增加流量哦。

又拍

比较早的图片存储服务商,对图片的存储/处理都有很好的支持,博主一直在用。

网址:https://www.upyun.com/index.html

广告

admob

Google的服务,点击率还不错,不像国内很多厂商会有扣量,第一选择。

有米

国内做的比较好的了,不过我是不待见国内这些做移动广告的。

等等..

应用平台

由于国内上不了Google Play,滋生了很多应用分发市场,最盛的时候估计有上千家,不过随着时间的推移,慢慢就只剩下巨头们了。

360

360凭借流氓手段在电脑上占领了很大市场,所以对于手机端也很有优势。下载量大,审核快,推荐。

http://dev.360.cn/

应用宝

腾讯的应用宝很奇怪,感觉应该是量很大,但是博主的应用在应用宝的下载量明显不如360。

http://open.qq.com/

百度

百度可谓是一个巨头,旗下百度手机助手、91、安智,都是量很大的市场,而且只要提交百度,会自动同步到安智、91,值得推荐。

http://developer.baidu.com/mobile

豌豆荚

豌豆荚是独立于巨头的一家平台,最近一直要转型,而且频频传出一些不好的消息,个人不看好。

http://open.wandoujia.com

小米

小米应用市场凭借小米手机的火爆,也算是一家巨头了。

http://dev.mi.com/

其他

其他想木蚂蚁、安卓、EOE、机锋等等,基本上不做考虑了。

一键提交多平台

有了那么多应用市场,如果要一个一个去提交审核的话,也是需要花费不少时间的。一键提交平台就是只要在这个平台提交了,会推送到其他各个平台。

zhuamob

目前博主只知道这一家,仅仅是试用过,如果你有这方面的需求的话,不妨试试。

快速开发

快速开发指的是利用一些现有的工具、框架等,可以快速搭建、开发APP。

apicloud

号称“积木拼装”式的开发跨平台App"。貌似是提供了一个基于Eclipse的IDE环境,而且有配套的云端服务,还有模块化的可复用的模板,一切看起来都很美好。有兴趣的可以尝试。

juhe.cn

聚合数据,提供了很多API,包括天气、身份证、菜谱等等,很全的数据。强烈推荐。

 

以上这些是我试用过的或者接触过的服务平台,其实每个平台也都提供了多种服务,大家如果能活用这些服务的话,相信会对APP开发带来很大便利。

本文章系本人原创,如需转载,请注明出处 www.liuzhibang.cn

本次是这个教程的最后一篇了,我们的APP开发基本上已经可以宣告完成了,接下来的工作就是如何发布推广运营了。

 

广告平台

古人云:兵马未动,粮草先行。我们身为APP开发者就需要考虑如何从APP盈利,目前通常的做法主要有APP收费、APP免费+内购及嵌入广告三种方式,我们这个简单的APP想让用户付费是比较有难度的,那么就只能通过嵌入广告的方式来赚取一点广告费了。

我经常使用的广告平台就是Admob了,不过Admob国内被屏蔽,但是广告依然可以展示,各位程序员一定要学习科学上网,否则。。。

话说回来,国内的广告平台也有很多,像百度、腾讯、360、有米、万普等等,都提供了很简单方便易用的服务,我们只需要按照官方文档一步步就可以加入广告了,这里我就不写这些内容了。例程里面也不会有含有广告的。

我这里简单列一下:

百度联盟:http://union.baidu.com/

腾讯广点通:http://e.qq.com/

360:http://dev.360.cn/mod/mediaV/intro

有米:http://www.youmi.net/

万普:http://www.waps.cn/

 

 

APK打包

下面,我们来看一下怎么发布APP。

总共分三步,打包、签名、上传,呵呵,简单吧,如果使用工具就会更加简单。

在Eclipse中右键点击项目,选择[Android Tools]->[Export Signed Application Package...],

QQ截图20150117142704

点击[Next],会出现选项,[Use existing keystore]和[Create new keystore],如果您以前有发布过Android APP经验话的,肯定有这个keystore文件。不过鉴于我们是第一次开发APP,这里我们就老老实实选择[Create new keystore]就可以了。

QQ截图20150128194315

输入密码之后,点击[Next],这个界面要填的内容非常多,其中有一项很重要:

Validity (years),这个代表了这个keystore的有效期,我们就填1000年就好了,也不要太多 :)。

其他项目均可以随便填写。

QQ截图20150117144511

然后继续[Next],这里就是我们的打包文件的路径了,

QQ截图20150128194438

点击[Finish],稍等几秒钟,我们第一个APP就开发完成了。

最后,我们把生成的apk文件安装到手机上试试看,是不是很有成就感!!!!!

 

就这样,我们的APP就开发完成了,赶快让它进入市场,接受大家伙的批评吧。

发布到应用市场

Android应用市场国内那是相当乱了,我们需要抓大放小,把我们的APP上传到几个大市场就可以了。

我通常的选择是百度、腾讯应用宝、360、豌豆荚、安智、木蚂蚁、应用汇,关于如何发布,请参考各大网站的介绍。

我这里简单列一下:

百度:http://developer.baidu.com/

应用宝:http://open.qq.com/

360:http://dev.360.cn/

豌豆荚:http://open.wandoujia.com/home

安智:http://dev.anzhi.com/

木蚂蚁:http://dev.mumayi.com/

应用汇:http://dev.appchina.com/

 

 

本系列教程到此就算是结束了,大家一步步从零开始,做出了一个虽然简单但是完整的天气预报APP,也用到了Android里面最核心、也是开发项目过程中必须用到的Activity、数据库、HTTP、图片展示、数据转换等知识,这些知识还需要大家在实际的工作中慢慢加深理解才能熟练应用,才能开发出更好用的APP。

 

最后祝大家工作愉快,生活顺心。

 

写到这里,感觉我们的APP还是有很多缺陷,比如:

1. 界面真的很糟糕,有很大的美化余地

2. 第一次启动的时候,感觉比较慢

3. 选择城市的页面,肯定有更好的处理方法

4. 只显示天气是否太简单了?可以加入类似墨迹天气一样的穿衣指南、PM25等等

5. 能否每天早上7点钟自动播报天气?

等等等等

这些您可以作为之后的版本升级内容逐渐加进去哦。

如果您的天气预报APP真的上线了,请一定让我知道,我去给你点赞。等着大家的好消息!!!

 

此系列文章系本人原创,如需转载,请注明出处 www.liuzhibang.cn

 

 

 

1

 

在视觉设计方面,去年的iOS 7在很多人看来是苹果改变最大的一次iOS更新。而今年的iOS 8,苹果则在提高系统开放性方面做出了很多的努力。当然,和每年的iOS更新一样,iOS 8也迎来了许多非常实用的功能。

在经历了数个测试版之后,苹果终于在今天放出了正式版iOS 8,iPhone 4S和iPad 2之后的用户都可以使用。在系统的设计方面,你很难一眼就看出iOS 8与iOS 7的区别。但是在使用了一小会儿之后,你就会发现他们之间真正的区别是体现在了功能和开放性上,相信大多数用户都不会后悔选择本次系统升级。

Adian在他们的网页上对iOS 8系统做出了高度的肯定:“对于开发人员和普通用户来说,iOS 8都是一次重大升级。”
新系统中有很多让人非常喜爱的功能,例如更智能的键盘和Siri等。但是最重要的是,在iOS 8中苹果第一次让第三方开发人员能够更加深入iOS系统内部。这种开放性是开发人员希望已久的东西,也是安卓系统相比iOS最大的优势之一。有了这种开放性,至少用户将可以使用系统小部件和第三方键盘了,这无疑将会让iOS系统变的更加强大。

系统还是那个系统

iOS 8中最明显的改变就是,针对iPhone用户对iOS系统多年以来形成的一些不满,苹果终于做出了回应。

例如,苹果又一次升级了iOS 8中的新信息通知,优化了这个功能的使用体验。现在用户可以在通知内直接回复信息和管理邮件了,而无需再打开相应的应用,这些功能在屏幕上方就可以轻松完成。这意味着,当用户在使用某个应用的时候,当有新信息到达时,用户不再需要退出当前应用然后打开信息应用才能回复。这一点变化大大简化了用户的操作,让用户获得了更好的使用体验。

最重要的是,这种可交互的信息通知,让用户在iOS 8中能够获得更好的多任务体验。我个人就非常喜欢这种快速回复信息的功能,而且非常期望看到第三方应用开发人员们将会如何使用这个功能。我突然想到了iOS中最早的通知方式,那个时候新通知是以弹窗的方式展示在屏幕中间部位的,无论你现在正在做什么,新通知都会突然蹦出来,让你不得不停下来处理新通知。iOS展示新通知的方式,在这几年中很显然有了非常明显的进步。

另外iOS 8的通知中心也变的更加强大和实用(通知中心就是从顶部下拉屏幕后出现的那个界面)。现在第三方开发人员能够针对通知中心开发他们自己的应用小部件了,类似的功能其实在安卓系统中已经存在很长时间了。在拥有了小部件之后,用户将会更加频繁的查看通知中心内的内容。希望第三方开发人员能够做出一些非常有意思的小部件,让我们的iPhone变的更加强大。

另外在iOS 8中,苹果还移除了通知中心内“全部”这一视图(很多用户都表示这个视图其实并不好用,甚至没有存在的必要,显然苹果听到了用户的呼声),现在只剩下“今天”和“通知”这两个视图。其中所有小部件都会显示在“今天”视图中;而所有应用的通知则会显示在“通知”视图中。

2

iOS 8中的键盘在视觉上和iOS 7中的键盘没有太大的区别,但是其实它还是用一些功能上的变化的。例如在进行输入的时候,键盘上方会出现一个区域用来显示职能联想词汇。这个功能与著名输入法SwitfKey非常类似(SwitfKey也在今天推出了自己的iOS 8键盘),这个功能能够提高用户输入的速度。

苹果官方表示这个智能联想词汇功能非常强大,但是在我实际的使用中,我并没有这样的感受。如果你不喜欢这个功能,你也可以将其关闭,具体方式就是下拉智能联想词汇窗口,这样就可以将其隐藏了。另外这个键盘非常智能的另一个地方在于,它能够非常准确的判断用户当前的输入情景。例如,当用户正在输入一个URL网址的时候,它不会显示智能联想词汇;而当用户在输入短信、邮件或发微博的时候,智能联想词汇功能又会自动打开。

如果你就是不喜欢苹果自己的输入法,也没关系,在iOS 8中用户终于可以使用第三方键盘了。就在iOS 8正式版推出的同一天,已经有多个第三方键盘应用登陆App Store了,相信再过几天一定会有更多的第三方输入法应用可供用户选择。

经常发短信的用户一定会爱上iOS 8中的信息应用。新的信息应用添加了很多实用功能,例如群组聊天、快速发送语音短信、发送招聘和视频等,当然使用这些功能要求正在和你聊天的人也在使用iOS设备。发送语音短信、照片和视频的功能非常有趣,用户只需按住麦克风或是相机图标,就可以录下语音、视频或是拍摄照片发送给对方了。但是这个功能也有一定的危险性,因为在信息发送之前没有任何提示,所以喝醉的情况下慎用这个功能哦!

谈到iOS的时候,当然不能不提Siri。iOS 8中的Siri也变得更加智能了,语音视频速度变得更快,而且还添加了实用的语音启动功能。当手机连接上充电器的情况下,用户只需说出“嘿!Siri”就可以启动这个虚拟语音助理功能了。相比于Moto X的实时聆听语音控制功能,Siri的这个改进显得并不是那么具有创新性。但是在特定的情况下,这个功能还是非常实用的,例如在用户开车的时候,或是手机正放在桌子上充电的时候。

另外在语音识别方面,Siri不但视频速度有所提高,识别的准确度也大大提高了。相信日后会有很多用户会开始在长篇输入的时候使用这个功能。

3

Continuity: 在iOS和OS X之间做媒

对我个人来说,iOS今年最吸引人的改进就是推出了Continuity功能,这个功能进一步提高了iOS设备和Mac设备之间的联系。如果你有一部iOS 8设备,还有一台运行OS X Yosemite系统的Mac电脑,你就将可以在电脑上接打电话,并且进行跨设备工作。据悉,OS X Yosemite系统将于下个月发布正式版,届时当你在工作的时候,突然有人给你打电话,你就可以在电脑上接听了;即使是你在书房而手机在卧室也没有问题。除了打电话外,在电脑上处理手机信息也没有问题,要知道此前Mac上的信息应用只能接受和发送iMessage。而如今苹果彻底放宽了这个限制。

我的MacBook目前运行着测试版的OS X Yosemite系统,在实际测试中,我能够非常轻松的接听电话。而handoff功能则有些不稳定,鉴于我的OS X Yosemite系统还处于测试版,这种不稳定我还是可以理解的。当handoff功能有效的时候,我在电脑上写到一半的邮件,可以在iPad或是iPhone上继续,这种感觉太好了!

苹果本次推出的Continuity功能,有可能成为iOS 8中最有前瞻性的功能,在我看来,它代表了未来计算设备的趋势。我们中的很多人都同时拥有智能手机、平板电脑和桌面电脑,但是现在这些设备之间有多少联系?

鉴于苹果既是一个硬件厂商也是一个软件厂商,他们很有可能在未来开发出更多更好用的Continuity功能。就像苹果的智能家居平台HomeKit一样,当它连接上你家中的所有智能设备之后,它就会变得无比强大。

当然,Continuity功能还有另外一个重要的作用,那就是加强用户的粘性,并且吸引更多用户购买和使用苹果设备。例如很多iPhone用户现在还在使用Windows PC和笔记本电脑。在推出Continuity之后,相信会有很多用户开始转向Mac阵营。如果iPhone和iPad能够带动Mac的销售,苹果当然很高兴。

4

开发人员有福了

iOS 8中有很多新的功能,但是其中一个功能是普通人难以体会到的,那就是iOS对于开发人员来说,变成了一个更加开放的平台。

此前苹果对于开发人员的控制非常严格,甚至有些铁腕,他们严格限制开发人员对系统本身进行接入的权限。而相比之下,安卓系统在这一方面则显得通融的多。但是现在随着苹果看到开放性给安卓系统带来的巨大优势,苹果也终于放宽了限制,开始赋予开发人员更多的权限。

除了此前提到的小部件和第三方键盘之外,iOS 8还放开了应用间的数据共享机制,允许开发人员调用设备的TouchID功能,而且还开放了相机应用的所有API。

全新的HealthKit、HomeKit和CloudKit平台就是为了让开发人员能够更好的融入整个苹果的生态系统。苹果终于承认了仅凭他们自己无法完成所有事情的事实。随着iPhone和iPad的成功,苹果认清了一件事情:一个平台强大与否,取决于第三方应用开发人员是否愿意针对这个平台开发应用。

5

结论:一次优秀的更新

和每一次iOS重大更新一样,iOS 8让苹果的硬件产品变的更加强大。我是在iPhone 5S上测试的iOS 8,这篇文章中所提到的这些新功能都让我欲罢不能。虽然有很多人仍然不喜欢iOS 7和iOS 8的设计美学,但是对于我来说,完全找不到任何理由拒绝将设备系统升级到iOS 8。

谷歌要仔细想想未来安卓系统要如何发展了。如今的iOS有了此前落后于安卓系统的功能,而且系统开放性上也有所提升。而且苹果还推出了大屏的iPhone 6和iPhone 6 Plus,这意味着安卓设备此前的优势——开放性和大屏幕设备——都已经在一夜间荡然无存。谷歌要小心了。