今天Pei讲了一个android获取json数据的方式吧

代码什么的没看懂,反正知道就是那么一回事,用AsyncTask线程来获取json数据,我也不知道这样说对不对

估计以后回过来看的时候会发现一大堆的错,反正不管了,今天学到的就这么多,Pei老师的英文听的也是半懂半不懂的

然后自己琢磨了下还是半懂半不懂的,心累!

这个是API链接

你可以在上面找关于movie的信息,引用百科的话:

OMDB API

此接口的作者为 Brian Fritz,是之前 The IMDB API 接口的作者,因为受到 IMDb 官方的要求而更换了域名,是较早一批提供 IMDb 数据检索的服务(RESTful 接口)。
在英文世界,该服务有较高的知名度。
该接口支持JAVASCRIPT调用。
不过国内也有一个,如果你不懂英文的话,可以看看这个:

MDb API ORG

此接口由国人开发[2],是一个轻量级的Web服务(RESTful
接口),它提供一种 IMDb 数据的有效访问方式。就像前面说的一样,虽然IMDb的数据可以在官网上免费下载,但是却没有提供一个很好的 API 来检索这些信息。此 Web 服务旨在一定范围内解决这一问题。[3]
此接口相较于其它接口具备以下特点:
1) 支持中文译名检索
2) 支持中文数据返回
3) 支持JAVASCRIPT调用接口(可以使用 AJAX 技术直接获取结果,非 JSONP 方式)
4) 返回的数据字段更丰富
5) 支持多条结果返回
6) 请求限制宽松
此接口是唯一支持中文检索的 IMDb API。
另外说说这个网站:
Pei老师知识果然博大精深,原谅我不知道这个网站,以后再也不用担心找不到好看的电影了,瞬间高大上
顺便说下,OMDB API的作用,其实很多情况下,你不能直接从IMDB上获取信息,套用官方的话来说:
IMDb的数据在官网上可以免费下载,可惜的是免费提供下载的数据是文本格式,不能检索。为了使IMDb的数据能够被更多人使用,许多开发人员用各自的方法实现了不同的
API
所以在OMDB上,你可以检索Movie的信息,然后你可以应用到android上去,不过太具体的作用我也不是那么清楚,too young too simple
上午之前Pei一直在讲AsyncTask的应用,这是个异步任务,通俗点来说就是android里面的多线程,第一次接触这个,看里面实现的代码,都可以看得懂,不难,这里附上一个链接,讲解这个的
还有一个非常基础的知识:
一个异步任务的执行一般包括以下几个步骤:

1.execute(Params... params),执行一个异步任务,需要我们在代码中调用此方法,触发异步任务的执行。

2.onPreExecute(),在execute(Params... params)被调用后立即执行,一般用来在执行后台任务前对UI做一些标记。

3.doInBackground(Params... params),在onPreExecute()完成后立即执行,用于执行较为费时的操作,此方法将接收输入参数和返回计算结果。在执行过程中可以调用publishProgress(Progress... values)来更新进度信息。

4.onProgressUpdate(Progress... values),在调用publishProgress(Progress... values)时,此方法被执行,直接将进度信息更新到UI组件上。

5.onPostExecute(Result result),当后台操作结束时,此方法将会被调用,计算结果将做为参数传递到此方法中,直接将结果显示到UI组件上。

在使用的时候,有几点需要格外注意:

1.异步任务的实例必须在UI线程中创建。

2.execute(Params... params)方法必须在UI线程中调用。

3.不要手动调用onPreExecute(),doInBackground(Params... params),onProgressUpdate(Progress... values),onPostExecute(Result result)这几个方法。

4.不能在doInBackground(Params... params)中更改UI组件的信息。

5.一个任务实例只能执行一次,如果执行第二次将会抛出异常。





json数据获取的更多相关文章

  1. python flask里 post请求,JSON数据获取方式总结

    #!flask/bin/python #encodig=utf-8 # _*_ coding:utf-8 _*_ # Writer : byz # dateTime : 2016-08-05 from ...

  2. $.post和jquerySubmit返回json数据获取的区别

    $.post("/patrol/patrolDataContent!deleteContent.action",{"ids":ids},function(dat ...

  3. Android学习笔记之Json的使用....

    PS:当你的能力还驾驭不了你的目标时,那你需要沉下心来历练... 学习内容: 1.Json的使用... 2.Json信息过滤... 3.从网络上获取Json数据... 4.解析Json数据获取各个属性 ...

  4. JSON三种数据解析方法(转)

    原 JSON三种数据解析方法 2018年01月15日 13:05:01 zhoujiang2012 阅读数:7896    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

  5. [JSONObject/JSONArray] - 定制的JSON格式返回

    当前开发的程序中.因为抛弃了jsp的渲染,改为thymeleaf,并在比较厉害的前端进行数据json的渲染无误后,得出此json数据返回. 以往的Map<String,Object>返回j ...

  6. IOS开发--解析复杂json数据

    json的自我介绍:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅 ...

  7. 使用Javascript Ajax 通信操作JSON数据 [下]

    上一篇文章我们获得后台数据库的数据后转换成json格式然后返回到前台,但只是返回的一位数组,这次我们返回二维和三维数组和对象. 前台代码shizhan.html: <!DOCTYPE html& ...

  8. pyhton 从web获取json数据 保存到本地然后再读取

    从web中获取json数据直接进行处理总认为太慢.主要是从web中获取获取数据的过程有点慢. 所以就在想 假设先利用空暇时间把json数据获取并保存到本地,然后再从本地文件里读取和操作.应该就要快非常 ...

  9. 爬虫——简单处理js中嵌入的json数据

    看了群里一个人提问道https://www.amazon.com/,商品分类那里无法用xpath拿得到列表.遂对其研究. 通过抓包工具可以得知,原始数据存在于js代码中,我的方式是手动解析js,从里面 ...

随机推荐

  1. ServiceStack.OrmLite

    ServiceStack.OrmLite 谈谈我的入门级实体框架Loogn.OrmLite   每次看到有新的ORM的时候,我总会留意一下,因为自己也写过一个这样的框架,人总是有比较之心的.我可能会d ...

  2. java线程同步问题

    Java面试当中,线程可以说是必考内容,在看面试题的时候发现一遍很全的讲解Java面试题的博客:http://blog.csdn.net/csh624366188/article/details/80 ...

  3. 杂谈之不同行业的Solr

    杂谈之不同行业的Solr 前几天去一家互联网创业公司面试搜索引擎开发工程师,结果被pass了,仍不住想来吐槽下.尽管当时面试没啥准备,也没表现好,但是也学到了不少东西.现在就随便吐槽一下吧. 本人是在 ...

  4. kd树的构建以及搜索

    构建算法 k-d树是一个二叉树,每个节点表示一个空间范围.表1给出的是k-d树每个节点中主要包含的数据结构. 表1 k-d树中每个节点的数据类型 域名 数据类型 描述 Node-data 数据矢量 数 ...

  5. Android的5个进程等级(转)

    1.foreground process     正处于activity resume状态     正处于bound服务交互的状态     正处于服务在前台运行的状态(StartForeGround( ...

  6. sphinx coreseek SetSortMode(SPH_SORT_ATTR_ASC, '') 对float 排序设置bug

    when I use SetSortMode(SPH_SORT_ATTR_ASC, 'floatVar'), it works unexpectedly. for example, I have a ...

  7. POJ3295 Tautology(枚举)

    题目链接. 分析: 最多有五个变量,所以枚举所有的真假值,从后向前借助于栈验证是否为永真式. #include <iostream> #include <cstring> #i ...

  8. 元素水平垂直居中(transform,margin,table-cell,jQuery)

    1.水平居中 .div{ margin:0 auto; (或者 margin:auto;) width:500px; height:300px; } 2.使用margin水平垂直居中 方式一: .di ...

  9. 彻底解决Unknown ASTNode child: LambdaExpression 错误

    错误原因:        在于 androidStudio lint检查的时候 会把Lamda表达式 认为是错误的.解决办法:    1.打开项目中中的lint.xml改为如下格式: <?xml ...

  10. Android 各版本信息 (维基百科)

    The following tables show the release dates and key features of all Android operating system updates ...