通过注解完美解决混淆问题

混淆是代码安全一个很有效的措施,防止代码在市场中裸奔,Android studio通过写proguard-rules.pro文件来混淆,mainfest中的类不混淆,四大组件和Application的子类和Framework层下所有的类默认不会进行混淆,对于四大组件是不可以混淆的,之前还有人和我争论过,manifest中需要的是配置完整路径,一旦混淆了,路径或者名称就变了,怎么还能找到?第三方会提供...
阅读(2324) 评论(4)

防侧漏之弱引用的使用

本文依然基于github上的开源框架为基础,看过之前发的 最新Retrofit + RxJava + MVP 那篇blog的讲述,应该明白里面的大概,一步步兑现之前的承诺,会写上十篇左右的帖子来讲解里面的要点和难点,今天主要讲述的是baseActivity里面的WeakReference。最初入行的时候,使用handler一般都是如下方式:private Handle...
阅读(2740) 评论(3)

数据请求优化之容器缓存

今天qiugong兄弟喜得贵子,升级当爸,开心之余,决定写篇博客庆祝下,之前忙着一些琐事,自从上篇博客最新Retrofit + RxJava + MVP 发表后,原本打算写上十篇左右贴子来讲述之前传到github上的framework,却拖了一个多月还未动笔,惭愧。对于日常开发中,有时候很多接口并不需要多次调用,只需要访问一次就够,比如省、市、区三级目录,如果把这个放在本地,处理不当就会卡死,之前想...
阅读(1991) 评论(5)

最新Retrofit + RxJava + MVP

此处搭建的框架是目前最新版本,项目今天刚搭建好,(^__^) 嘻嘻……。 先撸上包: compile ‘com.jakewharton:butterknife:8.6.0’ compile ‘com.jakewharton:butterknife-compiler:8.6.0’ compile ‘io.reactivex.rxjava2:rxjava:2.1.0’...
阅读(1886) 评论(15)

Android混合开发,html5自动更新爬过的坑

现在使用混合开发的公司越来越多,虽然出现了一些新技术,比如Facebook的react native、阿里的weex,但依然阻挡不了一些公司采用h5的决心,当然,这也是从多方面考虑的选择。在三年前就使用过html5混合开发,当时做的是一款贵金属软件,涨跌五线谱、乾坤交易,还有各个股市的信息,那时候还是上波牛市爆发的前夕,哎。。。最近公司让用h5混合开发,一些页面和功能有h5分担,最初时候放在本地as...
阅读(2996) 评论(0)

android逆向分析之从smali到java

通过上一篇android逆向分析(一),在dex2jar的前提下,我们获取到了源码,在apktool的前提下,我们可以获取到资源和smali文件,本篇主要讲述smali几个最基本的语法和smali转java。 本片通过ServerListActivity.smali(来源于上篇apktool反编译出来的)来讲述,首先打开此文件,片段如下: .class public Lcom/cpic/jst...
阅读(9772) 评论(1)

android逆向分析之反编译

提到逆向工程,首先就要提到反编译,对于反编译,现在工具还是比较多的,市面上广泛应用的三神器(apktool、dex2jar、jdgui),本篇主要围绕着三神器展开,后面还会阐述smali和使用smali2java。我是通过这三神器入门的,最初的时候,通过反编译去看一些公司的架构和一些功能的实现,还是挺嗨的,但是伴随着软件安全意识的加强,还有各个公司对自己产品的保护,现在反编译的难度越来越大的,可读性...
阅读(1454) 评论(2)

泛型的一次总结

java在1.5版本中增加了泛型,在没有泛型之前,从集合中读取每一个对象都需要进行强转,如果一不小心插入了类型错误的对象,在运行时就会报错,给日常开发带来了很多不必要的麻烦,比如以下代码:public class TestGeneric { public static void main(String[] args) { List list = new ArrayList()...
阅读(1059) 评论(2)

刮刮卡功能的具体实现

今天整理之前的代码,忽然看到之前自己写的一个刮刮卡,整理下以便以后使用,同时分享给需要的朋友,如有错误,还请多多指正。实现的步骤,其实就是徒手画三个图层叠加在一起,最上层是绘制需要的问题,就是以上所述的“骚年,刮我吧”,第二层就是覆盖宽高的灰层,第三层是结果层,多的不啰嗦了,具体实现如下,附上详细注释。/** * * created by zero on 2016-9-9 * * 刮刮卡...
阅读(1199) 评论(0)

原来你是这样的NullPointerException

日常开发过程中,最常见的异常莫过于NullPointerException,之前的时候,只是知道去找到报错的位置,然后去解决它,最近有空学习C语言,就去深究了下NullPointerException异常的本质。发生NullPointerException的情况:调用 null 对象的实例方法。 访问或修改 null 对象的字段。 如果一个数组为null,试图用属性length获得其长度时。 如果一...
阅读(1079) 评论(0)

微信支付返回-1的问题集锦与各种爬坑过程

之前公司做微信支付的时候,负责这一模块的同事,天天抱怨微信支付的各种坑还有文档的不清晰,最近帮朋友做了一个app,里面就有这一功能,看了一上午文档,瞬间发现我的语文也没学好,各种看不懂就算了,提供的代码居然还有错误,我可以骂人吗???!!!还有更恶心的就是第一次调试的时候可以唤醒微信,以后就一直返回-1,相信会有很多朋友和我遇到同样的问题。先从申请微信支付说起,需要提供的包名和签名,包名这块肯定没问...
阅读(2143) 评论(9)

简述图片加载框架

南海争端在即,台海问题未解决,国家尚未统一,哪有心思写代码,即使吃着地沟油命,也不能隐藏一颗中南海的心,我们中国连红绿灯都不让,居然叫我们让中国的南海,真搞笑。。。 今天无心写代码,在公司就是看看新闻和整理点知识点了,无意间翻到我之前画给朋友的一张图,关于三级缓存和一些名词的解释,不多说,不怂,就是干,如下: 此处采用的是“内存–文件–网络”三级缓存,之前看过xutils 和imagelo...
阅读(1546) 评论(0)

十分钟解析LocalBroadcastManager

关于LocalBroadcastManager,首先要从BroadcastReceiver 说起,一次无意间打开BroadcastReceiver 源码,最上面的说明里面会有这么一段话:If you don’t need to send broadcasts across applications, consider using this class with LocalBroadcastManag...
阅读(5146) 评论(1)

十分钟探讨map与hashmap的排序

今天遇到一个关于map排序的问题,做个笔记(^__^) 嘻嘻…… 既然遇到了,就不如挖它祖坟看一看里面的究竟,说不定找到价值连城的古董或者什么的,也说不准,下面,一起去看个究竟吧^_^ 老规矩,先上代码,有代码有真相,如下所示: /** * * Created by zero on 2016-6-11 * */ public class HashMapSort { pu...
阅读(1141) 评论(0)

android之handler的刨根问底

最近在找工作,此篇博客总结给自己,也希望能帮助到在找工作的小伙伴。 对于handler,不管处于哪个层次,这个都是必问的面试题,这也是过来人的一个总结。我换工作还是比较频繁的,曾辗转无锡、苏州、南京、上海,虽然我只工作不到四年,呵呵,信息量好像有点大,但其中问到最多的就是handler,首屈一指。现在,我们一点点去刨开它。 首先从表面的开始解剖,在离开第一家的时候,那时候经验非常不足,不到一年的...
阅读(1667) 评论(2)

OKHTTP的单例和再封装

/** * Created by zm on 16-2-1 * okhttp的再封装,对于2.x版本,3.x版本将原有对okhttpclient配置 * 改成了builder模式配 * 置,对于超时、代理、dns,okhttp已经做好了配置, * 若不需要特殊配置,可以跳过 */ public class OkHttpUtil { private static OkHttpCli...
阅读(3431) 评论(0)
    个人资料
    • 访问:102725次
    • 积分:1564
    • 等级:
    • 排名:千里之外
    • 原创:38篇
    • 转载:0篇
    • 译文:0篇
    • 评论:164条
    QQ交流群

    Android路上

    611566797
    我的公众号
    博客专栏
    文章分类