Android应用开发基础教程课件第11章 网络编程.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Android应用开发基础教程课件第11章 网络编程.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android应用开发基础教程课件第11章 网络编程 Android 应用 开发 基础教程 课件 11 网络 编程
- 资源描述:
-
1、 HTTPHTTP协议协议Handle消息机制原理消息机制原理 AsynctaskAsynctask网络状态网络状态 HttpHttpURLCURLConnectiononnection访问网络访问网络数据提交方式数据提交方式JSONJSON解析解析本章小结本章小结目录一、HTTPHTTP协议协议WWW是以Internet作为传输媒介的一个应用系统,WWW网上基本的传输单位是Web网页。WWW的工作是基于客户机/服务器计算模型,由Web浏览器和Web服务器构成,两者之间采用超文本传输协议HTTP进行通信。HTTP协议时基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层的协
2、议,是通用的、无状态的面向对象的协议。一、HTTPHTTP协议协议例如在日常生活中,当人们想看新闻时在手机浏览器输入,即可进入网易新闻,此访问过程是通过 HTTP 协议完成的,手机端访问服务器端的图解过程如图 11-1 所示。图11-1 HTT请求与响应二、二、HandleHandle消息机制原理消息机制原理在Android系统整体优化性能的考虑,Android的UI操作是线程安全的,这样导致有多个线程并发操作UI组件时,可能出现线程安全问题。当应用程序启动时,会开启一个主线程(也就是UI线程),由它来管理UI,监听用户点击,来响应用户并分发事件等。所以一般在主线程中不要执行比较耗时的操作,如
3、联网下载数据等,否则出现ANR错误。二、二、HandleHandle消息机制原理消息机制原理注意:线程安全是指多线程访问时,采用加锁机制,当一个线程访问该类的某个数据时,对数据进行保护,其他线程不能进行访问,直到该线程读取完,这样做的目的是不会出现数据不一致或者数据污染。线程不安全是指多线程访问时,不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据可能是脏数据。二、二、HandleHandle消息机制原理消息机制原理Handler 类主要做两件事:一是在新启动的子线程中发送消息;二是在主线程中获取、处理消息。主线程处理新的子线程发送过来的消息,主要是通过回调方法来实现程序开发者
4、重写 Handler 类处理消息方法,当新的子线程发送消息过来后,消息会与关联的 MessageQueue绑定,而 Handler 将从 MessageQueue 中获取消息。二、二、HandleHandle消息机制原理消息机制原理Handler机制主要包括4个对象,分别是Message、MessageQueue、Handler、Looper。Message:包含描述和任意数据对象的消息,用于发送给Handler。它主要在不同线程间进行数据交换。MessageQueue:是指消息队列,它主要用来接收Handler发送过来的消息,这些消息存放在MessageQueue中等待处理。Handler:
5、是指发送消息与处理消息的对象。Looper:是每个线程中的 MessageQueue 管理者。二、二、HandleHandle消息机制原理消息机制原理Handler 处理消息的步骤如下:(1)在 Activity 中声明 Handler 对象,然后重写 handleMessage()方法。(2)在新启动的线程中调用 sendMessage()或 sendEmptyMessage()方法向 Handler 发送消息。(3)在 Handler 对象中使用 handleMessage()方法接收消息,然后根据消息做后续操作处理。二、二、HandleHandle消息机制原理消息机制原理Handler
6、的常用方法及说明。方法方法说明说明void handleMessage(Message msg)消息发送后在这个方法中接收处理boolean sendMessage(Message msg)发送消息到 Handlerboolean sendEmptyMessage(int what)发送只有一个 what 值的消息boolean sendMessageDelayed(Message msg,long delayMillis)延时发送消息void removeMessages(int what)删除消息/取消定时消息表11-1 Handler 的常用方法二、二、HandleHandle消息机制原
7、理消息机制原理当 MessageQueue 有消息进来时,将它取出并传递给 Handler 的 handleMessage()方法。在主线程创建 Handler 对象时,系统已经创建了Looper 对象,不需要程序开发者手动创建。Handler 消息处理流程如下图 11-2 所示。二、二、HandleHandle消消息机制原理息机制原理从图 11-2 可以看到整个 Handler 消息处理流程。先在 U I 线 程 中 创 建 一 个Handler 对象,然后在子线程 中 使 用 H a n d l e r 的 sendMessage()方法,接着将此消息存放到 MessageQueue 中,
8、之后使用 L o o p e r 对 象 取 出 MessageQueue中的消息,最后发送给Handler 对象的 handleMessage()方法做后续操作处理。图11-2 Handler 消息处理流程二、二、HandleHandle消息机制原理消息机制原理【例11.1】通过Handler实现每隔1S钟更换一个TextView背景色一次,并在TextView中设置文字显示的内容为当前的颜色。【说明】本例主要使用两个类,一个是继承 Activity 的类,在其中声明 Handler 对象,并重写 handleMessage()方法,在此方法中根据消息的值来更改 TextView 背景色以及
9、文字的内容;另一个是继承 Thread 的类,并重写 run()方法,在此类下使用 sendEmptyMessage()方法向 Handler发送消息。二、二、HandleHandle消息机制原理消息机制原理【运行结果】在 Eclipse 中启动 Android 模拟器,接着运行 Handler_test 项目,显示效果如图 11-3 所示,点击“启动”按钮后的效果如图 11-4 所示。图11-3运行效果图11-4 点击“启动”后效果三、三、AsynctaskAsynctaskAsynctask是抽象类,创建一个类继承此类时,可以指定三个泛型参数,这个三个参数的作用分别如下:Params:在执
10、行Asynctask时需要传入的参数,用于后台任务中使用。比如HTTP请求的URL。Progress:在后台任务执行时,如果需要的界面上显示进度,此参数将作为百分比。Result:后台执行任务最终返回的结果,比如String类型。三、三、AsynctaskAsynctaskAsynctask 的执行过程分以下四个步骤,每一步对应一个回调方法。(1)onPreExecute(),此方法在执行后台操作前被主线程调用。可以在此方法中做一些前期准备工作,如显示一个进度条。(2)doInBackground(Params),此方法在 onPreExecute()方法执行后马上执行,在后台线程中运行,这里
展开阅读全文