仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1490|回复: 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-1-21 09:48:58 | 只看该作者
其次学习方法和学习心态很重要,在学习当中应该保持一颗良好的心态。应该借鉴别人好的学习方法,大家互相帮助,取长补短。
admin 该用户已被删除
板凳
发表于 2015-1-25 20:37:51 来自手机 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
第二个灵魂 该用户已被删除
地板
发表于 2015-1-27 15:03:18 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
爱飞 该用户已被删除
5#
发表于 2015-1-30 21:58:31 | 只看该作者
其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。
山那边是海 该用户已被删除
6#
发表于 2015-2-6 14:31:21 | 只看该作者
其次学习方法和学习心态很重要,在学习当中应该保持一颗良好的心态。应该借鉴别人好的学习方法,大家互相帮助,取长补短。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-2-16 07:53:56 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
蒙在股里 该用户已被删除
8#
 楼主| 发表于 2015-2-27 10:58:36 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
兰色精灵 该用户已被删除
9#
发表于 2015-3-9 01:26:36 | 只看该作者
以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。
金色的骷髅 该用户已被删除
10#
发表于 2015-3-13 02:10:24 | 只看该作者
才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
若相依 该用户已被删除
11#
发表于 2015-3-20 10:13:36 | 只看该作者
学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。
只想知道 该用户已被删除
12#
发表于 2015-3-24 00:24:05 | 只看该作者
学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。
因胸联盟 该用户已被删除
13#
发表于 2015-3-26 22:02:00 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
愤怒的大鸟 该用户已被删除
14#
发表于 2015-3-30 05:46:51 | 只看该作者
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
莫相离 该用户已被删除
15#
发表于 2015-4-5 11:49:40 | 只看该作者
自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉
若天明 该用户已被删除
16#
发表于 2015-4-11 17:42:32 | 只看该作者
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
海妖 该用户已被删除
17#
发表于 2015-4-30 15:24:49 | 只看该作者
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
分手快乐 该用户已被删除
18#
发表于 2015-5-4 20:07:26 | 只看该作者
最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。
透明 该用户已被删除
19#
发表于 2015-5-9 10:53:02 | 只看该作者
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
小魔女 该用户已被删除
20#
发表于 2015-6-4 03:04:06 | 只看该作者
才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-2 21:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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