android Easy框架之说明以及总结 草稿

前言:

一天跟朋友吃饭听说他准备写书,分享他多年的工作技巧以及经验,我不禁心中滂湃写一篇微博总结下工作经验和自己开发的Easy框架(之前有写过一篇但不完整)。干一行爱一行从工作中找到乐趣找到成就感,我个人喜欢思考探索钻研,总结开发经验写出Easy框架和一些UI控件,并且用于开发中让开发简单、简洁、灵活。当然很多框架是很大,有的几十M也有几百M,Easy框架不到1M只有几十K,麻雀虽小五脏俱全,以下详细说明框架和简单说下控件。

一、网络请求框架(基本数据、文件上传下载)

1、基本数据请求

a.要求简便灵活性。记得刚接触Java那时写网络请求参数时用双引号写死,然后手动进行格式传递到服务端,不但效率慢而且容易出错,维护还很麻烦。Java开发要注重面向对象思想,我看到过有些人写的对象功能掺和其他不相关的功能,甚至一个方法掺和他不相关的逻辑;android开发不单单只是注重页面UI开发,更重要的是注重Java思想,不但要会简单面向对象继承抽象接口多态等,也要学会多种设计模式算法等。多说了两句,下面看下请求的参数对象:

b.要求效率。App前端界面要美观外性能要求也是至关重要的,其中大多App网络数据请求必不可少,XML格式请求逐渐淘汰,目前Json格式比较XMl更有优势,数据格式比较简单,易于读写,格式都是压缩的,占用带宽小(当然要做到更小带宽的是二进制)。服务器响应速度前端无法优化,唯一可以优化的是返回时数据解析,下面Easy框架Http请求模块数据解析时间测试。(筛选EasyHttp日志)

c.面向对象思维。Java是面向对象,那就该用面向对象思想进行开发。在工作中发现有些人还是使用面向过程思维进行开发,而且很多都是copy+copy,永远是代码的搬运工,不但使代码越来越繁琐越来越难维护,而且没有技术进步。

请求实体对象信息:

android Easy框架之说明以及总结 草稿_第1张图片

新建EasyHttp实例或者继承,执行start方法开始执行网络请求

android Easy框架之说明以及总结 草稿_第2张图片

请求数据Log日志打印的信息:

返回数据Log日志打印的信息:

android Easy框架之说明以及总结 草稿_第3张图片

android Easy框架之说明以及总结 草稿_第4张图片

下图调试看到解析后数据完成的对象值,接着就可以用对象更新UI了。

返回的实体对象

android Easy框架之说明以及总结 草稿_第5张图片

android Easy框架之说明以及总结 草稿_第6张图片

调试信息如下:

android Easy框架之说明以及总结 草稿_第7张图片

android Easy框架之说明以及总结 草稿_第8张图片

好了,请求示例就这样子。接下来说下Easy框框Http请求模块使用。

第一,首先是请求参数,上面也请求实体对象信息截图,接下来再来一张更详细的说明,例如新建一个类SampleRequest如下图:

android Easy框架之说明以及总结 草稿_第9张图片

例如,发起网络请求

SampleRequest request = new SampleRequest();

request .setId1("1111");

request .setId2("2222");//等

EasyHttp http = new EasyHttp();

http.start(request );

如请求的Jsongets如下:

EasyHttp: 网络请求:POST http://xxx.xxxx.com/xxx/request

请求头部:Content-Type=application/json  

请求参数:{"id1":1111,"id2":2222,"id3":"3333","name1":[4444,5555],"name2":{"first":"6666","last":"7777"},"names":[{"first":"8888","last":"9999"},{"first":"aaaa","last":"bbbb"}]}。请求字段值为null时不会作为字段传给服务端。

请求方式:上面是Post请求(@EasyHttpPost),如果是Get请求就要使用@EasyHttpGet。

请求地址:UrlBase = “http://xxx.xxxx.com/xxx.request”,

有时候请求字段名称

 

 

二、数据库框架SQL

三、Logcat小工具

四、ViewBind工具

五、UI部分

  1. RecycleView+Adapter
  2. ViewPager+Fragment+TagBar
  3. Dialog、PopupWindow
  4. TimePick
  5. ShapeView
  6. SharedPreferences

其他自定义控件

转载于:https://my.oschina.net/u/1756702/blog/3062137

你可能感兴趣的:(移动开发,ui,java)