00:00
那接着我们往下来看哈,现在呢,我们已经是能够显示就是正在加载的这个状态了,那到底是剩下这几个状态能显示谁,那就得看联网的情况啊,根据你联网的情况决定了显示的是谁,那联网我们说了,嗯,几个fra都是需要联网的,如果你说我这个不需要,不需要你也用不着用,都给配置了。啊,你用楼顶配置就是因为你可能会显示这四种状态啊,既然都需要联网,那就把联网这个操作呢,就抽取出来放到一个类里,类里边那肯定呢,我们就放到楼顶配置里了啊。行,那放到六零配置里,我们刚才的这些方法写的都是一串下来自动掉的,那接下来我们再去造呢,或者再去写呢,就是我们自己主动的去调一个方法了,不妨呢,我比如说就写一个叫售方法啊,在这个售方法当中呢,我们去让他实现联网操作。哎,在受方法中啊实现。
01:02
嗯,联网加载数据。OK,那联网的话呢,我们整个应用呢,都是使用的异步的ATP啊,所以我就再去扭一下。嗯,一步的htt。抓了一个client,接着呢,通过这个client我们去调这个方法啊,这个post也行,Get也可以啊,这个比如用个get吧。来用这个盖在这里边儿呢,我们可以填这样的几个参数啊。嗯,首先呢,你了连接的这个URL是谁,可以有这个请求参数也写进来响应。那这三个是不是具体的fragment不一样,都不一样啊。啊,这块呢,我们重写看重写里头啊,这俩都不一样。都不压着我们。怎么着?只要不一样,我们是不是就暴露出去?我呢,是不是就提供这个抽象方法呀。先把这个写上啊。行,嗯,这个URL提供一个抽象的,咱们这个。
02:02
Abstract。嗯,那你这个UR这是不是就得有个返回值啊,死论类型的。这样啊。嗯,Public,嗯,那个这这是什么呀。或者我们这样这样省事一点是吧。这不可以搞定了吗?就是你需要的这样的一个这个request。行,这两个呢,都是抽样方法,这是提供这个联网的请求地址。啊,这提供联网的请求参数。行,然后接下来呢,这是我们对应的这个响应。响应的话呢,有大体上两种情况,当success。啊,UN failure的这两种情况啊,那这两种情况里边是不是又得具体的来细分啊。积分的话呢,你是失败了,那你就是对战,那就是失败的那个啊成功的呢,有两种情况,嗯,所以这里边我们写的话呢,这个好写先给他吧。
03:03
这个呢,我们就做的事情呢,就是将当前的state current给它改成state。Error对吧,改完以后,改完以后呢,你光改完到这那不行啊,是不是你还得让他再去调一下,那个叫收配。哎,就相当于是改完以后立马就跑到这来,这呢放到主线程里边,接下来行,我这会已经改了啊,你这时候你改你该因为走了,呃,我这候呢,我该显示了,你们都invisible。是不是就这个意思啊,嗯,好,再回去啊,嗯。这个呢,是我们说的这个叫呃,失败的这样一个情况,行成功,成功呢又分成两种情况,根据我们这个content里边是不是有数据来决定的,所以依附一下,如果我们的test u.is empty content。这就是表示为空了啊,它其实有两种情况。这是一种是吧,或者呢,对这两种情况,哎,那你要是空的话呢,那我们就是state current等于。
04:07
是一个empty。啊,那else,那就是有有的话呢,就是state current等于。嗯,四是A。啊,是一个success。嗯。然后呢,不管你这里面是哪种情况,也得是第20。行,完事了吗?肯定不成,刚才我们说了,这个要讲也得讲半个小时是吧。要不这有点快了啊,你看这差到哪了,现现在。我差点儿啥事儿啊。诶,数据的问题啊,所以现在不知不觉我们已经到了第五步了。嗯,所以你现在这个数据的话呢,我得想办法得给它传下去哈,因为你这个时候content呢,这个你不同的页面这个content不一样,然后呢,我主要呢,希望把这content得传给我们,你你你传不到这儿了,你就传到你这个base fra这块base frame那块这块呢,你再传给我们,那你你通过1RETURN啊怎么着的啊,哎,传给我们具体的这些姿势图啊,此词fragment。
05:13
好,那下边我们来考虑这个问题啊,嗯,这个问题的话呢,实际上也可以直接传,或者我们这里边呢,也讲在嗯,再再高大一下哈,高大上一下我们就可以做这个事情了,你现在呢,实际上不就是这样的几种情况嘛,一个呢是状态的问题,一个呢是数据的问题啊状态数据呢,哎,我这儿呢又给它呃包装成一个类了。当然同学说也不愿意包,不愿意包其实也没事啊,哎,我这呢就包一下,包一下呢,我这里边就提供这样一个啊什么呀,枚举类。嗯,我这就叫做。Result的一个state吧。这是一个枚举类啊,这个枚举类要干什么呢?我呢就做两个事情啊,就是刚才讲这个,呃,返回的状态,以及呢,你这个数据我就封装在这个枚举类当中。
06:06
啊,那这个枚举类的话呢,它就这样的几个对象啊,就是空的失败的跟成功的啊,这样三种情况就仨对象啊,所以呢,是一个枚举类了,嗯,首先呢,我们定义一个它的一个state啊。还记得这门鱼类打造不?呃,枚举类它不是有一些,就是我们可以Java基础讲的啊,可以自定义一个枚举类啊,那你就是按照你自己的套路,我就里边造三个对象。啊,你要只造一个,那不就单立吗?啊造商啊,然后呢,外边不允许掉构造器,那就是枚举的哈,那还可以直接就生命成是一个一拗啊,这种写法呢,不就是直接这样。这样来写嘛,比如我这就写一个,它对应的这个先是个L啊。二逗号。它是一个三。
07:01
然后呢?它是一个四。下边呢,提供一个构造器。Result。State在型的一个。After the speed。哎,这个呢,美女类我们就造好了,还有印象吗?我还知道长为什么这,为啥长这样。啊,这应该是我预料到的啊,你看这个我们造一个枚举类的时候,构造器啊,这块该有都有是吧,首先也可以有啊。那我们要声明一个枚举类的话呢,呃,它直接通过这个类去掉了,所以我生明这个public的啊,直接通过类调呢,就是一个s static的,而且呢是一个常量不能改啊,类型呢,是不是就是result state类型。对,这是个对象啊,然后呢,这个对象呢,接下来你是不是就等于new一个啊,Result state给他传一个行参,这个呢,State就是个200,就把这二传到这,就相当于传给他,是不是就这样写啊。
08:11
啊,这是相当于我们造了一个对象嘛。那你对象如果都这样造,那你这造了好几个一样的枚举类的特点是一样的,就可以不写了。接口里边不也这样吗?那你看哪些就是我这是不是写仨一样的东西,这是不是都一样。这是不是也一样?是不是可以删掉了。啊,从这开始,等号是不是也一样,逆位一样,这个是不是也一样,如果括号也一样,那那比了。但实际上就没了哈,哎,所以就到这了,嗯,然后呢,彼此之间用逗号连一下。所以呢,这是三个对象啊。嗯,啊,这三个对象,这呢就是提供一个构造器,呃,另外的话呢,我们还在封装一下这个数据啊,Private写一个string类型的一个content。哎,我再提供一下这个。嗯,改的方法吧。
09:04
行,我这呢,就提供了一个枚举类,在这标注一下啊,提供枚举类,然后呢封装。这个嗯。相当于这个state的一个状态啊。我这样说,封装联网以后的,呃,这个状态值和数据。行,这样呢,我就都封装在这里边了啊,那封装在这里边的话呢,我们接下来啊,我们看一下啊,我这个时候呢,当你成功或者是失败的时候,哎,我就不直接的在这里边呢,相当于去写这个值了啊,我就先不去改它,而是呢调用一下我们这个,呃,成功的或者失败的,呃,我们上面呢,就可以再去声明一个变量啊。嗯,就比如说叫private。啊,一个state。啊,Result,一个state先声明出来,然后呢,就是当你是一个成功的,但是呢还没有数据,我说让你呢,等于是找这是一个什么empty是吧。
10:13
这样呗。哎,那同时呢,你这里边儿这个数据的话。Or state?这个啊,这个content讲一下呗。就是表示空的意思哈,那当你是一个成功的啊,并且有数据,那我这呢,我就这样来做一下。啊,Success这个具体的数据是不是就是。哎,行啊,相当于呢,我们这里边儿就是把你这个响应的这个结果全部封装在这个枚举类。啊,这个呢,也可以改造一下。这个改造呢,跟上面的一样啊,等于result state点是一个,嗯,这是写错了啊。
11:02
它是一个。啊,L的话呢,你也可以给它赋个值啊,就让它也是一个空的。避免出现一些不必要的控制的异常之类的情况啊行,那我这样改完以后的话呢,其实。更不行了,你这上来就调查,那你这改的跟我们当前这个变量是不是一点都没改啊。哎,然后我可以怎么着呢,可以根据这个呢去改它,所以这呢,这就不能直接再去调它了啊,这也是我们这儿呢,稍微有点绕的地方。我把这两个先除掉,嗯,我这呢写一个方法啊,我就叫做一个load image的方法。嗯,有想死的感觉了啊。哎,节列方法,然后这个方法里面这呢就是个具体的。我干什么事呢?你刚才整个响应哈,这个什么要记这个事,我整个这个响应的一个结论呢,就是我把这个响应的状态和数据全放在这里了,你现在是不是就是拿着这个变量去操作呀。
12:05
就是在这里边来操作啊好,那我们在这里边我们就可以Switch一下。啊,Result state,诶还可以往这放。哎,霉菌类嘛是吧,哎,我往这放的话呢,它这边就有可能是这样的几种不同的情况嘛,可以是这个艾的。艾若的情况。然后把这几个呢,我们先把它写出来。哎,就三种。行这三种情况啊,那三种情况里边,如果你是一个error,哎,我们在这里边呢,去给它做一个复值啊,比如说state这个current。哎,等于这个error。然后呢,是对的一个。啊,这是empty的。然后呢,这是success。
13:04
哎,我们在这呢,相当于是做了一个赋值。哎,这样复制完以后的话呢,我们可以一出来干什么呀。哎,是不是受一下C配置啊,哎,这相当于是啊,根据修改以后的。State current的值。哎,那去呢叫哎更新你这个具体这个视图的一个显示。哎,所以呢,得在主线程中去做啊,哎,是头显示呢,你就看哎,你这个值是谁,你就显示谁就完了,那是不是有可能我们这里边显示的就是这个四啊。哎,可能显示的它就是四,但你要真是四的话呢,还是那个问题数据。啊,数据这边还没解决呢,现在数据在这里边了吧,啊,那你这里边还得写啊说啊如果呢,我们发现啊,当前你这个state current呢,哎,它恰好呢,就是我们的这个state success。
14:04
啊对准啊就这个,如果你是他,我们需要做的事呢,就得把这个数据呢,得给人家传出去。啊,数据传出去,我们这时候呢,呃,我就这样写是吧,因为传出去我们这时候呢,就可以写一个方法啊,这个方法现在又是我们自己在这造的,On success。哎,这也是我们比较难的一个点啊,而success这个方法,哎,我们呢。一方面把你这个result state给传进去。就相当于是我把这个我有的东西哈,我这边不有数据嘛,我给你传出去哈,往往下去传,那另外的话呢,我再把我们当前这个视图啊,我这个叫VIVO success也给他传出去。哎,方便人家一会儿呢,就该做一些绑定操作哈,写到这儿,那这个方法没有这个呢,我们就定义为我们当前这个类里边的一个抽样方法。
15:03
注意哈,这个抽样方法是定义在这的,然后在这掉了。而且这个调是不是自动掉的。所以这个呢,实际上是一个回调是吧。那基本上这个类呢,目前我们就写成这样了。啊,这块是比较难的啊好,这个写完以后呢,再回顾我们这个base fragment这块。到这了啊,到这以后的话呢,你是不是又多了几个方法呀,这就不要了哈,做题方法呢,在这块alt enter一下。写吧。嗯。哎,Load定配置点,它这个看不着看不着,在这儿加上一个权限。Building配置。这是吧。保存一下。好回过来啊,来看一下,先看这个简单的吧,URL就是你要联网的URL,那我这哪知道啊。
16:01
怎么着啊,干哪有好呗。是吧,哎,你你这在贝斯反能力啊,哎,你这个他也不知道吗?是不是又暴露出去。啊,又暴露到你这个具体的fragment去实现啊,然后这个嗯,Parent是不是我也不知道get。哎,那就再暴露出去。那就这样行,那这时候该这个中头去了,On success,嗯,On success啊,你看这里边这个方法,这个方法实际上也是我们这个整个这个对象在执行的过程当中,是不是也都自动掉了。就在这里边一趟下来就掉的呀,那那你这个on success,其实这块这也是一样啊,他只要是成功的,它也会自动掉。呃,自动调的时候呢,呃,调这个他还他调它的时候,还把这个数据给我们传进去了,那实际上我们回过来的时候。只不过这个方法是多了两参数而已啊,这两个参数是不是就已经有数据了?
17:06
这个能理解吧。啊,说这也行啊,这前面讲自定义空间不是做过自定义监听器吗。接近监器不都是这个套路吗?啊,你接那监听器,监听器你就写呼叫方法,你直接拿着这个呼叫方的行单就能用,凭啥你能用啊,是不是你在你ontouch event那里边,或者你在那个分发那个方法里边,你调那个监定器来。调研辑这个方法你把数据传进去了,所以这个呢,这就是已经有这个相应的经验了啊,那过来以后我们on success啊嗯,这我应该干点什么事呢。数据是不是就在这里了?哎,数据既然在这里边的话呢,我们刚才这俩方法你看没改掉是吧,你这现在是不是就可以改掉了,你这不是成功了了嘛,相当于是吧,哎,这个呢可以调一下,然后这个伊利的data塔呢也可以调了。啊,In这个title的话呢,呃,就是我们所说的呃,就把上面这个呃统一的这个标题这块改一改就完了哈,那in data塔这块是不是就你涉及到下边这个具体页面中的这个数据跟布局得装一下了,数据现在在这呢,是不是CTRLC把这个结果你再直接get一下吧,Content是不是给人家传下去啊?
18:19
哎,那你这块呢,是不是就得加一个词缀类型的一个content了,哎,那回头呢,我们具体的这些FRAG1重写,这不就直接拿到数据了。哎,一路往下传。哎,那这个上面呢,别忘了一个点啊,哎,给人家绑定一下,我们这这边没有绑定,你看这是不是都有。就是绑定了,所以你绑定的这个也给它加过来啊,如果这个this的话呢,不是它了,应该是我们这个base fragment.this。呃,VIVO的话呢,是不是就这个VIVO啊。行,那这样的话呢,我们基本上啊,关于这个base fragment for这个load配置啊,基本上呢,就写的差不多了啊,就写到这,那我们先停一下。
我来说两句