00:00
准备去写啊。这样我先建一个。啊。我们来看一下。Network。在这里看,现在我们要去使用h connection呢,来去提交一个get请求,我们来看基本的步骤是什么,把这里呢给大家写一下啊,大家看啊。在这里面大家别忘了一件事情,就是我们真正去联网请求必须在哪个系统做啊,分线程做对不对,而我们去显示这样一个带logo得在哪个线程做啊。
01:07
主线对吧,那也就是说你说是先显示了还是先发请求啊,先先发完请求后来再显示这个。是我把它一显示出来,我就发请求啊,是不是启动分享发请求对吧,这个地方大家看到我啊,呃,在这里面来。这样写吧,嗯,有点不太方便。我们打开一个。来看到。在这里面我们要实现的效果就是我点啊点get请求,它就会提示这一个进度条dialogue啊,当我的数据得到以后呢,它就会消失,那基本的步骤是这样的,第一步。显示进度dialo吧,带进度dialo进度叫叫什么来着,Progress dialogue对吧?Alo接着我们要发请求,但是我们现在是不是都在主线程呢?来干嘛?启动分线程对吧?这是一个好启动分线,以后在分线做什么呢?
02:27
发送请求对吧,那发送请求来发送请求,发送请求的步骤很多,我们来看,那我总体写个吧,发送请求得到响应数据可以吧。这个在哪个线程做的,在分线程对吧,在分线程发送请求啊,得到响应数据,好了,这个过程给大家写一下,看看能不能写啊第一个。
03:00
你要去看到这里,这个时候就要看到这个API了。你得看我一步步怎么做,我先得是不是得有一个ul对象才行啊,那有ul是不是要六六的话,先要有个什么是不是路径啊,得到路径得到pass啊,得到路径好了,接着干嘛,创建ul对象对吧?URL对象好了,接着第三步。是不是得到一个打开一个链接啊,打开连接得到什么对象,Http ul connection对象能看到吧,好,有了对象以后,下面要做一些设置。啊设置这个设置呢,包含什么呢?啊设置请求方式对吧,还有设置什么啊设置连接超时还有了。
04:17
读取超时明白了吧,嗯,设置好了以后下面。干嘛,是不是连接服务器啊,啊连接服务器好了,接着。第六步,现在啊,我们的请求需要携带一些参数,参数在哪里面接代过去了。Pass啊B带上在这里面带上就可以了吧,带上参数啊,假设我们的参数呢,是这样的参数,我们开始这个里面不能瞎写,得看到我们的服务器端,我们服务端看能够接收哪些参数,是不他呀。
05:04
是这个吧,好,我们能接受这样的三种假设啊,是TOM11。把这个参数给带上去啊,好,来,接着来看下面我们还需要做什么事。那我们这个地方,嗯,看到我需要去得什么input吗?I'm out of。我需要写数据吗?写数据其实就是写请求体,需要吗?不需要,那既然不需要,那我就直接去取谁呢?大家看到取那个结果嘛,对吧?啊大家看啊。这里面。啊,相当于我这边只是想发送请求啊,发请求得响应数据可以吧,但这个过程呢,是需要一些过程的啊什么过程呢?来看一下,你先先得去得到是不是响应码呀,啊响应码,这个响应码必须是多少啊,必须是200才继续吧,你要不是200,那那你没继续再读了对不对?来继续读才读取好,那怎么读呢。
06:28
得不到什么才能读,是不是get一个得到一个input才能读啊,得到一个枢纽,你得到一个input stream你才能读数据。B。啊,那他是个牛啊,我最终想得到的是个什么类型的数据。是不是字符串呢?那怎么办?并读取成什么。是不是使了。
07:00
没问题吧,好,那下面这样我就得到数据了吧,那得到数据以后下一步。好吗?是不是显示,但是这个显示在哪个线上中啊。啊,这个时候来,这是第四大的第四步,在主线程显示结果吧,啊,得到的结果没解吧,好,除了做它还有一个事情需要做彝族Di。是吧,嗯,那整体呢,就是这样一个过程,下面我们就来一步一步做啊,这没有什么太大难度了,把它拿过来看下C。做没?
08:02
好,来看看。啊,第一步显示我们的dial,这不是小case吗?叫progress dialog啊,Dialogue啊,它怎么得到呢?很简单,就是它的一个静态方法点秀this对吧?Title怎么写?Title没有,它有一个message,我们只叫message就可以了,对吧?叫什么啊,正在加代中,正在请求中对吧?正在请求中吧。好了吧,搞定第一步,第二步我们要去启动分线程,这好吧,第一个thread。点start,好了,我们要有一个run方法是吧?大括号run重写可以了吧?好了,下面要执行我们的第三步,就在run方法中去干这些事,对吧?做我们第三步吧,好。
09:15
来一步一步来做,现在说做他。哎。把这里面的这些东西都都拿过来吧。先给他们呢,加上一些注释啊,加上注释料来看一下。来失距pass等于ET它,呃,不是这不,这是结果是吧?Ul点点text.to string加上一个什么问号必须就要写什么?内等于TOM1与上A等于11。
10:12
没问题吧,好,下面创建一个URL对象URLURL等于六,一个ul,传一个pass,好。这里面是不是有异常啊,这里面异常还必须得必须得补货了,把它全部给他干。串一起啊。暂示异常咱们不用处理,不用管它啊,就这么简单处理一下就拉倒把它呢放大一点,免得等会还有的好吧,来看一下打开一个连接,怎么说open connection返回一个好,他声明的时候是一个ul connection大概啊,但是我们这这是个抽象类型吧,对吧,那肯定不会返回他的对象吧,啊返回它的是它的实间对对象应该用什么http ul connection对象。
11:17
因为我们现在发的是什么请求。H球你看它都是这个地方用的下面这一个对吧。啊,它本身都实现,但是你不用再找它实现了,我们前面说过叫尽量的面向结合编程,但是啊,有人说为什么不用前面的了,如果你用它有很多参数没法设置。啊,在这个地方来一个connection,做一个长转好了吧,下面设置三个东西,第一个射麦的有吗。没有,它不叫麦,它叫请求麦,写什么?
12:01
Get。好,下面啊,来一个设置一个连接超时啊,Connect timeout啊,写一个时间,譬如说我就写一个五秒吧。嗯,好,下面还有来一个。读取set read timeout来写个,它写一个啊,这里面写一个差不多就行啊,比如说我写个六九吧,嗯。好搞定,下面选什么connection。Connect,好,下面我想要去得出去,首先呢,我要去得到那个响应码,就是response code等于connection。
13:06
找错了看点get response,这个response扣的要等于200是吧?200好来,如果等于200,那我才干下面的事情吧。看到了吗?好,下面事情来做呗。得到input string connection.get string。来返回的是一个。下面我要想办法把它读成一个字符串,这个前面不做过吗?用一个什么bit a read out of stream Bo等于new,一个bit a RY out of string,好,另两个东西bit宿组,嗯,B又一个BA,嗯,1024 int,一个N等于负一,好,对的Y来括号none等于。
14:22
is.read读读八是吧,啊不等于负一,那我就可以去写了,对吧。啊,写到这个BOOs.right写好写谁了?B从零开始写,写N的长度是吧。就写完了吧,写完了干什么事啊,我要得到那个结果,比如说result。等于BOOs.to好了。
15:02
现在需要关闭啊,做一些关闭的操作来关闭,关闭钮怎么关啊?BA把它先把关掉对吧?b.close还有一个is.close。知道吧,还有一个事情需要去做,要跟大家说一下,就是在这里面有一个C。关闭连,断开连接。这个别忘了,来把这一个给大家做一下。那断连接怎么断呢?也是非常简单的一个是。是不是可以了,好来下面我们的第三步计算做完了啊,第三步第四步在主线程要更新界面去。
16:10
那我做完了以后,我怎么回到主线程去更新界面呢?看看这里面我得到数据了吧,我得到数据了,那怎么去整呢?看看就这一步。是吧,咋做呀,大家看啊,我们在这里面可以做一个叫run on your thread是吧,等于又一个round的一项。是不是可以啊,嗯,好,就可以在这里面来做一下它。Yeah。那个我们的结果ET。啪,点set text等于result就可以了吧,这个result要是final类型的。
17:06
还有一个就是我们的dialogue要什么要移除dismiss。好,这个diallo呢,我们也是要是一个什么发类型的好了吧,嗯,好了。嗯。这个我们就搞定了啊下面。嗯。断开链接是在这个,诶断开链接写了啊没了吧,整个过程我们就做完了。好,回过头来看前面我们这一句话。干嘛呀,是不是权限呢,把这个权限给大家声明一下。这权限声明倒非常简单。来一个他。可以去添加一个。来将Internet。
18:01
ABC。谢谢。这不是吗啊?是不是有它的啊,这是一个干嘛的,联网的前线,好,整个我们就差不多了,但是有一个地方需要注意,现在我们请求是不是瞬间就能完成。本地请求我的服务器也在我的电脑里面,客户端也在我的电脑里面是吧,那咔嚓就就搞定了,那你可能基本上看不到那个那个记录条,不要慌咋办呢啊,为了能够有一个良好的一个效果,我得需要去睡一会对吧,睡一会来看一下啊。睡会怎么睡right点啊,来它这地方还要倒下喽,点sleep是吧,所以多长时间呢?两秒吧,两秒相对来说比较合适可以吧?嗯,在这里面呢,我为了能够让大家到时候能看到我这个被请求了,我需要在这里面写个打印语句。
19:17
好,这个还不能提示,不能不能去自动补全,我只能一个一个写,呃,Print in写一个什么呢?正在处理请求中啊,处理请求中点点点好了吧,嗯,好了。这个呢,不需要重新的去部署啊,它自动的会感应到啊,这个不用管它。好,来试一试,关键时刻到了啊。这个要成功了,后面就上路了。走呀。啊,这种人现在是个到了。
20:01
看看。拉到这边点一下网络存储。给他吧。我点。正在请求中。看看。是不是的啊。Get请求来看一下这里啊,是get请求吧,TOM1年龄是什么?11,而且我们可以看得到他的一个服务器端的一个输出。是不是有人在请求啊?为什么三个啊?那我咋知道这有人在请求吗?有同学在反问我,你看抓到一个了吧?这不一个吗?好,这样呢,我们就把get请求给大家原生的API给它做了一遍啊,其实这里面重点是步骤。就你把这个步骤搞清楚啊,就是晚填空的问题啊。
21:06
啊,还有一个小问题。就假设你不这么多人请求吗,咔嚓。我断了对吧,我再点。怎么回事啊?能连上吗?这连不上啊。好。你看现在是个怎么回事啊。我是不是一直在连着连着连着打开啊。这叫什么?Socket timeout exception什么意思?是不是连接超时了,那我我这个地方我咋不消失啊。What?
22:00
因为我这个地方是一个怎么回事啊,我这里面你看我的想法,我根本就没考虑这个事,对吧,我是因为我是在成功的时候才关,才把dismi掉吧,那我就想最后都dismis掉怎么办呢。你无论成功失败是不是都要撒,你可以在这面们等一下行不行?行不行?你跑了,如果你进入了99啊,这个开启里面了,你还进入这个92 91号92号吗。近不近?啊。什么?那分它可以再分线在了,刚好它就可以再分线在呢。是吧?本来这一个方法,它这个dialog是比较progress dialog比较特别的,它是可以在变线程去消失,去移除,去更新进度的。对不对。嗯,看一下说行不行是吧。
23:07
就有同学,我们说他看到这个现象,他就蒙圈了。是不是消失了?哎,他等待的时间是怎么来的呀?是不是我指定了时间呢?我指定了时间就是连接是不是就超时时间。嗯嗯,我这里面有一个补货,如果补号异常,我也会去把带路给它关掉,你甚至可以想办法显示一个提示都可以,那显示提示又又要用它。嗯,这里面我就不用了,我就直接dismis表就算了啊,嗯,好了,这说的是我们的一个请求大家注意最后这一步啊,别到时候忘了啊。嗯,好。
24:04
到此为止。
我来说两句