目录

  • 第1章 Android UI设计
    • ● 版本与程序
    • ● 学习目标和本章素材
    • ● 本章PPT
    • ● 本章讲解
    • ● 例1-1 线性布局应用示例
    • ● 例1-2 帧布局应用示例
    • ● 例1-3 表格布局应用示例
    • ● 例1-4 相对布局应用示例
    • ● 例1-5 网格布局应用示例
    • ● 例1-6 约束布局应用示例
    • ● 例1-7 文本标签组件示例
    • ● 例1-8 制作登陆界面
    • ● 例1-9 进度条ProgressBar应用示例
    • ● 例1-10 单选按钮与复选按钮
    • ● 例1-11 简单列表示例
    • ● 例1-12 ListActivity示例
    • ● 例1-13 带有图片的列表
    • ● 例1-14 没有数据的ListView
    • ● 例1-15 改进的列表
    • ● 实战演练——生肖背后的故事
  • 第2章 Activity与多个用户界面
    • ● 学习目标和本章素材
    • ● 本章PPT
    • ● 本章讲解
    • ● 例2-1 从Activity启动另一个Activity示例
    • ● 例2-2 传递数据到第二个Activity示例
    • ● 例2-3 消息提示Toast示例
    • ● 例2-4 消息对话框示例
    • ● 例2-5 选项菜单应用示例
    • ● 例2-6 上下文菜单应用示例
    • ● 实战演练——BMI体质指数计算器
  • 第3章 多媒体播放与录制
    • ● 学习目标和本章素材
    • ● 本章PPT
    • ● 本章讲解
    • ● 例3-1 音乐播放器, 播放项目资源中的音乐
    • ● 例3-2 音乐播放器, 播放SD卡中的音乐
    • ● 例3-3 应用MediaPlayer设计视频播放器
    • ● 例3-4 应用VidioView设计视频播放器
    • ● 例3-5 录音示例
    • ● 例3-6 拍照示例
    • ● 实战演练——音乐播放器
  • 第4章    广播与服务
    • ● 学习目标和本章素材
    • ● 本章PPT
    • ● 本章讲解
    • ● 例4-1 消息广播程序示例
    • ● 例4-2 系统通知服务示例
    • ● 例4-3 广播和时钟服务示例
    • ● 例4-4 调用系统功能拨打电话
    • ● 例4-5 后台音乐服务示例
    • ● 实战演练——播放后台音乐
  • 第5章    数据存储
    • ● 学习目标和本章素材
    • ● 本章PPT
    • ● 本章讲解
    • ● 例5-1 内部存储文件示例
    • ● 例5-2 SD文件示例
    • ● 例5-3 JSON数据示例
    • ● 例5-4 SharedPreferences示例
    • ● 例5-5 创建与删除数据库示例
    • ● 例5-6 数据库记录的操作示例
    • ● 实战演练——掌上日记本
  • 第6章    图像和动画
    • ● 学习目标和本章素材
    • ● 本章PPT
    • ● 本章讲解
    • ● 例6-1 绘制几何图形示例
    • ● 例6-2 补间动画示例
    • ● 例6-3 属性动画示例
    • ● 例6-4 ImageView图像浏览示例
    • ● 例6-5 ImageSwitcher展示相册示例
    • ● 例6-6 GridView展示相册示例
    • ● 例6-7 游戏中触屏事件示例
    • ● 实战演练——图片与动画
  • 第7章    网络编程
    • ● 学习目标和本章素材
    • ● 本章PPT
    • ● 本章讲解
    • ● 例7-1 应用WebView的对象浏览网页
    • ● 例7-2 从Web服务器读取图像文件
    • ● 例7-3 读取JSON数据
    • ● 例7-4 解析JSON数据
    • ● 实战演练——城市天气预报
  • 第8章    分享美食
    • ● 学习目标和本章素材
    • ● 本章PPT
    • ● 本章知识点讲解
    • ● 项目制作流程演示
    • ● 示范1 图标SVG
    • ● 示范2 卡片视图
    • ● 示范3 导航视图
  • 课程资源
    • ● 学生资源包
    • ● 网站地址
学习目标和本章素材

学习目标


  • 了解浏览器引擎WebKit和WebView类

  • 熟悉基于HTTP协议的网络编程

  • 掌握Volley框架读取网络数据的方法

  • 掌握Volley框架解析JSON数据的方法


开始学习


 Android网络编程可以使用Java的网络编程技术,例如,针对HTTP协议的网络编程,此外还有许多开源的网络框架被Android采用,例如,网页引擎WebKit、网络通信框架Volley等。本章讨论以下话题:

(1)Web网页引擎WebKit。Android系统内置的浏览器WebKit是一个开源的浏览器引擎,拥有清晰的源码结构、极快的渲染速度。WebKit内核具有非常好的网页解析机制,很多应用系统都使用WebKit做浏览器的内核。例如,Android的Browser、Apple的Safari都基于WebKit。

(2)基于HTTP协议的网络编程。HTTP是一种请求/响应式的协议,当客户端在与服务器端建立连接后,向服务器端发送的请求被称作HTTP请求。服务器端接收到请求后会做出响应,称为HTTP响应。下面讨论应用HttpURLConnection类和StrictMode类访问Web服务器。

(3)网络通信框架Volley。Volley既可以非常简单地进行HTTP通信,也可以轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度调整,它的设计非常适合数据量不大但通信频繁的网络操作。Volley可以方便地获取远程服务器上的图片、字符串、JSON对象和JSON对象数组等。


本章素材

volley压缩包在版本升级后已不再需要安装,想安装的可以从这里下载:volley压缩包

为了练习从网络获取图片或Json数据,安排了几个网址作为练习。

       

小狗https://www.z4a.net/images/2018/07/07/dogshort.jpg

推荐一张校园风景 http://www.szpt.edu.cn/images/pic_5.jpg


Json数据:

1. 中国城市天气预报的数据,可以采用中国天气网提供的Json数据接口:

http://www.weather.com.cn/adat/cityinfo/城市编号.html

例如北京是101010100,北京天气预报网址是:

http://www.weather.com.cn/data/cityinfo/101010100.html

2. 中国天气网的另一个网页,包含多项气候数据,并且可使用视图WebView直接显示输出内容:https://m.weather.com.cn/mweather/101010100.shtml


本章素材

本章所需素材如下: