那么我们 htp 里面用的最多的请求方式就是 get 和 post 的请求,就是我们的这个请求参数,会在当前链接的后面进行一个挂载啊,进行一个挂载,然后呢我们的请求也是一样,会有一个回调,回调会去接收当前请求成功的一个一个一个一个 分数啊,来我们来试一下,也是直接页面一加载,我们就去请求这个地址, 请求这个地址呢?这个啊,请求地址,如果一旦请求成功,我们会在这个回调函数里面接收到请求的返回的数据以及当前请求的一个状态。那刷新可以看到我们当前请求的数据是一个扣的为二百,并且对它是 一个数组,长度为三的一个数组,我们当前请求的状态是一个成功的状态。那这是 get 请求啊,比较简单,第一个参数请求地址,第二个参数我们的一个成功回调,那这是 get 请求,方法也比较简单多了,表示的是我们的我们的一个啊, 解 curry 多了点 get 不调,用我们解 corry 里面的 get 方法啊,那这也是比较简单的一个方法。
粉丝3.7万获赞27.1万

哈喽,大家好,欢迎来到手把手教你学会安卓 app 开发,本期课我们来分享一下安卓中网络请求的 get 与 pos 的方法。 我们本节课主要了解到以下几点,首先我们要理解一下安卓网络浅缺的本质,也就是客户端与服务端的一个交互,他的目的主要是为了获取数据,而且有个前提是要获取一些符合条件的数据, 也就是说要获取一些客户端想要的数据,不是说啥数据都要要的,他要告诉服务端我想要哪些数据。 第二点是我们要理解 ui 与 url 这样两个嗯概念吧,做一个区分,其实大多数人都会说 uii url 一会 uri 一会 url 的,那么他们俩到底有什么区别,或者指的到底是什么呢?最后我们来分别了解一下 get 与 pos 的请求。 首先我们来理解一下 uri 与 url, 我们先看一下这些缩写,他的一个全称 url, 它是 uniform、 resource、 locator 这样三个单词的首字母缩缩写, 翻译过来就是统一的资源定位器,其实啊,他就是指的是网上的一个资源的一个定位的标志, 也就是网络地址。我们通俗点来理解,他就是只标明了一个网络资源他在哪个地方,因为我们所请教的数据都是 在网上的,我们所说的在网上他那个范围特别特别大,这样我们去找东西的话,你得知道他在哪啊?去找人的话你得知道他家住哪里,家里的门牌号是多少。对于网络资源也是一样,我们每一个网络资源他都会有一个自己的独有的地址, 而 uil 就是一个统一的对资源的这样一个描述的,对他的定位的一个描述的一个称谓,所以叫 uil。 我们常见的百度去访问一下百度三 w 的百度的康姆,他其实也是一个,就是百度的首页,他这个网页也是一个资源, 那么这个三门 w 的百度的康姆就是他对他这个资源地址的一个描述。那么我们来看另一个 uri u i l 可能大家听的多一点, u i i 相对比那个更少一点吧,它也是三个单词的缩写, uniform, resource, identifyer, identify 就是区别辨别的意思, 可以翻译成是,这里翻译成标志符,其实就是这个意思嘛。英语是一个不重意思,重感情的一个语言,就是就是这种感觉用来标志的标志,这个是啥,那个是啥。而和它和 uil 的区别,它是 locate, 就是 location, 是位置。 他更倾向于一个非常具体的东西,就是地址是啥,这个是一个标志,标志符他表示的是外部上,也就是说也就是网上的每一种可 资源,比如说文档啦、图像啦、视频啦等等,甚至是程序,所谓的程序就是一些文件,比如说 gs 文件,还有些其他的 css 样式文件等等。 这里举了两个例子,一个是这种,关键的是最后这个后缀,像我们都知道这个点 gpg 是表示了一个图片的格式,包括这个点 png, 没错,这样的 ul, 它就是对网络上的某张图片的一个地址的描述, 可以说他是一个 u i r, 也可以说他是一个 u i。 因此我们可以有这样一个结论,就是说 uil 其实是 uii 的一种, 我们只要记住这个结论就行了,他俩其实这是一个东西,只不过 url 是对网络资源更宽泛的一种 描述,而 uil 它是一个位置嘛,是我们对网络链接最常见的一个说法,更多的指的是这种三 w 点开头的 agtp, 三 w 什么什么通常就是 uil, 而 uri 还可能包括其他类型的,你比如说什么 fio, flfio, 冒号,然后斜杠啥啥啥,他前面的这个东西不一样,这前面这个东西叫做斯 game, 一个协议头啊,这个我们后面会讲, app 是其中一种, ui 就是对这些所有的所有的一种总的概括。好,接下来我们来看一下盖的请求。 说到这个请求,其实这种 agtdb 请他就属于 agtdb 请求的一种。我们说 我们最开始说我们要理解网络请求的本质是客户端与服务端交互,客户端向服务端发一个请求,那么为什么还会有什么盖的请求,碰瓷的请求这种区分呢?其实不仅仅是这样,不仅仅有这两种类型,还有更多的,一共有六种呢, 我们这里只需要了解最常见的两种 get 与 pos 的就行了。之所以会有这样不同的区分,是因为 客户端向服务端发起请求的时候,他是有不同的需求的,他不仅仅是客户端向服务端要数据,还有可能是客户端向服务端发数据。 所以从这个单词的意识上,我们其实也能够大家大大概的推测到一点, get 嘛,就是获得的意思,可得到获得 盖的这个单子。所以所谓的盖的请求,他的目的是从服务端获取数据,而且是获取符合条件的数据。 这里举了个例子,这是一个天气预报的 api 的一个例子,前面这一层串我们常见的我们说什么一个链接是啥,后面还会跟了一些这个, 这个后面就是参数。所谓这个后面的带的这些东西,就是客户端向服务端发送的一些他的条件,他要获取一些资源,是吧?你得告诉他我要哪些资源。所以客户端不可避免的要给服务端传递一些数据, 也就是给他提出一些条件,就是我想要这这些条件符合这些条件的数据。 因此这就是 get 请求的一个结构,他不仅仅是 要从服务端 get 到数据,他还要把少量的一些条件传递给服务端, 所以他其实是一个交互的过程,但是主要他的目的是为了从服务端拿回数据,而且拿回来通常要很多很多的数据,而给服务端传递的通常是少量的这些条件类型的数据。我们来看一下,剖析一下 url 的各个组成部分吧。 httb, 这个我们把它抛开。这前面这这段就叫 sky, 翻译过来是一个协议的意思, 我们常见的就是 http 和 https 加 s 的就是带安全的 一种啊。后面这个就是我们常常所说的他的域名及端口,这个端口通常是隐藏的,我们常见到什么三 w, 百度的康姆,这个就是他的域名,他还有另一个名字叫 house, 主机的意思, 和这个域名冒号加端口号,这个连起来,他的完整的东西其实是一个啊。 sorry, 类似于一个什么官方的意思就是,嗯,没法去翻译,但是我们只需要知道他是这样一个组成部分就好了,后边这个端口号通常是省略的。 好,我们再看后半段,然后下面后面又跟了一个斜杠,跟着什么福瑞得这样呢?斜杠拼接的 一个东西,这个就叫路径。怕死门前面这个部分就标识了一个呃,服务端的他的一个,他的一个门户相当于是但是他这个你进到他这个门户里面之后又会有多个分支,你是要进到他的登录页啊,还是要进到他的注册页面啊? 还是要获取他的他某些列表啊?不同的路径就对应了他的不同的页面吧。所以说这里还有一一个部组成部分叫路径。 通过这前三部分,前前三个部分的组成就构成了有个资源的一个一个定位了, 而后面还会有一个问号,这一个分割,注意问号后面有个分割,然后后面所带的就是一些条件了。 我们知道对一个资源,比如说一个数据库,他你找到这个数据库所在的位置了,那么你怎么 获取到他他符合条件的一些东西呢?比如说一个数据库是一个学生的列表,你只想要获获取那个年龄大于二十岁的一个学生列表, 对不对?你得告诉他吧。所以后面还是需要一些拼接条件的,而这些条件就是我们之前在讲课程中说的,我们会常常用到的一种结构,叫间值。对, 我们在 itative 的跳转的时候说用那个剑之队去传过去,还要我们传一个迈步的时候,迈步本身就是一个剑之队, 这里又用到了剑之队这样一这个结构,可可以看出这个剑之队用应用是真的是特别广泛,这里他其实他也是一个剑之队的形式。 前面这个是可以说是建 c t i d 等于一零一零,也就是说 c t i d 这个属性是一零一零的这样一条信息,并且后面有一个这样的一个符号,这个符号其实是和的意思,就是与并且的意思, 并且 ct 的内幕是北京,然后并且日期是这一天, 所以通过这样的形式就可以把这些符合这三个条件,同时满足这三个条件的信息 传递给服务端,服务端根据这样的条件去查询啊,拿到符合这种条件的数据给你返回过来 啊。这就是盖的请求的一个常见的形式,前面是一个路径,后面问号后面会拼接一些参数,这是盖的请求,那么我们再来看 pose 请求, pose 的请求从这个名字上来看,我们来看一下他的翻译,他就是邮寄,邮递有抛出提交的感觉,所以他也表明了他的目的其实就是像服务团提交出去的,他的主要目的是提交,而不是获取。 我们举个例子,就是我们在做用户注册的时候,会填一些信息吧,表格里面比如说姓名、性别、年龄、电话等等等等,要填好多,然后最后点个注册,这个就是要提交给服务端, 服务端的数据目的主要是向服务端传数据,当然他也会,他给服务端提交之后,往往也会服务端也会给他一个响应, 比如说提交你传输的那个是那个网络,是传输成功了还是失败了,服务单通常还会给他一个返回,就是一个返回码。这种场景下, 我们向客户端,向服务端提交的其实就是大量的数据,而服务端返回过来的通常就是一个小片段的数据,一个一个,那个响应码,外加一条什么信息吧,侧重点在于提交,而返回来的是少量的数据。 好,这里稍微做了一个对比,盖的请求是这样的,参数拼接在这个链接的后面紧跟着问好,然后后面直接把参数要要 那个传的数据给拼到后面给服务端。而 pose 的就不一样了, pose 的只有前半段,而后半段他要传的这些数据,因为是大量的数据, 这些很多很多数据,性别,性别什么等等等等,油箱特别特别多,你要是都像盖的请求,像拼到这个后面的话,那你可能要拼好多好多,甚至都都拼不完, 都写不完,而且也特别麻烦。所以像这种数据都会用一个麦谱,用一个表单这样一个数据结构单独去做。也就是类似于我们之前讲那个 艾特在跳转的时候传递那个数据,我们打包成一个邦斗,跟那个是类似的,就把这些数据包装成一个数据结构,然后给他设置进去就行了,这样的话就 可以,嗯,不像这样一个一个拼了,而且这个写起来也比较容易出错,也是有限的,所以这种是适合于 pos 请求的。 好,最后我们再来做一个简单对比,盖的请求, pose 的请求,盖的请求主要是从服务端获取数据的, pose 的主要是向服务端提交数据的,在盖的的时候当然也会向服务端发送少量的数据,通常是请求参数,也就是一些条件。 pose 的请求呢,也会收到来自服务端的少量的响应数据,比如说提交成功了或失败了这样一个告知的数据。 我们再来看一下后一个主要的不同,就是携带参数的方式不同,盖头是拼接在 u r 后面的,而且拼接的这个参数是有限并 是比较少的。而 pose 的是单独放到一个麦谱这样一个结构中呢,他可以传递大量的数据啊。接下来我们再来大码中来看一下吧。

你简历里说你了解 hpb 协议是吗?是的,面试官。好,那你说一下盖子和 pos 的方法有什么区别呢?呃,盖的是从服务器上获取数据, pos 的是向服务区域传送数据,我了解,还有吗?嗯,没有了。嗯,你这个呢,只是从单词字面意思说了一下,大家同步完善。 最常见的也是 ktv 协议的请求方法就是盖头和 pose 的,我跟你说一下,看这有什么区别啊。一、盖子请求的参数是放在 uil 里面,而 pos 的请求的参数呢,是放在请求题里面的。第二,盖子请求呢,可以为浏览器缓存,而 pos 请求呢,是不能被缓存的。 第三,盖子请求参数因为放在 u l 里面,而因为 l 的长度受限的,他最大的是二零四八的用户,而 pos 的长度呢,是没有限制的。第四,同样是因为盖子请求的参数放在 u l 里,所以呢,他安全性比较差, pos 的请求 下就能放在包袋里,安全性相对就好一些了。最后一点,第五,盖的请求呢,可以通过浏览器直接访问,支持刷新和后退。 pos 的请求呢,是不能被浏览器直接访问的,刷新后数据需要重新传送,明白了吗?啊,真香。

好了,接下我们了,继续来介绍啊,我们来看哪个方法呢?打开我们的文档, 然后呢,在这里面呢,我们刚刚看到这个哈西扣的啊,我们再来看一下,上面有一个叫做 get 的方法。来,我们看下这个方法啊。来看这个方法。这个方法描述呢,帕布那个 flil clussil 类型的啊,我们刚看到那个什么哈西扣的他,他什么 普通方法。而我们现在看到这个盖子可拉丝方法,他是个什么 face 类型,那也就意味着什么,意味着我们是不能够 重写他的。来看一下啊。那么这个盖子格拉的方法呢?返回此对象的运行时类, 返回的克拉斯对象是由所表示类的什么这个 style 生根带的方法 锁定的一个对象对吧。后面这一块呢,可能看的看的去吧,看的就比较模糊。注意啊,实际结构类型的是什么呢?这里面用到了我们后面要讲的一些发型。注意一下发型在这里面啊。那这块我们直接干嘛呢?直接来看下效果啊。这让我们现在记录下 第二场克拉斯 好。那么这个方法的含义呢?在这里面描述啊,返回此类型的,返回此类所对应的这个运行时。 然后他的定义呢?让我们可以干嘛?我们可以进到二部件里面来看一下啊。看一下这个第二次克拉斯方法 对吧,他这个快乐类型的啊,他的定义 八个类型的。在这里面啊,好,那么他返回是一个类型的。我们看一下啊。我们在这里面呢,举个例子, 是一个克拉斯,一个 op, 不是 op 啊,是欧博建筑厂 dm 零三 对吧。然后呢,在这我们可以给一个呃克拉斯扣 对吧别类型的证明啊。然后呢,我们来看一下。那么我获取个对象扣二,对象等于六一个扣 对吧?那这样你也可以干嘛呢?你也可以偷懒一下对吧?就这写一个啊,不是偷懒 啊。用了多碳等于另一个靠,对吧,这也是可以的啊。那么在这边呢,你可以输出 sos o。 然后来看对吧点怎么了? get 克拉斯,你看他返回是一个什么?返回是一个克拉斯类型对吧?这样可以打印。然后呢,我们也可以干嘛呢?呃,克拉斯 c 一等于靠。点 get 好来看一下啊。 在这里面呢,这有些黄色警告啊。我们这个呢,没警告是因为没有使用这呢,我们要干嘛来?给他去添加对应的那个方形,注意啊,添加方形啊。那么靠点盖的克拉斯。那么这个方法呢?会返回一个什么?返回一个我们所讲的啊,当前这个靠他所对应的那个什么了, 对应的那个类型。这呢是哦,不介绍。那个 oe 也一样啊。然后克拉斯欧一啊, c 二等于 oe。 点 get 克拉斯 对吧。然后在这边呢,我们可以打印出什么呢?打印出来这个 c 一对吧。然后呢,再打印出来这个 c 二。好,我们来看看效果啊。先来走。然后呢,你你会发现打印出来这个 c 一呢? c 二呢? 也是靠你看克拉斯,靠猛波波哦,不介绍。靠对吧。这里面就打印出了什么?打印出来了,这个对应的这个类型的全是路径。而他所对应的类型呢,你可以在 app 里面 才能看到啊。他讲的返回的是一个什么呢?返回的是一个运行的一个克拉斯,而这个克拉斯呢,我们在这里面呢看一下有个克拉斯类型,你点开他,点开他之后呢,你看这里面是什么? t 克拉斯也是由此克拉斯对象创建模型的类的类型。 那么像什么?史俊,克拉斯类型的就是史俊对吧,那么认为他提供的有很多的一些方法在这里面有一个方法啊,叫什么呢?叫 改成 太多了啊。这个里面是我们后面再讲反射的时候,我们要详细给大家去介绍的一块内容啊,这一块呢是什么呢?呃, 就是反射中我们会详细介绍怎么了?介绍这个克拉斯 对谁在这了,我们就指示干嘛了,指示的了解一下奥博健身名所提供这个克拉斯类,注意啊这个方法啊。然后这呢他有一个点 gis 内蒙方法,因为刚才 ap 里面太多了,我们没找到,我们直接呢把它打印出来啊,点 girl 内蒙。而这个这个方法的作用注意啊, 来看一下,直行一下啊,来走 又卡掉了。这个 excex 就是这样,会有一点小问题在这里啊,我们需要把它关了, 来我们再咨询一下啊。 来看一下同样的 打印出来是一个什么?你看是我们打印的这个类型所对应的船类路径名称 对吧,也就是盖茨纳姆啊,或许是当前对应的这类型的船类路径名称就是这一块啊, 这个比较简单,这样我们就快速的过掉了啊。 好,这个是跟着克拉斯没什么啊,这个级别非常简单的一个方法啊,就是干嘛,就是获取当前对象所对的那个什么类型哎,就可以了啊。好,这是这里。

请你说一下盖子起球和 pose 起球的区别啊,我只是车速过,没有质感和发生区别。 区别主要如下这样干请求,他的一个请求数据一般都拼接在 ur 地址后面,是明文显示的,而且他的长度有限制。他的一个安全性呢,不如 pose 请求的高,但是他的执行速度会高于 pose 的方式。一般呢,他会用于我们的数据查询的这种场景中。 我们的 pose 的方式他有一个请求数据一般是放在 hpp 的请求体中,也就是我们说的玻璃体重啊,他的一个数据长度是有提升限制的,而且他可以是铭文显示,也可以是逆纹显示,他的数据安全性会比较高。所以呢,这种方式一般的应用场景是用于提交数据或者是优感数据的产品中。



比 luco 更加好用的查找函数就是这个 deget 函数,他不但可以正向查找,还可以逆向查找,还可以多条件查找,不管是两个条件,三个条件,甚至更多都可以,我们来尝试一下,等于低至一体回车,选择查找范围 多好,选择返回数据多好,选择查找条件回撤,这结果就出来了,相当快捷简便。

了解一批协议是吧?那你说一下 get 和 pose 有什么区别? get 主要是用于服务端获取数据, pos 请求只是将数据发送到服务端。呃, 这个回答呢,明显不够完善。这个题目呢,虽然比较简单,但是面试官最喜欢了,我们可以从以下几个方面补充一下。首先,第一个呢,就是 get 请求,他的数据是放在 usl 当中的, 所以呢,有长度限制。而 boss 的请求呢,他的数据是放在请求底包里当中,所以没有长度限制。第二呢, get 请求的安全性不如 pose, 但是传出速度呢,比 pose 快。 第三呢, get 请求可以少产生一个 tcp 包,相当于一次性到货,但是呢, pose 需要两个。第四, get 请求可以被缓乘,但是 pose 不能。最后 get 请求呢,是可以被反复刷新的,但是 pose 如果刷新的话呢,就会重新提交数据。

面试的时候很多同学说不清楚盖的请求和 pos 的请求的区别,那这个问题是一个比较基础的问题,但是真的要把它说的清楚,说的完整还是有一定难度的啊。盖的请求呢,主要是用于从服务器端获取数据, pos 的请求主要是将数据发送到服务器端,那主要区别呢,就是盖的请求可以刷新啊,刷新也没关系, pos 的请求如果刷新的话就会被重新提交啊。 第二呢就是盖的请求可以在书签里去收藏啊, pose 请求不能收藏。第三呢就是盖的请求可以被缓存, pos 的不能。第四啊,就是盖的请求的数据长度是有限制的,因为他是放在 uio 里边的,那 uil 通常是限制在二零四八的字符, pose 的进球就没有长度限制啊。第五呢就是,呃,与 pose 的相比呢,就是 get 的安全性比较差,因为他是在 url 里边能看到啊。在面试 过程中经常遇到的错误呢,就是第一说 pose 的请求啊,数据是加密的啊,这个是错误的。第二呢就是认为 url 引扣的是对数据进行加密啊,这个其实他只是进行了编码,并没有加密啊。 第三个错误呢,就是说 pose 的请求的数据是在 hader 里边的,其实不是在 hid 里,在 boode 里边。第四个错误呢,就是说钙的请求只能够获取数据,不能提交数据,那其实他通常是用来获取数据,但他也可以提交数据。