自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SingleShu的博客

不忘初心,方得始终

转载 win10+OLLVM编译与使用(最新最详尽)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/hzhdy/article/details/94737931 编译环境:win10 所需工具:cmke,mingw,我用的都是最新的包 ...

2019-12-08 17:40:48 174 0

转载 常见android app加固厂商脱壳方法研究

这篇文章主要介绍了常见android app加固厂商脱壳方法研究,需要的朋友可以参考下 目录简述(脱壳前学习的知识、壳的历史、脱壳方法) 第一代壳 第二代壳 第三代壳 第N代壳 简述Apk文件结构Dex文件结构壳史壳的识别Apk文件结构 Dex文件结构 壳史 第一代壳 Dex加密 Dex字符串...

2019-12-08 17:40:34 224 0

转载 基于Android的ELF PLT/GOT符号重定向过程

#引言 写这篇技术文的原因,主要有两个: 其一是发现网上大部分描述PLT/GOT符号重定向过程的文章都是针对x86的,比如《Redirecting functions in shared ELF libraries》就写得非常不错。虽然其过程跟ARM非常类似,但由于CPU体系不同,指令实现差异非...

2019-12-08 17:40:22 45 0

原创 Android监听键盘弹出收起

在日常需求中,有一个需要监听键盘得需求,监听键盘得方案有很多,网上出现得有自定义view,监听layout重新布局,查看位置变化,来键盘确定是否弹出。也有使用ViewTreeObserver.OnGlobalLayoutListener,监听根布局得大小变化,究其根本都是监听控件高度变化。在网上溜...

2018-12-29 19:34:05 2128 0

原创 Android NDK系列(六)- 文件拆分与合并

NDK系列(一)-AS使用javah生成so文件 NDK系列(二)-AS使用CmakeLists生成so文件 NDK系列(三)-AS编写C文件没有提示和不识别NULL NDK系列(四)-AS生成jar包、导入so库并使用方法 NDK系列(五)- AS导入so三方库,使用C/C...

2017-10-28 14:16:33 599 0

原创 Android NDK系列(五)- AS导入so三方库,使用C/C+方法

NDK系列(一)-AS使用javah生成so文件 NDK系列(二)-AS使用CmakeLists生成so文件 NDK系列(三)-AS编写C文件没有提示和不识别NULL NDK系列(四)-AS生成jar包、导入so库并使用方法 接着捣鼓ndk,我们在开发的时候,不可避免的需要使用一...

2017-09-08 16:25:20 4468 4

原创 Android NDK系列(四)-AS生成jar包、导入so库并使用方法

NDK系列(一)-AS使用javah生成so文件 NDK系列(二)-AS使用CmakeLists生成so文件 NDK系列(三)-AS编写C文件没有提示和不识别NULL AS导入so库呢,这其实很简单。很多的三方都会使用到so文件,和一些jar包。这里呢,还有一种就是我们在编写自己的C/...

2017-09-08 15:32:37 3566 0

原创 Android NDK系列(三)-AS编写C文件没有提示和不识别NULL

我开始在AS编写C文件的时候,没有提示,那是多么痛的领悟啊,所有的方法都纯敲,有时候还不知道C那些方法,参数是什么,查呀查。真的是很无语~之前用eclipse生成h头文件,然后将头文件放在VisualStudio项目中,在VS编写C文件,这是有提示的,很方便。然后在生成解决方案,生成dll文件,e...

2017-08-15 17:38:18 2980 5

原创 Android NDK系列(二)-AS使用CmakeLists生成so文件

接着上个文章,继续看AS能怎么生成so文件。 Android NDK系列(一)-AS使用javah生成so文件 :http://blog.csdn.net/sw5131899/article/details/77183352这个就简单多了,直接创建就行了。1、创建一个项目工程我之前Cmake没有...

2017-08-15 17:24:16 6810 4

原创 Android NDK系列(一)-AS使用javah生成so文件

NDK,全称Native Development Kit。当jdk无法满足开发或者对效率要求比较高,比如音视频处理,这时候使用NDK就比较合适,废话不多说。直接开始撸、1、创建一个工程项目 2、创建一个library module,便于之后将so文件导入其他工程使用。当然导入其他工程可以只导入s...

2017-08-15 11:20:25 3240 5

原创 Android测试系列(二)- JMeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。JMeter 可以...

2017-08-10 12:32:22 567 0

原创 Android进阶系列 - 小视频录制取消及播放

公司项目需要加一个小视频录制,发布在咨询。这不是什么新的东西,在网上一搜,捣鼓捣鼓就有了。功能实现了,我就把这个模块抽离出来,做个记录。如果有需求和我这个差不多的,直接拿去改改就ok了。当然我这个也是参考了博客还有git上很多同道的视频录制相关的东西整理出来的。二话不说,先看看效果吧 制作的gi...

2017-07-05 11:04:07 1843 6

原创 AndroidUI系列 - 自定义View手绘小黄人

总是想尝试各种自定义控件,来熟悉谷歌提供的一些自定绘图的方法,那就画一个小黄人吧。我在git上找到一个小换人的源码。它是按照比例计算的,有一定的公式,我觉得太麻烦了。就用自己的理解画了一个写死大小的小黄人。先给大家看看效果。 git上的小黄人是这样的。 我用代码画出来的是这样的。 其实有很多...

2017-06-29 16:24:37 338 0

原创 AndroidUI系列 - View实现圆形进度条

我就不从canvas和paint开始说了,onMeasure,onLayout,onDraw这些方法的介绍和源码解析。网上一搜很多。一篇解释不清楚,多看几篇。话不多说了,先看看效果吧。做成gif显示会有问题。我们先来分析一下需要什么数据、 1、需要一个进度 2、需要进度条基本信息,颜色,宽度,...

2017-06-10 15:54:59 1678 0

原创 AndroidUI系列 - ViewGroup实现瀑布流

其实瀑布流现在用的越来越少了,更多的是使用MD的风格了。风靡一时的瀑布流现在渐渐地开始退居后幕了。不过,瀑布流也是个不错的自定义控件练习方式。相对简单的实现逻辑,可以帮助更好的更快的上手ViewGroup的自定义,以及onMeasure和onLayout等方法的理解和学习。先看看效果。那么再来看看...

2017-06-09 17:08:18 310 0

原创 AndroidUI系列-ViewGroup流式布局

很多时候,我们会遇见各种各样的需求,流式布局算是非常常见的一种。像各种菜单啊,展示之类的。其实这个很简单,可以自己手写一个,顺便练练自定义控件。先看看效果。那么先来分析一下,满足这个需求,应该需要做哪些准备。就像备注写的一样, 首先需要准备的条件: 一个List<List< Vie...

2017-06-01 14:08:37 204 0

原创 AndroidUI系列--在DecorView层解决RecyclerView和ScrollView的滑动冲突

滑动冲突,这个是作安卓的必经之坑。最开始的ListView和ScollView冲突,或者ListView嵌套ListView滑动冲突,再或者ListView和ViewPager的滑动冲突,再或者是GraidView等可滑动控件互相嵌套的冲突。解决方案呢,有很多。比如在onTouchEvent中拦截...

2017-05-23 11:06:35 956 0

原创 Android基础系列 - 手势(二)自定义,识别手势

之前把谷歌提供的Android手势相关的官方文档和网上一些手势分析的文档,也写了一个简单的示例。 手势识别(一) :http://blog.csdn.net/sw5131899/article/details/70198923 那么今天继续深入学习手势相关的API,增加手势提供了API...

2017-04-20 23:24:29 571 0

原创 Android基础系列 - 手势识别、运用(一)

Android开发中,几乎所有的事件都会和用户进行交互,而最多的交互形式就是手势了。也有很多手势三方的库。比如 android-gesture-detectors 、AndroidPdfViewer(这个库支持pdf文档显示,支持手势),这些三方库都是不错的手势识别。不过今天我们来看看谷歌提供的...

2017-04-18 17:13:58 8097 6

原创 Android动画系列(三) - Property Animation

那么接着学习属性动画,之前的ViewAnimation和插值器看了的话,那么谷歌提供的动画效果掌握的差不多了。这里给出之前的文章链接。 Android动画系列(二)插值器效果:http://blog.csdn.net/sw5131899/article/details/70176382 Andro...

2017-04-15 18:50:34 275 0

原创 Android动画系列(二) - 插值器效果

在前面讲了基础动画的ViewAnimation的所有动画实现形式,xml和java代码实现。不过谷歌还提供了一个不错的效果,那就是插值器。不同的插值器对展现的动画效果有较大的影响。 参考启航的插值器介绍学习:http://blog.csdn.net/harvic880925/article/det...

2017-04-14 23:58:34 308 0

原创 Android框架系列 - 手写,浅析Rxjava

Rx系列当前用的比较广泛,链式调度,方便整理逻辑和书写规范。便于阅读。用的人越来越多,那么既然用了,总是想要去一探rxjava的究竟。这里简单的记录一下学习过程和分享一下学习经验。其实谈不上解析rxjava。哈哈~~这里给一些想要学习rxjava的链接,我觉得写得很好的,一个是抛物线的rxjava...

2017-04-14 20:41:06 1111 0

原创 Android动画系列(一) - 基础动画ViewAnimation

动画是Android一个相当重要的组成部分,作为安卓开发者也许多多少少用过一些动画三方库。我一直想要系统的整理一下动画相关的知识。在网上逛了逛,发现很多都已经总结过了,启航的自定义控件三部曲是他花费大心思写的。真心很不错,鸿洋也写过类似动画的文章,郭神也发过动画介绍,这里我就从头开始,参考着他们的...

2017-04-14 11:58:13 2249 0

原创 Android测试系列(一)-Monkey

测试呢,是安卓开发不可避免的。会开发很重要,会测试同样很重要,自己开发的app没有bug,一次运行便过。这是多么幸福的事啊。不过,这基本是不可能的。或多或少都会有各种各样的bug。但是为了避免这些bug在线上版本出现问题,所以在上线之前肯定要测试的。这个可以交给公司测试人员。不过,作为开发者,不也...

2017-04-11 20:58:58 696 0

原创 Android基础系列-大纲汇总

这里写图片描述 说明其中大部分文章都是转载自其他大神之手,在转载的过程中学到了很多,这里主要讲解的是Android体系的相关知识点,本文会持续更新。 1 Android service相关知识点Android Service完全解析,关于服务你所需知道的一切(上) http://blog....

2017-04-05 10:21:26 309 0

原创 Android进阶系列-手写高并发图片加载框架

手写高并发图片加载框架图片加载框架在当前已经是相当的成熟了,想要有创新。就是需要从图片加载速度和图片缓存, 还有内存占用和生命周期监控上去做文章。glide做的就比较好。出自squre团队的良心作品。 该团队可以说是安卓业界良心,还有最近很火的retrofit和okhttp均出自该大神团队,还有很...

2017-03-27 11:54:42 2232 0

原创 Java基础之线程安全基本数据类型

先来个美女镇楼!别举报我开车哦~~ 我们在开发安卓或者后台的时候,经常会开启多个线程或者进程。这样做的猿友肯定遇见过一个麻烦,那就是有的时候可能会出现多个线程访问一个变量。这个时候可能出现线程错位,访问到了我们不想让那个线程得到的数据。那么怎么办呢,常用的方法就是加锁,使用synchroni...

2017-03-14 17:27:38 3797 1

原创 Android进阶系列-手写高并发网络访问框架

一个项目,访问网络那是必须的。现在开源的网络框架很多。比如最开始的HeepClient,Volley,xUtils,最近很火的okhttp,还有例如retrofit,okGo这些都是很不错 的框架。但是毕竟是别人写的。出了什么问题都不好查找。这里自己封装了一个网络框架,记录一下封装思路。 采用线程...

2017-03-11 23:04:47 3777 3

原创 算法入门-数组和字符串

3-1 数组 3-1-1开灯问题 有n盏灯,编号为1~n。第一个人把所有灯打开,第二个人把所有编号为2的倍数的开关按下(这些灯将关闭)。第3个人按下所有编号为3的倍数的开关(开着的会关,关的会打开),依次类推。一共有k个人。问最后有哪些灯开着。输入n和k,输出开着的灯编号。k 样例输入:7 3 ...

2017-03-03 11:59:55 214 0

原创 算法入门-循环结构程序设计

2-1 aabb 输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。 方法一: class calculate{ public static void main(String[] args){ for(int i=1000;i < 9999 ;i++){ ...

2017-02-27 11:28:23 813 0

原创 Android进阶系列-手写数据库框架

数据库在某些特定需求下是很重要的,像持久化数据,一些不需要实时或者长时间不变的数据,可以放在数据库中做缓存,这样就算用户网络不好或者断网的情况下,依然是可以查看一些以前的数据。像新闻或者咨询类。这样做是不可避免的。提高用户的体验。    谷歌为我们开发者提供了最基础的数据库操作类,同时也提供了...

2017-02-26 16:07:42 1343 0

原创 java数据结构-数据结构的概述

数据结构包括 数组、有序数组、栈、队列、链表、二叉树、红-黑树、2-3-4树、哈希表、堆、图。 数据结构 优点 缺点 数组 插入速度快 查找慢 有序数组 比无序的数组查找快 删除插入慢 栈 提供后进先出方式的存取   队列 提供先进先出方式的存取   链表 插入快,删除...

2017-02-22 11:29:01 536 0

原创 java -Math常用方法

Math类提供了常用的一些数学函数,如:三角函数、对数、指数等。一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可。 Math.abs(12.3); //12.3 返回这个数的绝对值 Math.abs(-12.3); ...

2017-02-22 10:06:43 232 0

原创 算法入门-程序设计入门

1.计算出8/5的值保留小数点1位。 class calculate{ public static void main(String[] args){ double result = 8.6/5.0; ps("%.1f",result); } public ...

2017-02-21 18:34:06 457 0

原创 基于Zxing的二维码扫描解析库——ZxingPlus

二维码几乎成为现在安卓手机不可或缺的功能之一,不论是推广还是相互关注功能的需求,都需要二维码生成和扫描解析等等。Zxing是安卓手机二维码生成中非常好用的了。但是导入Zxing还需要自定义很多功能,那么我们可不可以把这些常用的功能封装好,做一个三方库,方便自己更方便大家呢。是的,方便方便....(...

2017-02-16 17:38:14 1655 0

原创 Android进阶系列-发布项目到Jcenter

作为一个Android开发,目前大部分应该使用的是AS了。那么导入gradle使用三方library次数应该也不少,像这样 compile 'com.google.zxing:core:3.2.1',毕竟是开源,有很多东西不必自己亲力亲为,站在巨人的肩膀上继续前进才是我们An...

2017-02-15 16:49:47 383 1

原创 java注解-ElementType详解

java注解使用是相当频繁,特别是在搭建一些框架时,用到类的反射获取方法和属性,用的尤其多。(特喜欢鬼刀的画风) java中元注解有四个:@Retention @Target @Document @Inherited;   @Retention:注解的保留位置            ...

2017-02-09 14:56:03 38661 10

转载 Rxjava具体方法详解

原文是简书一位猿友写的。写的很实在,不错,值得收藏。http://www.jianshu.com/p/64aa976a46be 想写好一篇文章确实不容易,感谢那些大牛们能够分享自己的所见所得。关于rxjava的原理以及观察者模式等理论性的内容我就不在这里献丑了,网上有很多很优秀的博客。回头我添加...

2017-02-07 09:54:35 1791 0

原创 Android进阶系列--源码分析观察者模式在ListView的运用

源码是谷歌攻城狮的精髓,我们要向他们学习,提高自己,只能翱翔于源码的海洋,才能明白谷歌攻城狮的强大。观察者在我们开发过程中使用的是相当的多,那么在源码层就使用的更多了。之前有做过观察者模式的学习笔记。这里就不重复一遍了。http://blog.csdn.net/sw5131899/article/...

2017-01-08 13:17:29 379 0

原创 Android进阶系列--源码分析模板方法模式在AsyncTask的运用

模板方法之前我做了一些学习笔记,http://blog.csdn.net/sw5131899/article/details/52413701 模板方法的作用主要是规定子类的一些方法的调用顺序和父类封装好在何处调用。子类只需实现它的抽象方法,一些实际的逻辑就行,我们在使用AsyncTask的时候...

2017-01-07 23:38:30 250 0

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