随笔 - 126  文章 - 0  评论 - 300 
  2017年6月1日
摘要:前言: 关于Android渠道打包是一个比较老的话题,今天主要记录总结一下多渠道打包以及如果动态配置修改一些资源属性。今天以公司实际需求为例进行演示,由于项目复用很多公共的业务组件,而且业务组件之间的跳转采用Scheme协议,每个业务组件的host地址不变,所以需要在打包的时候动态修改scheme协 阅读全文
posted @ 2017-06-01 17:17 总李写代码 阅读(4826) 评论(0) 推荐(1) 编辑
  2017年4月20日
摘要:前言: 一直致力于提高开发效率降低项目耦合,今天想抽空学习一下MVP架构设计模式,学习一下如何运用到项目中。 MVP架构设计模式 MVP模式是一种架构设计模式,也是一种经典的界面模式。MVP中的M代表Model, V是View, P是Presenter。 Model 业务逻辑和实体模型 View 代 阅读全文
posted @ 2017-04-20 16:50 总李写代码 阅读(4284) 评论(5) 推荐(2) 编辑
  2017年4月1日
摘要:前言: 最近牵头发起公司app的重构工作,如何通过重构让项目的耦合降低、开发效率提高,一直是我努力的方向,今天来学习一下一个注解框架Dagger2,然后看看如何使用它来降低项目的耦合。 Dagger2 一句话:一款快速的注解框架,应用于Android、Java,由 Google 开发和维护,是 Sq 阅读全文
posted @ 2017-04-01 16:55 总李写代码 阅读(3676) 评论(2) 推荐(1) 编辑
  2017年3月20日
摘要:前言: 一直致力于为公司寻找更加高效的解决方案,作为一款K12在线教育App,功能中难免会有LaTeX数学公式的显示需求,这部分公司已经实现了此功能,只是个人觉得在体验和效率上还是不太好,今天来聊一下如何让原生渲染LaTeX数学公式。 先了解一下LaTeX数学公式 什么是Latex?感兴趣的同学可以 阅读全文
posted @ 2017-03-20 17:15 总李写代码 阅读(4838) 评论(3) 推荐(2) 编辑
  2017年3月14日
摘要:前言: 前面介绍了Java的数据结构List、Map,今天抽空学习总结一下另一种数据结构Set。 Set介绍 Set相对于List、Map是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。 特点: 它不允许出现重复元素; 不保证和政集合中元素的顺序 允许包含值为null的元素,但 阅读全文
posted @ 2017-03-14 17:08 总李写代码 阅读(8152) 评论(0) 推荐(0) 编辑
  2017年3月10日
摘要:前言: 前面学习总结了List的使用及效率对比,今天总结学习一下键值映射关系Map,顺便学习一下Android中使用Map需要注意哪些,以及谷歌官方针对Android对Map做了哪些优化。 先了解下Map Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 Map没有 阅读全文
posted @ 2017-03-10 18:06 总李写代码 阅读(4442) 评论(0) 推荐(0) 编辑
  2017年3月7日
摘要:前言: 在我们平常开发中难免会用到List集合来存储数据,一般都会选择ArrayList和LinkedList,以前只是大致知道ArrayList查询效率高LinkedList插入删除效率高,今天来实测一下。 先了解一下List List列表类,顺序存储任何对象(顺序不变),可重复。 List是继承 阅读全文
posted @ 2017-03-07 00:41 总李写代码 阅读(12305) 评论(3) 推荐(1) 编辑
  2017年3月3日
摘要:前言: 公司的业务组件化推进的已经差不多三四个月的时间了,各个业务组件之间的解耦工作已经基本完成,各个业务组件以module的形式存在项目中,然后项目依赖本地的module,多少有点不太利于项目的并行开发维护了,本质原因就是如果是依赖本地的,必须要将依赖的module和主工程放在一个project里 阅读全文
posted @ 2017-03-03 16:45 总李写代码 阅读(4714) 评论(2) 推荐(0) 编辑
  2017年1月6日
摘要:前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏、 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体验。而Android 5.0之后谷歌又提出了 ColorPalette 的概念,让开发者可以自己设定 阅读全文
posted @ 2017-01-06 16:47 总李写代码 阅读(26521) 评论(0) 推荐(5) 编辑
  2016年12月14日
摘要:前言: Annotation注解在Android的开发中的使用越来越普遍,例如EventBus、ButterKnife、Dagger2等,之前使用注解的时候需要利用反射机制势必影响到运行效率及性能,直到后来android-apt的出现通过注解根据反射机制动态编译生成代码的方式来解决在运行时不再使用发 阅读全文
posted @ 2016-12-14 17:10 总李写代码 阅读(13731) 评论(2) 推荐(0) 编辑
  2016年12月9日
摘要:前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不再维护该工具了,因为Android Studio推出了官方插件,并且可以通过gradle来简单的配置 阅读全文
posted @ 2016-12-09 19:48 总李写代码 阅读(16604) 评论(0) 推荐(1) 编辑
  2016年12月7日
摘要:前言: 在我们做App开发的过程中基本上都会用到文件存储,所以文件存储对于我们来说是相当熟悉了,不过自从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限,所以以往直接sdcard根目录上直接新建了一个xxx/cache/目录来做文件存储就会不是那么容易控制了, 阅读全文
posted @ 2016-12-07 16:56 总李写代码 阅读(17560) 评论(0) 推荐(1) 编辑
  2016年12月2日
摘要:前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新。但是Android上,一直没有看到支持Java8的消息。Android到底会不会支持Java8呢?答案是肯定的,Andro 阅读全文
posted @ 2016-12-02 17:03 总李写代码 阅读(3666) 评论(3) 推荐(1) 编辑
  2016年11月29日
摘要:前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与java互相调用的需求。它就是WebViewJavascriptBridge。 学习动机: 先看下之前 阅读全文
posted @ 2016-11-29 17:04 总李写代码 阅读(30902) 评论(7) 推荐(5) 编辑
  2016年11月24日
摘要:前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxPermission。这里不再介绍Android 6.0运行时权限了,直接看下如何使用RxPermis 阅读全文
posted @ 2016-11-24 17:03 总李写代码 阅读(22962) 评论(2) 推荐(0) 编辑
  2016年11月23日
摘要:前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以上设备越来越多了,所以Android 6.0 权限适配是必不可少的工作,这里主要介绍一下我们公司是如 阅读全文
posted @ 2016-11-23 16:56 总李写代码 阅读(24985) 评论(4) 推荐(1) 编辑
  2016年11月18日
摘要:前言: 最近突然喜欢上一句诗:“宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。” 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过程中讨论比较多的一个知识点Android 6.0 权限适配问题来进行学习,不过我不想直接进入这个主题,所以选择先去了解一 阅读全文
posted @ 2016-11-18 17:05 总李写代码 阅读(14031) 评论(0) 推荐(1) 编辑
  2016年11月14日
摘要:前言: 其实RxJava引起的内存泄漏是我无意中发现了,本来是想了解Retrofit与RxJava相结合中是如何通过适配器模式解决的,结果却发现了RxJava是会引起内存泄漏的,所有想着查找一下资料学习一下如何解决RxJava引起的内存泄漏,就查到了利用Rxlifecycle开源框架可以解决,今天周 阅读全文
posted @ 2016-11-14 17:08 总李写代码 阅读(18083) 评论(18) 推荐(1) 编辑
  2016年11月10日
摘要:前言: 最近公司正在进行业务组件化进程,其中的路由实现用到了Java的反射机制,既然用到了就想着好好学习总结一下,其实无论是之前的EventBus 2.x版本还是Retrofit、早期的View注解框架都或多或少的用到Java的反射机制。以下是自己使用反射的两个地方,感兴趣的同学可以看下:Andro 阅读全文
posted @ 2016-11-10 16:59 总李写代码 阅读(30000) 评论(2) 推荐(10) 编辑
  2016年11月1日
摘要:前言: 最近公司C轮融资成功了,移动团队准备扩大一下,需要招聘Android开发工程师,陆陆续续面试了几位Android应聘者,面试过程中聊到性能优化中如何避免内存泄漏问题时,很少有人全面的回答上来。所以决定抽空学习总结一下这方面的知识,以及分享一下我们是如何检测内存泄漏的。我们公司使用开源框架Le 阅读全文
posted @ 2016-11-01 16:45 总李写代码 阅读(26497) 评论(4) 推荐(4) 编辑
  2016年10月21日
摘要:前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App、Web App、Hybrid App三种方式,个人觉得目前以Hybrid App居多,单纯的数据展示我们直接采用WebView来渲染就可以了,但是有时候可能会用到两者之间 阅读全文
posted @ 2016-10-21 16:30 总李写代码 阅读(35818) 评论(17) 推荐(3) 编辑
  2016年10月20日
摘要:前言: 从事Android开发的同学都知道移动设备的内存使用是非常敏感的话题,今天我们来看下如何使用软引用与弱引用来优化内存使用。下面来理解几个概念。 1.StrongReference(强引用) 强引用是我们最最常见的一种,一般我们在代码中直接通过new出来的对象等,都是强引用,强引用只要存在没有 阅读全文
posted @ 2016-10-20 17:08 总李写代码 阅读(4065) 评论(0) 推荐(2) 编辑
  2016年10月11日
摘要:前言: 这几天被公司临时拉到去做Android IM即时通信协议实现,大致看了下他们定的协议,由于之前没有参与,据说因服务器性能限制,只达成非明文传递,具体原因我不太清楚,不过这里用的加密方式是采用异或加密。这种加密方式在之前做Android加密记事本的时候采用过这种加密方式。今天已经把客户端心跳维 阅读全文
posted @ 2016-10-11 16:50 总李写代码 阅读(7983) 评论(3) 推荐(1) 编辑
  2016年9月23日
摘要:前言: 对于SHA安全散列算法,以前没怎么使用过,仅仅是停留在听说过的阶段,今天在看图片缓存框架Glide源码时发现其缓存的Key采用的不是MD5加密算法,而是SHA-256加密算法,这才勾起了我的好奇心,所以趁着晚上没啥事,来学习一下。 其他几种加密方式: Android数据加密之Rsa加密 An 阅读全文
posted @ 2016-09-23 16:33 总李写代码 阅读(4487) 评论(0) 推荐(1) 编辑
  2016年9月21日
摘要:前言: 前面学习总结了平时开发中遇见的各种数据加密方式,最终都会对加密后的二进制数据进行Base64编码,起到一种二次加密的效果,其实呢Base64从严格意义上来说的话不是一种加密算法,而是一种编码算法,为何要使用Base64编码呢?它解决了什么问题?这也是本文探讨的东西? 其他几种加密方式: An 阅读全文
posted @ 2016-09-21 16:48 总李写代码 阅读(45990) 评论(2) 推荐(1) 编辑
  2016年9月20日
摘要:前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法。 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5”,翻译过来是“消息摘要算法5”,由MD2、MD3、MD4演变过来的,是一种单向加密算法,是不可逆的 阅读全文
posted @ 2016-09-20 16:43 总李写代码 阅读(47955) 评论(0) 推荐(4) 编辑
  2016年9月13日
摘要:前言: 前面分析了APP的现状以及业务组件化的一些探讨(Android业务组件化之现状分析与探讨),以及通信的桥梁Scheme的使用(Android业务组件化之URL Scheme使用),今天重点来聊下子模块SubModule的拆分以及它们之间的路由Router实现。本篇涉及的相关知识比较多,阅读本 阅读全文
posted @ 2016-09-13 16:12 总李写代码 阅读(8180) 评论(0) 推荐(0) 编辑
  2016年9月9日
摘要:前言: 从个人经历来说的话,从事APP开发这么多年来,所接触的APP的体积变得越来越大,业务的也变得越来越复杂,总来来说只有一句话:这是一个APP臃肿的时代!所以为了告别APP臃肿的时代,让我们进入一个U盘时代,每个业务模块都是一个具备独立运行的U盘,插在哪里都可以完美运行,这就是推进业务组件化的初 阅读全文
posted @ 2016-09-09 16:23 总李写代码 阅读(8259) 评论(12) 推荐(7) 编辑
  2016年9月1日
摘要:前言: 最近公司业务发展迅速,单一的项目工程不再适合公司发展需要,所以开始推进公司APP业务组件化,很荣幸自己能够牵头做这件事,经过研究实现组件化的通信方案通过URL Scheme,所以想着现在还是在预研阶段,很有必要先了解一下URL Scheme,看看是如何使用的?其实在之前做Hybrid混合编程 阅读全文
posted @ 2016-09-01 16:14 总李写代码 阅读(41931) 评论(3) 推荐(9) 编辑
  2016年8月30日
摘要:前言: 上篇文章学习了Android事件总线管理开源框架EventBus,EventBus的出现大大降低了开发成本以及开发难度,今天我们就利用目前大红大紫的RxJava来实现一下类似EventBus事件总线管理,现在很多人都在说用这种方式来替代EventBus,今天我们从开发效率,开发难度等维度来分 阅读全文
posted @ 2016-08-30 16:24 总李写代码 阅读(8735) 评论(0) 推荐(0) 编辑