仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1091|回复: 13
打印 上一主题 下一主题

[学习教程] IOS编程:Android 关照中央仓酷云

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:29:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最重要的就是UINavigationController他是一层一层推进view的打开iPhone里的联系人每点一个联系人屏幕就会像右推到下一个界面这就是UINavigationController在做的事UINavigationController如今看来习气性的检察我们的设备上的信息几近成了我们的另外一种天性。几近每小时我们城市拿出我们的手机,看看形态栏有没新的动静,然后放回我们的口袋。特别对Android用户来讲更是云云,由于这是他们与设备之间的次要交互体例之一。解锁屏幕,读封邮件,承受密友哀求,为你的密友的签到点个赞,任意会见几个分歧的使用,一切这些操纵都能够经由过程关照栏完成。
对一些人来讲则是另外一个完整分歧的天下。特别是相对iOS在汗青上曾一度没法猎取关照,而如今iOS开辟者也没法像Android一样细粒度的定制他们的使用关照。乃至在之前都没法吸收寂静关照,固然这些在iOS7上失掉了改良,但一经细嚼仍旧相称糟,良多Android开辟者玩转多年的关头特征在iOS体系中仍旧是空缺。
Android从最入手下手就能够吸收关照这一点已被吹嘘了很长一段工夫。一切的关照都会合在体系栏电量和旌旗灯号图标的中间,可是要想懂得Android关照体系为什么能够做到这些,究其本源,我们必要懂得Android体系的演化。
由于Android同意开辟者们自在把持他们的背景历程,他们能够在任什么时候候以任何来由创立并显现关照。它历来没有传送关照给使用程序或形态栏的观点。它被送就任何你想要它往的中央。
你能够随时随地会见关照。因为年夜多半使用没有强制往完成一个全屏的计划,用户在他们必要的时分能够下拉关照‘抽屉’。对多半人来讲,Android是他们的第一个智妙手机,它改动了人们过往检察关照的常规,已往你必要翻开一个个独自的使用往检察你是不是错过了德律风,短信大概邮件。
Android1.6中的关照(Donut):

<br>
Android4.4的关照(KitKat):

<br>
简史

从Android在2008年登上舞台入手下手,关照体系走过了冗长的路途。
Android1.5-2.3

这是对年夜多半人来讲的Android的入手下手(包含我)。我们有一些能够定制的功效,好比使用图标,题目,形貌和工夫。假如你必要到场自界说的控件,好比,一个音乐播放器固然也能够。体系会保护所需的宽高限定,而你则能够到场你想要的视图。在关照中利用自界说的结构是事先年夜多半音乐播放器完成自界说控件的体例:
  1. privatevoidshowNotification(){//创立基础关照(theR.drawable参考自png图片)Notificationnotification=newNotification(R.drawable.stat_notify_missed_call,"Tickettext",System.currentTimeMillis());//创立IntentIntentintent=newIntent(this,Main.class);//让intent守候直到他筹办好。PendingIntentpi=PendingIntent.getActivity(this,1,intent,0);//设置最初的事务信息notification.setLatestEventInfo(this,"Contenttitle","Contentsubtext",pi);//猎取关照manager的实例NotificationManagernoteManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);//公布到体系栏noteManager.notify(1,notification);}
复制代码
代码:这段是怎样在1.5-2.3中完成关照功效。
Android1.6中的运转的了局:

<br>
Android2.3中的运转了局:

<br>
Android3.0-3.2

关照体系在Android3.0上实践有一丝退步,Android平板,一个用来匹敌iPad的版本,是Android在年夜屏幕运转的一次尝鲜。相对单一的抽屉显现,Android实验用分外的控件带来新的关照体验,你仍旧有一个抽屉范例的关照,同时你也能够吸收像growl那样的关照。侥幸的是,与此同时Android供应了一个叫做NotificationBuilder的全新API,同意我们使用制作者形式往构建我们的关照。只管稍微庞大,但机关器会依据每一个新版操纵体系的分歧来构建庞大的关照对象:
  1. //创立Intent实例Intentintent=newIntent(this,Main.class);//在筹办好利用之前,持有intentPendingIntentpi=PendingIntent.getActivity(this,1,intent,0);Notificationnoti=newNotification.Builder(getContext()).setContentTitle("Honeycomb").setContentText("NotificationsinHoneycomb").setTicker("Tickertext").setSmallIcon(R.drawable.stat_notify_missed_call).setContentIntent(pi).build();//猎取关照manager的实例NotificationManagernoteManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);//公布到体系栏noteManager.notify(1,notification);
复制代码
关照在Android3.2(蜂巢)接后的初始形态:

<br>
当你在导航栏点击它时分的款式:

<br>
当你点击时钟看到的关照的款式:

<br>
各类冗余的关照让用户感应狐疑不晓得它们代表甚么,这就对开辟职员提出计划应战,怎样在得当的工夫前往得当的信息给用户。
终极,4.0-4.4

与其他体系比拟,Android从4.0以后真正充分和一致了关照体验。固然在4.0没有带来任何冲动民气的计划,可是4.1带来一种聚合的关照(一种全新的可视化,让一个cell中能够显现多个关照),可扩大的关照(好比,显现电子邮件的第一段),图片关照,和可操纵的关照。不必说,这供应了一种全新的体例能够带给用户out-of-app的体验。假如有人在Facebook加我为密友,我能够复杂的在关照栏上点击“承受”,不再用翻开Facebook使用。假如我收到了一封渣滓邮件,我能够间接回档而不必再次检察。
这里有一些Tumblr使用使用了新的4.0+API的例子,利用它们构建关照出人意表的复杂;只必要你到场一些分外的关照作风到NotificationBuilder中就能够了。
年夜文本关照

假如笔墨充足短,另有甚么来由让我翻开使用来浏览?年夜文本款式供应了更年夜的浏览空间来办理这个成绩。不再必要华侈工夫翻开一个使用
  1. Notificationnoti=newNotification.Builder()...//和之前一样的关照属性设置.setStyle(newNotification.BigTextStyle().bigText("theblogofinfinitereplied...")).build();
复制代码
年夜文本关照折叠:

<br>
年夜文本关照睁开:

<br>
年夜图片关照

年夜图片关照供应了不必要翻开使用就可以够享用到内容优先的美好体验。不但能够供应大批的内容,也是一种文雅的交互体例。
  1. Notificationnoti=newNotification.Builder()...//同之前一样的属性设置办法.setStyle(newNotification.BigPictureStyle().bigPicture(mBitmap)).build();
复制代码

<br>
聚合(Roll-up)关照

聚合关照是将多个关照放在一同,聚合有一点棍骗性由于它实践上其实不仓库现有的关照,你仍然能够本人制造他们,以是这真的是一种很好展现关照的体例:
  1. Notificationnoti=newNotification.Builder()...//Thesamenotificationpropertiesastheothers和之前一样的属性设置.setStyle(newNotification.InboxStyle().addLine("Soandsolikesyourpost").addLine("Soandsorebloggedyourpost").setContentTitle("3newnotes").setSummaryText("+3more")).build();
复制代码

<br>
可操纵关照

在关照中增添操纵就和你设想的一样简单。制作者形式能够确保它可以利用任何体系默许的款式,利用户老是感到在利用关照抽屉:
  1. Notificationnoti=newNotification.Builder()...//Thesamenotificationpropertiesastheothers.addAction(R.drawable.ic_person,"Visitblog",mPendingBlogIntent).addAction(R.drawable.ic_follow,"Follow",mPendingFollowIntent).build();
复制代码

<br>
这类交互是一种对用户卖力的计划,而且操纵复杂疾速,受限于Android的迟缓功能,这类快速操纵的体例十分受接待,由于你实践上不必要翻开使用就能够利用它。
Android穿着设备

如今的科技圈关于任何一团体来讲都已不再像之前那末奥秘,正因云云Android可穿着设备同样成为了科技设备中的一分子。它是不是可以乐成的成为一类消耗品这件事变仿佛仍旧有待商讨,可是关于那些想要撑持Android穿着设备的开辟者来讲,仍旧有良多不容无视存在着的停滞。没有孤负Android体系传承上去的一些上风,其穿着设备在与你的设备举行同步的时分仿佛总能够承受准确的关照。但现实上,你的手机与Android穿着设备毗连后,它将会在没有代码修正的情形下对设备推送机关器创立的关照。可以复杂利用制作者形式则意味着不管呈现甚么设备,只需它们可以撑持Android体系和Android可穿着设备,当即会有大批纯熟利用API来收发数据的使用开辟者呈现。

<br>
<br>
NotificationBuilder供应了out-of-the-box的android穿着设备撑持,不必写任何分外的代码!
自界说关照

固然Android的NotificationBuilder撑持高自在度定制,但有的时分仍然没法满意人们的需求,这就是为什么要引进自界说关照结构。很难设想当你具有全体的关照体系的把持权限的时分。你将怎样改动它,让它不同凡响?在诸多束缚的情形下不休立异实在很难,可是很多Android开辟者已入手下手迎难而上。
自界说音乐播放器关照:

<br>
自界说天色关照:

<br>
自界说电量关照:

<br>
自界说关照仅限于视图组件所撑持远程视图的一个子集,这些视图组件自己不克不及高度延长大概被掩盖。固然只能轻度定制,可是你仍然能够使用基础组件机关庞大的关照。
但是创立这些自界说视图大概必要更多的事情。利用Android的XML创立自界说关照视图结构体系,你要确保在分歧Android版本看起来仍旧优秀。这十分疾苦,可是当你看看这些俊丽的关照,你会以为统统又那末有代价:
  1. <?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><ImageViewandroid:id="@+id/avatar"android:layout_width="32dp"android:layout_height="32dp"android:layout_gravity="center_vertical"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:text="Youreceivedanotification"/></LinearLayout>
复制代码
这是一个十分基础的自界说关照结构,包括一张图片和一段笔墨。
关照的举动

推送关照

如今我们已懂得了大批汗青,接上去让我们看一些关于关照是怎样事情的风趣举动。大概这部份内容我们已说起,开辟者能够完整把持关照体系。就是说关照能够由于任何缘故原由在任什么时候候显现大概消散。乃至不必要从Google推送服务吸收一个关照。实践上,就算我们收到一个推送关照,它默许也不会显现在形态栏,你必要本人往捕获推送关照而且决意怎样去向理它。
举例来讲,一个惯例的关照交互应当是这个模样:

  • 吸收远程推送关照
  • 反省payload,依据payload创建一个背景服务往猎取数据。
  • 猎取并剖析前往的数据
  • 构建并显现关照
对照风趣的是第二步和第三步,背景服务没偶然间限定。假如推送关照告知你要下载1GB的文件,好吧无所谓!在年夜多半情形下,假如一个背景历程用时十分短的话,体系并没有请求你必需显现一个关照。但长工夫背景服务(好比音乐播放器)仍旧必要在形态栏显现一个图标。关于开辟者来讲这是一种值得沉思的做法,确保用户晓得是何种服务在背景长工夫运转。
固然只要4个步骤,可是有一多数的开辟者不肯意处置。假如我能够间接发送全部payload是否是会更简便?GCM(GoogleCloudMessaging)同意payloads把持在4KB以内,均匀来讲,它在1,024到4,096UTF-8字符之间(取决于字符)。除非你要推送一张图片,否则你能够塞进任何你想要的内容。听起来多棒!
关照回调

那末开辟职员是怎样把持用户与关照之间的互动?固然,我们已晓得能够增加自界说控件和按钮,并且我们已看到了怎样完成一样平常的点击。但另有其他的么?实践上,固然有!有一个“删除”功效,当用户设置setDeleteIntent,用户从抽屉中删除关照的时分将被逻辑删除。到场删除是一个巨大的前进,以确保我们不再次显现老旧信息:
  1. //在Android中,我们能够创立恣意名字让组件决意它们想要处置哪一种操纵IntentclearIntent=newIntent("clear_all_notifications");PendingIntentclearNotesFromDb=PendingIntent.getBroadcast(aContext,1,clearIntent,0)Notificationnoti=newNotification.Builder(getContext())....setDeleteIntent(clearNotesFromDb).build();
复制代码
重修导航条理布局

让我们更深切地谈一谈关照的默许点击。如今你固然能够在点击关照后实行一些默许的举动。你能够仅仅翻开那你的使用。用户能够本人找到他们想要往的页面。可是假如我们能够间接显现相干的页面那末体验会加倍友爱。假如我们收到一个邮件关照,我们间接跳转到邮件内容,假如我们的一个伴侣在Foursquare上签到,我们间接能够翻开使用显现这个他大概她地点的餐馆。同意关照指向到一个包括内容的深度链接是一个很棒的功效。可是更多时分,深度链接已是你使用的一部分,你会碰到导航条理凌乱的成绩。你没法利用导航’前往‘。Android能够匡助你在入手下手之前创立视图仓库来办理这个成绩。这是经由过程TaskStackBuilder类来完成的。利用这个手艺必要一些邪术而且必要一些使用架构方面的常识,可是有空你能够看看Google开辟者网站,这里有一个扼要完成.
用Gmail举例,我们告知使用"翻开邮件使用,接着翻开一份指定的邮件。"来取代复杂的翻开邮件使用。用户将不会看到一切的视图创立,而只会看到终极的了局。这是何等的难以想象,由于如今我们点击前往按钮的时分,用户将不会加入使用,而只会退到使用的首页。
少了些了甚么

我已具体排列了很多Android体系中关照的功效,同时也展现了它们有何等的壮大。可是没有哪一个体系是完善的,Android的关照体系也有瑕疵。
尺度

Android用户面对的主要成绩之一则是没有把持关照体系的功效。这就意味着假如一个使用有关照提醒的时分,用户没法封闭它,惟有卸载这个使用。从Android4.1入手下手,用户能够在设置当选择关失落指定程序的关照。这制止了使用在形态栏的一切关照,这看起来是非常有效的功效,可是在用户实践利用中却受限很年夜,由于实在很少有人想要将一切的使用关照都封闭,他们良多时分只想关失落一些使人末路火的关照,好比LED提醒灯闪灼大概是一直收回的提醒音这类关照。
从Android4.1入手下手,用户能够经由过程设置来封闭吸收关照,可是这里没有一种体例来封闭LEDs大概声响,除非开辟者显式地供应了封闭的办法。

这个类是具体的数据对象用上面的例子说就是衣服一般都是继承这个对象XCode可以帮你做具体搜搜这种文章很多NSFetchRequest用来执行CD请求的相当与select语句外壳NSEntityDescription用来描述实体的
老尸 该用户已被删除
沙发
 楼主| 发表于 2015-1-21 08:25:23 | 只看该作者
其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。
小妖女 该用户已被删除
板凳
发表于 2015-1-30 12:32:23 | 只看该作者
首先是基础,在汉昌的课程非常全面。从object—c到最后的毕业项目,基本上方方面面都涉及到了,我是一名非计算机专业的学生,起初学习还有点吃力,因为基础知识薄弱。经常像听天书
精灵巫婆 该用户已被删除
地板
发表于 2015-2-2 21:56:03 | 只看该作者
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
深爱那片海 该用户已被删除
5#
发表于 2015-2-7 18:30:32 | 只看该作者
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
变相怪杰 该用户已被删除
6#
发表于 2015-2-8 06:58:59 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
小女巫 该用户已被删除
7#
发表于 2015-2-24 19:09:49 | 只看该作者
好处就是运行速度会变快,ios6针对系统的优化进一步加强了,很多网友测试ios6,第一感觉就是速度快,而且ios69会有一些新功能,新浪微博,facetime支持3G网等等。。弊端就是,现在的ios6只能算是正式版本的第一个版本,bug很多,不少人刷完ios6都出现了很多毛病,开不开机,缺少图标等等。。最好现在不要升级,等官网放出下一个版本的时候,再选择升级。。。
只想知道 该用户已被删除
8#
发表于 2015-2-26 12:43:32 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
莫相离 该用户已被删除
9#
发表于 2015-2-28 08:16:25 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
金色的骷髅 该用户已被删除
10#
发表于 2015-2-28 11:23:39 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
柔情似水 该用户已被删除
11#
发表于 2015-3-7 19:16:33 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
蒙在股里 该用户已被删除
12#
发表于 2015-3-11 23:10:10 | 只看该作者
以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。
再见西城 该用户已被删除
13#
发表于 2015-3-19 15:54:10 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
再现理想 该用户已被删除
14#
发表于 2015-3-28 12:42:02 | 只看该作者
好处就是运行速度会变快,ios6针对系统的优化进一步加强了,很多网友测试ios6,第一感觉就是速度快,而且ios69会有一些新功能,新浪微博,facetime支持3G网等等。。弊端就是,现在的ios6只能算是正式版本的第一个版本,bug很多,不少人刷完ios6都出现了很多毛病,开不开机,缺少图标等等。。最好现在不要升级,等官网放出下一个版本的时候,再选择升级。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-7 03:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表