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’
之前开发,都是闷头乱撞,很幸运今年可以进入一家新的公司,在这里,遇到好朋友好导师浩哥,感谢能在这样的环境中成长,我一定好好发育,争取能突破自己,有所进步
有些东西你不去做,就永远不会改变
转载自原文链接, 如需删除请联系管理员。
原文链接:三月十八小结,转载请注明来源!