先弄清楚:这门课值不值得花时间

很多初学者写安卓应用时,界面能敲出来,但只要涉及“从服务器拿数据”就卡壳,应用一跑就闪退或者卡死。这门课解决的就是这个最核心的痛点:安卓客户端如何与服务器进行网络通信并交换数据。它不教你写后端接口,而是教你怎么在手机端发请求、收数据、解析内容并展示到界面上。如果你正卡在“应用只能本地写死数据,无法联网更新”这一步,或者想弄懂安卓主线程为什么不能直接做耗时操作,这批资料非常对症。但如果你连基础的界面布局和按钮事件还没搞懂,建议先补齐基础再来看,因为这里默认你已经能独立写出一个简单的安卓界面了。

资料怎么看:先抓主线程模型与通信机制

拿到资料后,建议不要从头到尾按顺序刷,而是优先看两块内容。第一块是“主线程模型”和“ANR产生的原因”,这是理解安卓网络编程的门槛。你必须先明白为什么不能在主线程直接发网络请求,否则代码怎么写都是错的。第二块是“安卓下的消息机制”,也就是异步处理逻辑。搞懂这两块后,再去跟着“网络图片查看器”和“网页源码查看器”的案例敲一遍代码,这两个场景足够你把请求发送、流读取、乱码处理跑通。资料里提到的新闻客户端案例属于综合演练,建议放在最后看,因为它需要结合服务器搭建、数据解析和界面加载进度条,适合用来检验前面的基础学得扎不扎实。

学完能独立做什么:从拿数据到展示数据

把资料里的练习跟下来,你应当能独立完成一个具备完整网络交互能力的应用模块。具体来说,你能用HTTP的GET方式向服务器提交参数并获取返回内容;能处理中文乱码问题;能把服务器返回的JSON字符串解析成具体的数据对象;还能用开源框架去加载和显示网络图片,并处理加载异常。资料里附带的“天气预报”和“手机归属地查询”案例,就是标准的“输入参数-请求接口-解析JSON-刷新界面”的业务闭环。配合这些线索练习时,重点要自己搭一个简单的本地服务器来配合调试,不要只看不动手。自己把接口返回的JSON数据改一改,再让应用去解析,走通这个流程,你才算真正掌握了安卓客户端与服务端交换数据的核心能力。


本课程是Android应用开发的基础课程中的部分课程,主要讲解在Android系统上如何通过http请求获取数据、获取服务器上的图片、解析服务器返回的Json数

课程目录

*   第一章 Android基础阶段/

  *   联网操作/

    *   网络图片查看器

    *   http请求的小细节

    *   ANR产生的原因

    *   主线程模型

    *   android下的消息机制

    *   网络图片查看器的完成

    *   网页源码查看器

    *   useragent的使用

    *   中文乱码问题的处理

    *   访问网络获取手机归属地

    *   天气预报案例-json数据的解析

    *   新闻客户端的需求和服务器搭建

    *   连接服务器解析数据

    *   数据的界面展现&正在加载的进度

    *   新闻文本界面的展现

    *   利用开源框架加载显示图片

    *   smartimageview的原理

    *   smartimageview异常的处理

  *   Http请求/

    *   get方式提交数据-服务器搭建

    *   采用get的方式提交数据到服务器

    *   POST请求和GET请求的区别

    *   POST方式提交数据到服务器

    *   中文乱码问题的处理

    *   中文乱码的补充-锟斤拷锟斤初体验

    *   提交数据的中文问题

    *   采用httpclient提交数据到服务器

    *   采用开源框架get的方式提交数据到服务器

    *   采用开源项目post数据到服务器

    *   上传文件到服务器

    *   为什么多线程可以提高下载速度

    *   多线程下载的步骤

    *   如何划分服务器的资源给不同的线程

    *   多线程文件下载的实现

    *   多线程断点下载的完成

    *   多线程断点下载的小细节

    *   多线程断点下载的移植

    *   开源项目实现多线程断点下载