00:00
下来我们就要把列表存进来了,你看现在我们现在播一个视频是只能播一个啊,我们点下一个,你看上面做啊,而且现在传的地址是确实只存一个啊好,那这个时候怎么办呢?我要存列表进来了,好来到我们的列表这里。我们去点击。在啊,当然我们刚刚代码没有提交,我们提交一下。刚才所讲的是得到系统时间更新对吧?好,我们把这个这个提交一下啊,这样的话呢,大家就可以知道这当然这个代码很简单,好了,接下来我们要做的事情呢,就是要把列表传到播放器里面去,然后呢让它播放下一个上一个。好,来到我们的这个。视频这里,视频列表这里,好,我们看一下是在这里吧,然后一点击这个时候我们从一个列表就再也不是一的一个视频地址了吧,这是一个视频地址吧,好,我们把它复制一下到下面来,这个呢,把它注掉,那接下来我要传的是视频的列表,传视频列表,那视频列表的话,那也就是说怎么传呢。
01:20
好同学们,这个时候我们怎么传呢?它这个地方里面有一个put。你看是可以存一个班的,对吧?好,然后这个地方里面的话呢,我们当然也可以存一个数组,看到没有,但是是是是军类型的,好,那这个时候呢,我们不能直接这么传,那怎么办呢?好,这时我们用一个般的般的的般的好班的里面呢,大家看一下班的里面有一个。Liable是序列化呀,这个嘞,Key,那这里面呢,注意。
02:02
就是我们来存一个集合,这个集合里面对象要实现liable啊,要实现它才可以,否则会报错,好那这个时候第一个就是我们的video list是key吧,第二个就是我们的it,你看可以了吧,注意你这样的话和一一图关联起来了吗?还没有啊,这时候意图的话要put,这地方是一个班的呀,都该把它班的来存进去,知道吧,存进去好,那这个时候我们就有了,但是注意这个列表里面的这个对象如果没有序列话,它会崩溃。知道吧,他会崩溃,但是呢,我们先别让他学点话,让他看到这个崩溃啊,好,当然我们在地方里面的话呢,大家看好,然后这个时候。的话,我们是要把这个列表取出来啊,取出来好大家可以看一下,在我们这个地方里面,从那里面去就来到on click view这里on click,然后这里面是得到我们的文地址吧,我在这里面重构一下方法叫get,在date,好get date的话呢,这地方里面,这是得到一个地址是吧?是得到一个地址的一个情况,注意这一个地址一般来自于哪里呢。
03:30
来自于文件夹浏览器,或者是我们的浏览器,或者是这个相册,就是说当我们从文件夹一播一个视频的时候,他一般只存一个地址给我们,他以什么样的方式传呢?就以一个set date。这种方式知道吧,好这个时候呢,我们这个set data还需要吗。啊,这种是一过的方式,这现在是列表了吧,不需要了吧,好,那同学们像这样的情况下呢,这种就相当于是一个文件夹,你点文件夹过后,最后我就把这地址呢啊发给他,这个是给指定它播起来啊,那如果是用这个的话,就是所有的播放器都掉下来吧,对不对。
04:20
好,那同学们,那么在我们地方里面的话呢,我们从列表video list给这个们,然后我们接下来在get date这里就要接受了吧,好,然后这个时候get我们的这个intent,然后get我们的一个啊一个什么呢。这个时候我们要得到。好得到一个什么呢。啊,有同学是的啊,其实得到班的话嘞,不是直接得到班的,应该是得到一个这样的,得它the s啊得到这个门好,那么它就是video什么list,好,那它其实本身是一个集合吧,这集合在哪里嘞,在这好我们把它给截图下来,到这里好这没问题吧,好,然后把它给强转。
05:30
就是这样啊,有的同学说,哎,我先得个班的啊,用用不着啊,你得个班的反而会得不到数据,好他就是这么接收的啊,好,那有了过后我们把它写成是内的层变量。好,那么呢,把它放在这,OK,来过后是得到列表了,好注意这个时候我们再还要从一个位置过来吧,好来到这里再传一个位置过来,位置就直接创地图里面了啊好叫put啊,一个int类型是是是int啊,然后我们就叫per。
06:07
然后位置的话就是这问题吧,好,那接下来我们在地方里面仍然也要去得到位置啊好per就等于get intent,然后get我们的这个,然后part雷是吧,More呢,第零个对吧?好,这就是我们列表中的位置吧,列表中的位置是点第几个视频对吧?然后把它给穿入出来。这没问题吧?好,那有了后,同学们有了这个过后呢,接下来我们打个debug给他看一看,好debug大家会吗?大家开始要会了啊,再不会的话,你一定要看我上课怎么弄,你就也要试一试,大家看好,假如说我一点我想代码停留在这,我打个断点好,然后呢,我可以先运行起来。
07:05
啊运起来,当你点击的时候呢,在点击之前的话呢,再去点这个也可以,大家看好啊仔细看debug是必会的。每个人都会的。好,接下来我还没我还没有点吧,在点之前我选中它,选择个进程,好这个时候再去点,你点过它会停留在这。好,我点倒数第二个出来了吧,往下走这个位置,大家看好这个位置。是第几个位置,是第八个位置啊好,然后这个列表。大概是有有十个啊,倒数第二个嘛,是是是是是18呀,总共是最大是九吧,好往下走,那你们觉得现在能传过去吗。能到这里来吗?你觉得?啊,肯定不能序列化了吗?还没有对吧,好往下走往下走。
08:04
好往下走,你看好这个时候呢,它会直接会啊,直接会崩了,看到没有,好,那这个时候我们看一下日志啊,看日志崩了的原因是什么呢?大家只要看到这个看到没有,这个是什么呢?主要弹出这个来,就是没有序列化,你看他说我们要选一下right啊什么的,因为安卓默认的序列化来采用的是实现这么一个类似这么一个接口,也就是给大看一下啊,序列化有两种方式给大家看了啊。然后来到我们的这个地方里面计算机。底盘,然后。手机语音啊,这里面有一个资料,资料里面有一个序列化啊传递列表。好。好,艾处立数据对象好,对大家看好。
09:03
啊。啊,这个啊。啊,就这个大家看啊,在这个里面他说啊,遇到几次对象传递问题,都是通过意图用B的,但是发现B的没有直接存对象的方法,第一次存的时候呢,变map用静态方法给解决了,第二次存递是自己的一个并对象,用存办法就将并对象直接打包到实G里面,因为我们本身默认是。实训是可以传的,数主啊,那放到这里,现在想想真的是笨办法,若有一个是菌类,若有一个不是实训类型的词,就行不通了,对吧?所以的话这肯定是不行,那怎么办呢?好,我们查一下啊,自定义类可以通过班的传递,前提是要自定义类实现这两个接口,一个icable preicable,还有ABLE2个接口,两个able是吧。
10:02
好,很多人都知道it之间传递对象有两个选择,一个是啊p cable和一个single single single,但究竟我们该啊何时用其中的一个呢?很多人不知道,所以我们啊分用滥用的情况啊,这个出现在这里给大家介绍一下,好,大家看好啊,在使用内存的时候。内存的时候pressable类要比singleable性能高,所以推荐使用它。在内存的时候。那是liable呢,序列化呢,会产量大量的临时变量,从而引起DC,就是说这个面有这么一个缺点,但是它sable又不能不能用在将要这个数据存储在磁纹上的情况,就说就是你的数据即将存储到这个SD卡上,这种情况来用它就就不大好,因为这个不能很好的保持数据的持续,在外界变化的情况下进入S效率低,也不提用,但这种情况呢,还进行s level,就是要存储的话,那它。
11:04
知道吧,好,那么你会发现在序列化呢,如果你用我们的这个啊,如果我们用的是这个,你会发现特别麻烦,对吧,特别麻烦我看一下这里有没有他的案例啊,比如说这里。这里用到的案例就是这个,你看到没有啊,他计算这个内过后啊,记得实现这个接口后,还要选这个方法,要多显的,这个方法多选的,这多显的麻烦吧,这麻烦你看还要选这些,然后如果你是。生的话就继承它就可以了,好,那我们来运用它比较简单,好好而且的话呢,在这种情况我们用用它就不满足我们的需求了,好特简单,大家看好怎么做呢?来到我们这个地方里面找到这个类,然后让这个类实现谁啊对好然后实现啊S来able看到没有,就这样,你看有没有报错,好这个时候好,那么我们在没有运对之前再给他演示一下,之所以他是崩溃的,点大家看啊,我就点某个视频。
12:14
一点崩溃了吧,啊,确实是崩溃了,那我们现在再去运行,大家看看我们的劳动成果啦。好,一起来。好,然后呢,点击。那点击过后大家看一下,好,这个时候是不是进进去了,好,那进去了对不对,就进去了,证明呢,我们确实也进来了,进来过后啊,同学们,接下来我们继续选代码了啊,证明进来的是没有崩了一会也获取了一会我们再去debug看啊呃,当然我们现在也可以给8UG看看这个过程啊,在地方里面。一点,我们还是点倒数第二个。
13:00
好,这时候呢,他就来这,看到没有往下走。王总,王总,王总好点。是直接套下边这个下下到这个地方了,On库的方法,你觉得他执行了没有。他当他进赛的时候,库方法你就执行了没有啊,肯定执行了,这个方法是在哪里调用的呀?同学们啊的方法吗?是在这里调用的吧?看见有在这里,那肯定上面已经执行了,你看日志都你大家可以看一下都打了。用的方法是打了吧,看没有显然打了吗?只是说我们在这里面我都不关心,我关心的是这里他看好,然后啊第八个字。往下走ul,你们觉得有有有有有值吗?肯定没有纸啊,UR哪有纸啊?我根本就没有set data嘛,Set date才有嘛,对不对,好,那这个列表有值吗?
14:02
有了吧,十个嘛,对不对,因为我存的是列表嘛,对不对,然后再往下走,我点的第几个位置啊。第八个对不对,得到了吧,得过后往下走,往下走,但是这个UR是会空啊,所以你在播能播吗?肯定能不能播啊,所以你看到的是就这样傻了吧唧的,就是这么一个状态,对不对,你看播放暂停。好,对不对,就会有问题,你点。是吧,就是这么一个状态对吧,好的有客同学们,那么我们就应该是这样子的,这个是date的话,那我们下去处理一下,好怎么处理嘞,要判断要看情况,到底设置哪个数据对不对,好,所以data。好,那这个时候怎么做呢?好,我们就这样了,首先这个列表它不等于空,然后并且它列表它是什么大于什么大于零对吧,然后有那个后在位地方里面好在地方里面的话呢,在地方里面的话呢,我就要去得根去得到某某条数据吧,好mid,然后呢,Mid items mid items,然后get我们的这个位置好了过后好这个时候嘞。
15:28
叫去video view,然后set我们的data啊set是谁呢?是这个路径对吧?Media media item,然后get们的data是可以啦,那顺便我们是连这个标题也设置一下好,那这个时候TVTV什么呀?内蒙是不是set我们的text,然后媒it,然后get我们的什么内蒙。是不是啊,就搞定了,然后else在这个地方里面的话呢,注意if you are I,它不等于捺好这个时候我们才走这并且把这个名称直接显示什么。
16:20
直接显示1168好点求出去对不对,这样子这没问题吧。这么一题啊,同学们好,我们呢去把它运营起来,这时候给大家看一下。点击一个断点,到时候呢,我们可以运行起来。月下过后,我们对它进行打断点。大家看哦,大家看好,我们在地方里面点击倒数第三个来了吧。然后往下走,那我要来到这个on on create方法的时候,我停留,我到这里停留,大家看啊,我点了。
17:03
因为点这次肯定他会跳到这里来啊。因为中间他其实中间还做一些事情,你看他会一直往下走,但是我直接跳到下个断点做懂。大家记得吧,当然有些同学他不他不知道不知道第八个他就他就怎么一直点赞我的天呐,诶老师啊,你看我迷路了啊,路在何方是吧?噔噔噔噔是吧,噔噔噔噔迷路了是不是,那怎么办呢?好大家看好,你别着着急,因为你一直点进去了吧,好在这地方里面打个断点,因为它一直进去好多代码啊。这时候你点过后点下个断点处咚跳出来了吧,会了吗?你一定会跳出来。有的同学听八就说老师我一跳我就老郁闷了,老进到系统的代码里面去,这这就特别郁闷,你要这样,但是这假如这个音乐对的方法,我想进去可以吗?点这。点击过后,但是你不能再点了,再点是进到六这个里面去了,你看啊,我假如说我想进去。
18:05
我是可以进去的,看到没有进去了吧,往下走是不是啊好,接下来往下走是出来了。好了好,你这个时候要去玩,除非你想看看构造是怎么构造的,是可以六啊可以六点进去点进去点进去点去好。可以,但是这个门你看出来了,那往上走往上走往上走往上走好,你看发ID是是是是刚在我们,我们在里面打打断点吗。没有,所以瞬间就过去了,看到没有,其实这里面好多代码,看到没有,但是我没有打断点,他就过去了,好往上走,好get date来了啊get date,你,你让我们打断点了吗?打了,所以的话,你直接往下走,它就会自动进去的,但是如果没有打断点,它方法是没有进去的,知道吧,好,这时候看U为空吧。因为U,因为因为我们设date没有,因为我们在这个地方里面,你看以前我们只有set date and tap过后,这个地方get date时它才有啊。
19:07
但这没有设置,那就没有好往下走得到了这个列表,得到了这个位置是吧,好再往下走,接下来就设置date了吧,点进去好,那这个时候列表肯定不为空吧,好这时候你看就得到第一个信息。看到没有,大小及路径看到没有,得到了,看到没是不是,然后接下来就把这个地址。传过去好传到里面去。好,这个时候呢。啊,他也就是如果你像像我这样点的话,它就一直进去了,对吧,一直进去了,所以那进去了过后,那又不是我们想要了,怎么办呢?在下面这个地方打个断点。取出来吧,好,然后是地址好,那这个骑射过后,注意他准备好过后它会掉这里来。
20:09
这里它会掉这里了,很好啊,往走好我一回一点。准备好了吧,好,但是你现在看到视频它播起来了吗?没有好,但是我一点是大的。往下走,这个总时长有了吧,然后跟这个八关联了吧,好这个八这里面呢,它就会有这个状态。啊,S marks,他可以看一下marks marks。所以看到没有,有了吧,这根本就有一个max往上走往上走好现在一点播放,大家看好现在没有吧。看到没有播起来了吧,所以这个就相当于神州六号飞天是吧,就可以了,就所有都准备好了之后是大的就可以播起来,知道吧,就靠它。
21:07
明白吧,就多起来了,那都可以更新了,看到没有,就这样的一个事情,好,那么这个就是我们所讲的这个列表的传递,明白吧,那以后,那么从我们这个知识点可以扩展到什么呢?就是以后你要在两个或者是艾和服务之间传递数据,这个数据呢,可能是从一个序列的对象,就是一个一个集合,这集合每一个集合的某一个。每一就是每一个item,它是一个对象,这个时候这个对象需要什么序列化,明白吧,序列号有两种对吧?好,我们就用简单的种就够了,好同学们在我们地方里面的话呢,这就是我们传递列表,简单吧,好保存。
我来说两句