Simon_Hu

打渔还是晒网?这是一个问题。

Apk源码的加固(加壳)原理解析和实现

好久没写博客了,要深刻检讨下!前言: 在Android中没有经过加密的Apk给人的感觉就是在裸奔,通过apktool,dex2jar,AndroidKill等各式各样的反编译工具就可以轻松的获取其smail代码,如这个叫SourceProject的helloworld程序被apktool反编译后...

2017-06-19 00:30:43

阅读数:2460

评论数:4

MVP的认识

为何MVP模式能在Android开发中大放异彩,我觉得很大一部分原因来源与传统的model-view的开发模式使得everything is connected with Activity。MVP开发模式使一部分的业务逻辑从Activity中抽取出来。 那MVP是怎样的呢? 我们先理清M(mod...

2017-06-04 15:28:35

阅读数:746

评论数:0

[设计模式]接口代理实现Application的多继承

在工作中碰到一个场景,就是你APP的Application是需要继承自家的Application,但是你在接入别人的SDK时,有的sdk接入要求你的Application继承他家的Application,这就比较尴尬了.Java只能单继承这可怎么是好? 接口代理就可以用上了. 首先我们让清单文...

2017-03-29 11:50:26

阅读数:1066

评论数:0

[读书笔记]被人熟知的Activity

好久没写博客了,最近找了份实习,各种事情乱七八杂,但是没写就是没写不能为自己找借口! 今天2017年2月20日,在这立个flag,接下来每星期至少写一篇博客!工作笔记,读书笔记,不想成为工程师的码农不是好的程序员!正文:生命周期说到activity大家肯定都生命周期背的66的,那我们还是从生命周...

2017-02-20 23:37:21

阅读数:622

评论数:0

[设计模式]代理模式在android中的使用

假如,我们现在要在每次启动一个activity之前都要打印一条信息。 最笨的方式就是用一个BaseActivity集成Activity,但是,如果我们这个项目已经进行了N多年,想象一下,这得修改多少源码,且这破坏了我们的设计原则,我们尽量扩展而不是修改代码。那些已有的代码都是经历时间考验的,修...

2017-01-22 19:01:09

阅读数:598

评论数:0

Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案

在Android中我们经常会用到ViewPager+Fragment组合。然而,有一个很让人头疼的问题就是,我们去加载数据的时候由于ViewPager的内部机制所限制,所以它会默认至少预加载一个。这让人很郁闷,所以,我就想到要封装一个Fragment来解决这个问题。 这里还解决一个问题就是在...

2017-01-20 15:18:25

阅读数:347

评论数:0

Android Studio发布library到jCenter(问题集合)

烦心简单的事情折腾一天了,现在将碰到的问题集中写下,方便以后查询 试过两种方法 gradle-bintray-plugin插件 有点麻烦,不过能用 ,推荐篇文章:在AndroidStudio中,使用Gradle打包aar到JCenter仓库!完整版教程!填补各种坑 bintray-releas...

2016-12-07 11:49:34

阅读数:1355

评论数:1

[图片备份]个人理解的Android事件分发机制

本来准备演讲的绘制的草图,结果没用上,好不容易绘制,就在这备份下吧!

2016-11-18 21:38:41

阅读数:324

评论数:0

Android 使用极光推送自定义消息打造个性的消息推送效果

极光推送,是一个面向普通开发者开放的,免费的第三方消息推送服务。本篇博客将结合案例介绍极光推送自定义消息的使用方法,利用自定义消息实现项目中特定的消息推送需求。本案例将实现如图效果: 参考官方Android SDK 教程完成激光推送的基本配置 区别通知和自定义消息 通知即指在手机的通知栏(状态...

2016-11-18 21:34:05

阅读数:2580

评论数:0

一个好用的全局异常捕获器

好久没写博客了,拿着个凑个数吧,这是一个全局异常捕获器,可以直接shotdown程序也可以再次重启程序,会将错误信息生成文件,方便上传至服务器,上传操作没有做,复制就能用!package com.jju.yuxin.cinews.utils;import android.content.Conte...

2016-11-18 20:24:50

阅读数:274

评论数:0

Android中保存和恢复Fragment状态的最好方法

英文原文:Probably be the best way (?) to save/restore Android Fragment’s state so far 经过这几年使用Fragment之后,我想说,Fragment的确是一种充满智慧的设计,但是使用Fragment时有太多需要我们逐...

2016-11-05 20:04:50

阅读数:366

评论数:0

Android中的定时器AlarmManager

在Android上常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个...

2016-10-12 21:19:58

阅读数:373

评论数:0

Android Studio下导入百度地图Demo

首先你需要下载百度地图的Demo,解压出来是这样的结构,下面我们以BaiduMap_AndroidSDK_v4.0.0_Sample这个demo为例,1.修改配置文件因为每个人的gradle版本,以及sdk版本都不一定相同,我们需要来到项目修改下列文件的配置信息 BaiduMap_Android...

2016-10-10 19:36:23

阅读数:5454

评论数:0

Android Stuido下NDK的简单实现

本文参考我同学的博文实现,有不清楚的地方,可以去他那看看. 在android studio 2.1 实现简单的ndk JNI是Sun公司定义的一套编程框架标准接口,允许Java代码和本地代码的相互调用. 我们什么情况下会使用JNI技术呢? 需要注重处理速度 直接进行硬件控制 对已有的本地...

2016-10-05 14:58:36

阅读数:1196

评论数:0

android中.9图的编辑

.9图也叫作自动拉伸位图.因为图片的后缀是.9.png所以也就称作.9图了,在很多的应用场景中我们都会用到.9图,比如QQ的聊天气泡,QQ发送的红包图片,等等他们都能够很好的适应内容的大小显示图片,并保证放大后的图片不失真,在sdk/tools下的draw9patch.bat可以编辑.9图,在An...

2016-10-03 23:50:33

阅读数:1388

评论数:0

[读书笔记]布局的屏幕适配常用方法

因为android的开放,android碎片已经无比严重了,在android中使用的又是pd,px,sp等单位,不像web一样使用百分比计算,现在app只兼容一种分辨率几乎没有 那这么多的分辨率我们怎样来适配呢?下面是我了解了的几种常用方法: 尺寸限定符 在res文件夹下建立不同分辨率的l...

2016-10-01 22:08:44

阅读数:324

评论数:0

[读书笔记]weight知多少

在LinearLayout(线性布局)中有个weight(权重)属性是大家经常用到的,下面有三种weight的使用场景,你能清楚的分辨控件各自所占的百分比吗? 场景一: <LinearLayout android:layout_width="match_pa...

2016-10-01 13:50:59

阅读数:356

评论数:0

[读书笔记]监听事件的四种方式原理分析(接口回调)与比较

方式一:在布局文件的控件上设置onClick属性 布局文件:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.an...

2016-09-21 13:41:22

阅读数:1458

评论数:0

Android IntentService完全解析 当Service遇到Handler

一 概述大家都清楚,在Android的开发中,凡是遇到耗时的操作尽可能的会交给Service去做,比如我们上传多张图,上传的过程用户可能将应用置于后台,然后干别的去了,我们的Activity就很可能会被杀死,所以可以考虑将上传操作交给Service去做,如果担心Service被杀,还能通过设置st...

2016-09-20 22:46:23

阅读数:307

评论数:0

[读书笔记]intent.putExtra的使用与原理分析

在android中用intent传递数据是非常常见的操作,我们一般会用intent.putExtra()这个方法来放入自己要传递的数据,然后再另一个地方使用getxxx()来获取,其中intent.putExtra()的传参类型有很多种:Intent putExtra(String name, ...

2016-09-19 00:16:01

阅读数:13951

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭