首页 » 技术分享 » 三月十八小结

三月十八小结

 

3月6号入职的,入职两周了,我都做了什么,想着浩哥的教导我说,要及时总结,了解自己的不足,才能有所进步,所以在此记录一下

任务一

——抽取b2c项目的网络框架

目的 : 在不影响项目整体方法的同时更换网络框架

过程 :

在管理类中,修改属性,就能够切换不同的网络框架

对于网络框架的抽取,抽取出接口,让所有的网络框架可以去实现相同的接口方法,不同的框架自己去具体实现方法

关于这个过程,走了很多弯路

前提是,先熟悉项目的网络架构和封装的方法下,才能进行抽取优化

1.首先要意识到,第一步要做的是,抽取出原来项目中的共同方法,抽取出接口,并且能够正常使用原来项目中的东西。一开始没有意识到这个问题,直接乱走,直接去封装okhttp,想直接替换,这个是错误的,方向已经偏离了
记住,抽取原项目的过程是不用写逻辑代码的!

2.其次,在保证抽取出原项目的接口能用的情况下,使用抽取出的接口,对okHttp进行封装,封装替换完毕之后,能够正常使用才是正确的方式,才能够走下一步

3.最后对代码进行优化,java层运用使用设计模式等等去优化

任务二

——进行项目的打包

目的 : 了解常规打包过程,以及脚本打包的原理

过程 :
常规打包,需要打包两次,第一次打包是为了获取加密值,进行解密,拿解密值进行第二次打包,才能符合要求。

利用脚本打包,可以方便地一次性打出包,不需要二次打包,提高效率

任务三

——熟悉工具的使用

目的 : 提高开发效率

过程 : 之前的习惯非常的不好,感谢浩哥苦口婆心地教导

首先我不懂得学习的方法,好的学习方法和习惯,可以改变一个人

1.每天都要写自己的开发笔记,知道自己今天做了什么,有什么收获。浩哥说,一个开发者的开发经验,就是看你拥有多少开发笔记,开发笔记是你以后的财富;

2.使用思维导图 ,类似MindManager,百度脑图之类的工具。在你进行开发的时候,有时候需要构思一下思路,图可以帮助你理清思路,朝着正确的方向进行。拿自己来说,进行框架封装,经常会跑偏,如果有脑图,可以一步一步的顺着思路走。

3.studio 的使用,之前一直用eclipse的快捷键,后来改过来使用studio本身的快捷键,快捷键用多了,也就习惯啦。应该建立自己的快捷键表,及时更新,就算以后换了ide,照着表再修改,也是属于你自己的东西

附上自己使用较多的快捷键

Android studio 常用 快捷键

实现方法 alt+enter

复制行 ctrl+d

删除行 ctrl + y

抽取常量 Ctrl+alt+c

生成变量 Ctrl+alt+v

抽取方法 Ctrl+alt+m 改为 alt+shift+M

上移一行代码 alt+shift+↑

下移一行代码 alt+shift+↓

查找方法被调用的地方 alt+F7

全局搜索 Ctrl+Shift+F

局部搜索 Ctrl+F

查看方法的参数信息 ctrl+ p

全局搜索 类名 两下shift键

4.最近使用好的工具:

AS 插件 adb idea 在AS上操作手机应用 ctrl + alt+ shift+a 调出操作界面

chrome浏览器 安装Octotree 插件
方便进行github代码查看
Ctrl+Shift+s 调出查看面板

5.学习的方法是什么?第一,总结,第二,有效记忆

写博客,写开发笔记,可以帮助你及时总结

浩哥说文不如图,图不如视频,画导图便于你有效记忆,有联系的事物总是会引起人的注意,找到自己有效记忆的路子

任务四

——熟悉okHttp的基本使用

目的 : 为了完成更换网络框架的需求

过程 :

OKHTTP的基本使用
基本的get
1.创建OkHttpClient对象
2.创建Request对象(配置请求信息)
3.发起网络请求动作,转换成Call对象
4.结果回调Response 对象

1.OkHttpClient okHttpClient = new OkHttpClient();
2 Request request = new Request.Builder().url().build();
3 Call call = okHttpClient.newCall(request)
4. Response response = call.excute();/// call.exquese()

1.Request对象中可以配置header,cookie,user-agent等等
2.response的body有很多种输出方法,string()只是其中之一,注意是string()不是toString()。如果是下载文件就是response.body().bytes()。
另外可以根据response.code()获取返回的状态码。

post方法比get方法,多一个post(),里面放表单,类型是RequestBody
3中表单形式—》
application/x-www-form-urlencoded 数据是个普通表单 默认

multipart/form-data 数据里有文件
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(“file”, file.getName(), RequestBody.create(MediaType.parse(“image/png”), file))
.build();

application/json 数据是个json
MediaType JSON = MediaType.parse(“application/json; charset=utf-8”);
RequestBody body = RequestBody.create(JSON, “你的json”);

异步方法用call.enqueue()
显然onFailure()和onResponse()分别是在请求失败和成功时会调用的方法。这里有个要注意的地方,onFailure()和onResponse()是在异步线程里执行的,所以如果你在Android把更新UI的操作写在这两个方法里面是会报错的,这个时候可以用runOnUiThread这个方法。

可以设置cookie自动管理和超时时间

一.对okHttpClient 进行配置
需要配置
timeout,cookie自动管理,hostnameVerifier
Header ,ssl factory,(待定)

二.封装好get 方法,在demo中进行测试
http://www.jianshu.com/p/1873287eed87

compile ‘com.squareup.okhttp3:okhttp:3.6.0’
compile ‘com.squareup.okio:okio:1.11.0’

之前开发,都是闷头乱撞,很幸运今年可以进入一家新的公司,在这里,遇到好朋友好导师浩哥,感谢能在这样的环境中成长,我一定好好发育,争取能突破自己,有所进步

有些东西你不去做,就永远不会改变

转载自原文链接, 如需删除请联系管理员。

原文链接:三月十八小结,转载请注明来源!

0