总结一下最近接触到的知识和常用框架之前做开发的时候,基本上是做一个代码搬运工,而且不会整理货物,哪个地方该调用什么功能了,就去网络搜索调用这个功能的代码,然后直接复制粘贴在对应位置,对于http 等访问的封装,图片的下载缓存等,都是随便找一个地方放着就好,没有任何管理,接口也只是在必须做的时候做,从来没有想过太多,因为是小公司所以没人检查督促,只求做完就好。数据库也是原生的,没使用任何简便的框架,我来新公司有3个月了,我就把项目中用到的技术记录下来,供以后参考。也对这些技术总结,并且加深下了解。
框架:
1.图片下载,缓存,管理:
对于图片来说,我用了Universal_Image_Loader http的图片下载,只要调用的时候把链接传入,他会自动判别是否本地有缓存,没有下载,下载后会自动缓存,以便下次使用。很方便,帮你管理,你只用调用。
2.上传文件 :
公司用了upload-service 我觉得上传的框架很多,而且感觉都还可以,所以这个技术选择就自己去看那个更合适当前的情况
3.数据库加密及管理:
256.ormlite.sqlcipher直接复制包名,具体的优点有:可以通过类来操作数据库,OrmLiteSqliteOpenHelper 的getDao来获得对应表的操作对象,然后操作数据库,而且这个数据库是加密的(数据库文件无法发开,只能在程序中访问,加密的使数据库文件本身,不是数据库存储的信息。)
TableUtils.createTableIfNotExists(connectionSource, ImMessage.class); //这个是创建表的语句
TableUtils.clearTable(connectionSource, ImMessage.class);//清除
4.volley 高频率的http访问操作:
其实管理http访问的框架很多,这个的优点就是频率高,数据量不大,注意特点选用。 android-async-http也是个http访问的
5.做视频操作的小朋友注意了可以用 ffmpeg这个是c库,调用方式ndk编译成so库,然后jni调用。
大致技术方向也是视屏类的操作,可以把截图合成视屏流,是个做屏幕共享的方向。
6.json 解析Gson
把json的参数 创建对应的类,通过gson 直接生成类的对象,我们只需要操作对象提取数据,不用再去一句一句的拿东西,很方便,但是容易报错,多try..catch 和log把
不然有些问题搞死你。
7.Otto框架 Otto 官网: http://square.github.io/otto/
实例类之间方法的相互调用,可以减少耦合。具体没有用过,以后尽量用着感觉一下。
下面是几个用到的控件,没有用过的小伙伴真的需要改着用一下体验好处。
1.fragment
以前学习的时候,总是无数的activity跳转,很消耗性能,而且低端机的跳转很有可能有近0.8s的延迟,跳转频繁会很影响用户体验,甚至会让用户出现多次错点的操作,严重影响app的用户体验,所以就用fragment来做,在同一个activity下,只需要替换不同的fragment来生成不同的界面,现在继承的activity基类为AppCompatActivity,然后界面的基础布置,可以参考studio的demo去创建。具体细节不谈,自己看着理解。
2.actionbar
以前大多数的标题栏等,都是自定义在自己的布局,然后隐藏android自带布局title,现在android 提供的actionbar已经能满足大部分用户对标题栏设置的需求,调用起来非常方便,只需要找一偏相关文章读一下基本上就能操作出自己想要的标题栏了。
3.android.support.v7.widget.RecyclerView
listview 的兄弟,哈哈,对于控制item动态的添加删除,很方便。 尤其是聊天对话框的首选
4.imagefilter库!
想让你的图片有简单的处理效果,可以用这个第三方的库,让你的程序具有一个图片处理的小功能^_^!
还学到了加密啊技术,对称加密和非对称加密结合加密流程。源码已经在我自己邮箱。