Android平台的电子阅读器设计(7)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Android平台的电子阅读器设计(7)

Material Design旨在通过帮助设计师们创建易用性和实用性较强的网站和应用程序。这个概念基于一个不断更新的公开文档;该文档会随着域界以及技术更新而更新[6]。

Material design的设计目标:

创建一种新的设计语言,糅合经典设计原则以及科技创新性与可能性。

创建一个跨平台和跨设备尺寸集成系统。移动规则是基本的,但触摸、声音、鼠标、键盘都是最佳的输入方法。

Material design的设计原则:

材料即象征:视觉线索必须立足于现实。

醒目、形象、策划性:基本的设计原理(字体、网格、空间、尺度、色彩和图像的使用原则)必须引导视觉效果。

有意义的移动:移动的物体或动作不应该干扰用户体验,而是保证用户体验的连贯性。

2。7基于Retrofit的网络请求库

Retrofit是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Java对象),POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装。

使用Retrofit十分方便,我们只需要定义一个 interface,定义一些方法,并用相应的注解来标注它们,这样就可以使用了[7]。

我们以官方的例子简单做个解释,GitHubService 就是承担了网络请求的逻辑的 interface,它的每一个方法都是相应的 api,而我们在使用时,只需要使用 retrofit 来 create 一个这样的实例,那么我们就可以通过调用 service。listRepos 来访问我们想要的 api。

图2-5 retrofit请求示意图

retrofit。create 这一句实际上是使用了 Java 当中的代理机制,代理会处理被代理类实例的方法调用——这一点非常关键——代理在收到被代理类实例的方法调动时,则有根据对应的注解来构造网络请求,到底是 GET 还是 POST,有哪些参数,都叫什么之类的。论文网

Retrofit 和Java领域的ORM概念类似, ORM把结构化数据转换为Java对象,而Retrofit 把REST API返回的数据转化为Java对象方便操作。同时还封装了网络代码的调用。另外,Retrofit可以十分方便的集成json解析工具,如Gson,Jackson。也能通过集成Simple XML来方便解析Xml。Retrofit对于错误处理机制也能很方便的集成,比如在遇到网络未连接的情况,或者用户未输入就提交的情况都能统一做反馈处理。过去我们在使用HttpClient的时候,觉得有很大不方便的就是如果进行请求,还需要在主线程外定义一个Handler,数据的请求解析需要通过另外开起一个线程,而不是在主线程中来做,因为这样会阻塞主线程。但是这样做,不太符合编码习惯。而我们使用Retrofit就可以很好的解决这个问题。Retrofit有成熟的异步处理机制,将请求封装在队列中,请求成功或者失败则通过回调的方式进行处理。

2。8基于Fresco的图片处理库

Fresco是Facebook推出的图片处理库,在图片处理和解析方面可以说是十分强大的。Fresco内部的image pipeline模块主要用于解析加载资源,使用三级缓存机制能够最大限度的节省空间和CPU消耗。Drawees模块可以用于很方便的显示加载图,如果图片不再显示时,及时的释放内存空间节约空间占用。

Fresco使用起来非常简单,在xml布局文件中,只要用SimpleDraweeView替代原生的ImageView即可,

以加载一张网络图片为例,如下图所示:

                        图2-6 Fresco使用示意图

只要这三句代码,Fresco就能自动完成图片的加载过程。

2。9小结

本章节主要论述了主要的知识点,介绍了本次毕业设计使用的开发工具。分析了基于maven和gradle的两种项目构建方式的特点,阐述了选择三大框架的原因,以及搭建基于RESTful风格的接口的优势。介绍了安卓端使用的网络请求库Retrofit以及图片处理库Fresco。下一章,我们就系统的需求进行分析,并介绍数据库的结构设计。 (责任编辑:qin)