私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第九章 看看精彩的世界——使用网络技术

第九章 看看精彩的世界一使用网络技术 主讲:王海
第九章 看看精彩的世界--使用网络技术 主讲:王海

本章目标 了解网络编程原理 了解基于TCP协议的网络通信机制 能够熟练使用HttpURLConnectioni进行网络通信 能够使用WebViews组件浏览网页 Android软件开发 主讲:王海
Android软件开发 主讲:王海 本章目标 • 了解网络编程原理 • 了解基于TCP协议的网络通信机制 • 能够熟练使用HttpURLConnection进行网络通信 • 能够使用WebView组件浏览网页

网络编程 Android完全支持DK本身所提供的TCP、UDP网络通信的API,也支持URL、 URLConnection等网络通信API Android中常用的网络编程方式: √针对TCP/IP协议的Socketi和ServerSocket √针对HTTP协议的网络编程,如HttpURLConnection和HttpClient √直接使用WebKiti访问网络 Android软件开发 主讲王海
Android软件开发 主讲:王海 网络编程 • Android完全支持JDK本身所提供的TCP、UDP网络通信的API,也支持URL、 URLConnection等网络通信API • Android中常用的网络编程方式: 针对TCP/IP协议的Socket和ServerSocket 针对HTTP协议的网络编程,如HttpURLConnection和HttpClient 直接使用WebKit访问网络

TCP协议 TCP/IP协议规范了网络上的所有通信设备之间的数据往来格式以及传送方式 TCP/IP协议提供一种数据打包和寻址的标准方法,可以在Internet中无差错 地传送数据 TCPP通信协议是一种可靠的、双向的、持续的、点对点的网络协议 便携电脑 服务器 0 作 作 虚拟链路 Socketl Socket2 Android软件开发 主讲:王海
Android软件开发 主讲:王海 TCP协议 • TCP/IP协议规范了网络上的所有通信设备之间的数据往来格式以及传送方式 • TCP/IP协议提供一种数据打包和寻址的标准方法,可以在Internet中无差错 地传送数据 • TCP/IP通信协议是一种可靠的、双向的、持续的、点对点的网络协议 Socket1 Socket2 虚拟链路 I O 操 作 I O 操 作 服务器 便携电脑

网络通信的两种Socket java.net包中包含了网络编程所需的类型,其中基于TCP协议的网 络编程主要使用以下两种Socket: √ServerSocket是服务器套接字,用于监听并接收来自客户端的Socketi连 接 √Socket是客户端套接字,用于实现两台计算机之间的通信 Android软件开发 主讲:王海
Android软件开发 主讲:王海 网络通信的两种Socket • java.net包中包含了网络编程所需的类型,其中基于TCP协议的网 络编程主要使用以下两种Socket: ServerSocket是服务器套接字,用于监听并接收来自客户端的Socket连 接 Socket是客户端套接字,用于实现两台计算机之间的通信

Socket Socket的构造方法两种: Socket(String host,int port) Socket(String host,int port,InetAddress localAddr,int localPort) 【示例】创建Socket对象 try{ Socket s=new Socket("192.168.1.128",28888); ...//Socket通信 }catch (IOException e){ e.printStackTrace(); Android软件开发 主讲:王海
Android软件开发 主讲:王海 Socket • Socket的构造方法两种: Socket(String host,int port) Socket (String host,int port,InetAddress localAddr,int localPort) – 【示例】创建Socket对象 try{ Socket s= new Socket("192.168.1.128" , 28888); ...//Socket通信 }catch (IOException e) { e.printStackTrace(); }

Socket类常用方法 方法 功能描述 public InetAddress getInetAddress() 返回连接到远程主机的地址,如果连接 失败则返回以前连接的主机 public int getPort() 返回Socketi连接到远程主机的端口号 public int getLocalPortO) 返回本地连接终端的端口号 public InputStream getInputStream() 返回一个输入流,从Socketi读取数据 public OutputStream getOutputStream() 返回一个输出流,往Socket中写数据 public synchronized void close() 关闭当前Socket连接 Android软件开发 主讲:王海
Android软件开发 主讲:王海 Socket类常用方法 方法 功能描述 public InetAddress getInetAddress() 返回连接到远程主机的地址,如果连接 失败则返回以前连接的主机 public int getPort() 返回Socket连接到远程主机的端口号 public int getLocalPort() 返回本地连接终端的端口号 public InputStream getInputStream() 返回一个输入流,从Socket读取数据 public OutputStream getOutputStream() 返回一个输出流,往Socket中写数据 public synchronized void close() 关闭当前Socket连接

ServerSocket ServerSocket是服务器套接字,运行在服务器端,在指定的端口上主动监听 来自客户端的Socketi连接 ServerSocket类的构造方法: ServerSocket(int port) ServerSocket(int port,int backlog) ServerSocket(int port,int backlog,InetAddress localAddr) -【示例】创建ServerSocket对象 try ServerSocket server new ServerSocket(28888); catch (IOException e){ e.printstackTrace(); Android软件开发 主讲:王海
Android软件开发 主讲:王海 ServerSocket • ServerSocket是服务器套接字,运行在服务器端,在指定的端口上主动监听 来自客户端的Socket连接 • ServerSocket类的构造方法: ServerSocket(int port) ServerSocket(int port,int backlog) ServerSocket(int port,int backlog,InetAddress localAddr) – 【示例】创建ServerSocket对象 try { ServerSocket server = new ServerSocket(28888); } catch (IOException e) { e.printStackTrace(); }

ServerSocket类常用的方法 方法 功能说明 接收客户端Socketi连接请求,并返回一个与客户端Socket对应 public Socket accept() 的Socket:实例,该方法是一个阻塞方法,如果没有接收到客户 端发送的Socket,则一直处于等待状态,线程也会被阻塞 public InetAddress getInetAddress() 返回当前ServerSocket实例的地址信息 public int getLocalPort() 返回当前ServerSocket实例的服务端口 public void close() 关闭当前ServerSocket:实例 Android软件开发 主讲:王海
Android软件开发 主讲:王海 ServerSocket类常用的方法 方法 功能说明 public Socket accept() 接收客户端Socket连接请求,并返回一个与客户端Socket对应 的Socket实例,该方法是一个阻塞方法,如果没有接收到客户 端发送的Socket,则一直处于等待状态,线程也会被阻塞 public InetAddress getInetAddress() 返回当前ServerSocket实例的地址信息 public int getLocalPort() 返回当前ServerSocket实例的服务端口 public void close() 关闭当前ServerSocket实例

用ServerSocketi进行网络通信的步骤 ①根据指定端口实例化一个ServerSockety对象 ②调用ServerSocket>对象的accept0方法接收客户端发送的Socket对象 ③调用Socket对象的getInputStream0/getOutputStream0方法建立与客户端 进行交互的O流 ④服务器与客户端根据一定的协议进行交互,直到关闭连接 ⑤关闭服务器端的Socket ⑥回到第2步,继续监听下一次客户端发送的Socket请求连接 Android软件开发 主讲:王海
Android软件开发 主讲:王海 用ServerSocket进行网络通信的步骤 ① 根据指定端口实例化一个ServerSocket对象 ② 调用ServerSocket对象的accept()方法接收客户端发送的Socket对象 ③ 调用Socket对象的getInputStream()/getOutputStream()方法建立与客户端 进行交互的IO流 ④ 服务器与客户端根据一定的协议进行交互,直到关闭连接 ⑤ 关闭服务器端的Socket ⑥ 回到第2步,继续监听下一次客户端发送的Socket请求连接
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第八章 丰富你的程序——运用手机多媒体.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第七章 跨程序共享数据——探究内容提供器.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第六章 数据存储全方案——详解持久化技术.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第五章 全局大喇叭——详解广播机制.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第四章 手机平板要兼顾——探究碎片.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第三章 软件开发也要拼脸蛋——UI开发的点点滴滴.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第二章 先从看得到的入手——探究活动.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第一章 开始启程——你的第一行android代码(负责人:王海).pdf
- 《Oracle数据库》课程教学资源(PPT课件讲稿)视图.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)表空间应用.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)约束.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)用户管理.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)数据库一致性与事务管理.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)序列.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)创建数据库.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)SQL查询.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)SQL更新数据.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)Oralce数据库与数据表.ppt
- 《Oracle数据库》课程教学资源(试卷习题)练习和解答(Oracle Database 11g).pdf
- 《Oracle数据库》课程教学资源(实验指导)ORACLE数据库项目案例(实验文档).pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第十章 后台默默的劳动者——探究服务.pdf
- 中国人民大学:《人工智能》课程教学资源(作业摘选)人工智能课程总结.pdf
- 中国人民大学:《人工智能》课程教学资源(作业摘选)SCIgen生成文献的检测方案.pdf
- 《人工智能》课程教学资源(参考资料)基于Jupyter Notebook的Tensorflow深度学习教程.pdf
- 南京农业大学:《Web 应用系统开发》课程教学大纲.pdf
- 南京农业大学:《软件工程》课程教学大纲.pdf
- 南京农业大学:《面向对象程序设计实验》课程教学大纲.pdf
- 南京农业大学:《数据库系统原理实验》课程教学大纲.pdf
- 南京农业大学:《数据结构实验》课程教学大纲.pdf
- 南京农业大学:《数据库系统原理》课程教学大纲.pdf
- 上海海洋大学:信息学院各专业课程教学大纲(汇编).pdf
- 西安电子科技大学:计算机软件开发模式和工具与标准发展历程(主讲:徐悦甡).pdf
- 西安电子科技大学:《构件与中间件技术》课程教学资源(课件讲稿)第一部分 软件构件与中间件(主讲:徐悦甡).pdf
- 西安电子科技大学:《构件与中间件技术》课程教学资源(课件讲稿)第二部分 Java EE与EJB 2.2 Java Web工程.pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)文本聚类(Text Clustering).pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)语义网(Semantic Web).pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)课程回顾与复习(主讲:徐悦甡).pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)文本分类(Text Classification).pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)推荐系统(Recommender System).pdf
- 西安电子科技大学:《并行计算》课程教学资源(课件讲稿)课程概述 Parallel Computing(主讲:徐悦甡).pdf