今天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. Extjs中numberfield小数位数设置

    在默认的情况下,使用numberfield控件时只会显示两位小数,有的时候需要根据业务来确定显示小数的位数.通过设置下面的属性可以达到我们想要的目的: text : '存煤量(万吨)', dataIn ...

  2. Smarty 模板引擎 fetch()和display()函数的区别?

    Smarty模板函数里面有这样一个方法:fetch("template.htm"),他和display("template.htm");最大的不同就是fetch ...

  3. 【转】.NET开发者必备的11款免费工具

    摘要:本文介绍一些最适合.NET开发人员简化Web开发的最佳工具,这些工具都是开源的,有的开发工具你既可以从网上下载可执行文件,也可以下载源代码.一些工具拥有可扩展的框架,是一个持续集成工具. 原文链 ...

  4. mongodb3.2系统性学习——4、find()操作

    find 操作语法展示: find()操作实例 : //连接数据库 dbService = connect("localhost:27017"); //选择插入集合 db = db ...

  5. JQuery学习笔记【CSS选择符】--02

    Jquery的程序入口: <html> <head> <title></title> <script type="text/javasc ...

  6. C#程序中将图片转换为二进制字符串,并将二进制字符串转换为图片

    /// <summary> /// 将图片以二进制流 /// </summary> /// <param name="path"></pa ...

  7. traceroute命令

    traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置. 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次 ...

  8. 针对上一篇文章中的代码,想出的重构方案(python实现)

    #!/usr/bin/env python class Processor: def __init__(self, processor): self.processor = processor def ...

  9. 【技术贴】xp任务栏字体变大变小

    今天远程到服务器上,发现任务栏字体变小了,百度了很久,发现百度就是个渣渣,什么答案都搜不到.就自己摸索了一下. 方法一: 桌面右击属性-外观-字体大小, 下拉匡 方法二 :桌面右击[属性]-[外观]- ...

  10. poj 2195Going Home

    http://poj.org/problem?id=2195 #include<cstdio> #include<cstring> #include<cmath> ...