仓酷云

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

[学习教程] IOS编程:Android Fragment性命周期――多屏幕撑持仓酷云

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:32:26 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这个类是具体的数据对象用上面的例子说就是衣服一般都是继承这个对象XCode可以帮你做具体搜搜这种文章很多NSFetchRequest用来执行CD请求的相当与select语句外壳NSEntityDescription用来描述实体的在利用Fragment之前,Fragment的性命周期是一个必要体贴的成绩。今朝,要想在Android上开辟出一款APP必需得思索到“碎片化”的成绩,大概说必需思索多屏幕适配,这是每个开辟者都必需面临的成绩。
如今市场上手机的屏幕分辩率、尺寸八门五花,更糟的是,除手机外另有平板!我们都分明,就单单屏幕尺寸来讲手机战争板差别很年夜。以是,当我们开辟使用程序的时分,要服膺我们的APP应当能合用于分歧的设备上并且必需到达最优效果,如许才干确保取得更佳用户体验。因而成绩就发生了,我们必要调剂使用在手机战争板上显现不异的效果,也就是如今所说的多屏幕适配。在之前的一篇帖子里,我已讲了怎样用Android的一些特征做多屏幕撑持,好比创立分歧的结构文件等等。这个体例如今也还能够这么做,可是已不克不及满意我们的请求了。
一个典范的例子是,使用中有一个列表,用户点击列表条目就能够显现具体信息。这类情形下,我们可使使用在手机战争板上有分歧的体验效果。在手机上必要两个Activity来完成这个功效,如图:

<br>
当用户点击后,呈现的界面是如许的:

<br>
而在平板上,我们我们必要好好使用屏幕,把列表和概况显现在一同,如图:

<br>
从下面的例子我们分明地看到,我们必要一个办法往“兼并Activity”,让个中一个Activity挪用另外一个时,两个Activity都能同时大概前后显现。我们必要在不重写代码的情形下从头构造界面结构,而仅仅利用多结构来做是不可的,我们必要其余手艺。
Fragment

在Android3.0上引进了一个新观点叫Fragment。它有本人的结构文件,能够作为组件排布,也能够互相组合往完成分歧的结构显现。利用Fragment能够反复使用代码,而且能够满意分歧设备尺寸的需求。Fragment不克不及独自存在,只能存在于Activity中,而一个Activity能够具有多个Fragment。很主要的一点是,Fragment能够和Activity中的别的组件一同利用,无需重写一切Activity的接口。以是利用Fragment就能够如许来完成上例中“主界面—具体界面”的APP需求。
在手机上是如许显现的:

<br>
而在平板上是如许的:

<br>
Fragment性命周期

既然我们已晓得了Fragment很好用,那末我们也必要晓得它的事情道理。Fragment只能存在于(作为容器的)Activity中,每个Fragment都有本人的视图布局,能够像我们之前那样载进结构。Fragment的性命周期加倍庞大,由于它有更多的形态,如图:

<br>
我们来看一下Fragment完全的性命周期。


  • 在Fragment性命周期入手下手,onInflate办法被挪用。要注重的是,这个办法只在我们间接用标签在结构文件中界说的时分才会被挪用。我们能够在这个办法中保留一些在xml结构文件中界说的设置参数和一些属性。
  • 这一步事后就轮到onAttach被挪用了。这个办法在Fragment绑定到它的父Activity中的时分被挪用,我们能够在这里保留它和Activity之间的援用。
  • 以后onCreate会被挪用。这是最主要的步骤之一。Fragment就是在这一步中发生的,能够用这个办法来启动别的线程来检索数据,好比从远程服务器中启动。
  • onCreateView这个办法是在Fragment创立本人的视图布局的时分被挪用,在这个办法中我们会载进Fragment的结构文件,就像我们在ListView控件中载进结构一样。在这个过程当中,我们不克不及包管父Activity是不是已创立,以是有一些操纵我们不克不及在这里完成。
  • 能够看到,在onActivityCreated后Activity才算是创建完成。到这一步,我们的Activity就创立乐成并激活了。我们能够随时利用它了。
  • 下一步就是onStart了,在这里我们做的事和Activity中的onStart一样,在这个办法中Fragment固然能够显现,可是还不克不及和用户举行交互,只要在onResume后Fragment才干入手下手和用户举行交互操纵。在这个历程后,Fragment就已启动并运转起来了。
  • 大概会停息Activity。Activity的OnPause办法会被挪用。这时候候Fragment的onPause办法也会被挪用。
  • 体系也大概会烧毁Fragment的视图显现,产生这类情形时onDestroyView办法就被挪用了。
  • 以后,假如体系必要完整烧毁全部Fragment的话,onDestroy办法就会被挪用了。这时候候我们就必要开释失落一切可用的毗连了,由于这个时分Fragment即刻就要被杀失落了。固然是在筹办烧毁的过程当中,可是Fragment仍旧绑定在父Activity中。
  • 最初一步就是把Fragment从Activity中解绑,即挪用onDetach办法。
怎样创立一个Fragment

如今我们懂得了Fragment的性命周期了,接着我们就必要晓得怎样创立一个Fragment并绑定到Activity中,第一件要做的事就是承继android.app.Fragment来写一个Fragment,假定我们的Fragment叫做Fragment1,创立和界说以下:
1
2
3
publicclassFragment1extendsFragment{
...
}

就像我们下面说的,Fragment只能存在于Activity中,以是我们必需要在某处界说它,有两种体例:
-间接在xml结构文件中界说;
-在xml结构文件中界说一个占位符,然后静态地在Activity中操纵Fragment;

如果同时支持iOS5和iOS4用宏判断下就可以当然也可以直接用assign)还有一点开始学习的时候肯定很疑惑内存管理是基于函数名称的比如带alloccopy的函数用了之后返回的对象一定要release
蒙在股里 该用户已被删除
沙发
 楼主| 发表于 2015-2-27 10:58:36 | 显示全部楼层
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-20 06:38

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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