apigfly的博客

技术大白

XMLParser一个基于Dom4J的XML解析工具的使用

XMLParser介绍 XMLParser 是一款Android XML文件解析生成工具,通过注解的方式来实现XML文件内标签的生成和解析。 使用gradle引入 compile 'lee.hua.xmlparse:xmlparse:2.3.0' 简单使用 场景:一个关于书本信息的描...

2018-03-02 14:44:47

阅读数 928

评论数 0

期望为线性时间的选择算法

在了解选择算法前,我们先熟悉一个名词顺序统计量。在集合中,第 i 个数序统计量指的是该集合第 i 小元素。 而选择算法处理的问题是:在 n 个元素组成的集合中,查找第 i 个顺序统计量的问题。假如i=3,即需要查找集合中第 3 小的元素 基本思想 利用分治思想,以快速排序中的分区算法为基础,...

2018-12-17 00:04:29

阅读数 50

评论数 0

算法之计数排序

计数排序是一个非基于比较的排序算法。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。当然这是一种牺牲空间换取时间的算法。 基本思想 计数排序的基本思想是:对每一个输入元素 x,确定小于 x 的元素个数。例如,如果有7个元素小于 x...

2018-12-17 00:02:48

阅读数 11

评论数 0

算法之快速排序

快速排序是一种最坏情况时间复杂度为 o(n^2)的算法。虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序应用中最好的选择,因为它的平均性能非常好:它的期望时间排序复杂度是o(nlgn) 描述 与归并排序一样,快速排序算法也使用了分治思想,下面是快速排序的三个分治过程: 分解:数组...

2018-12-11 23:52:41

阅读数 14

评论数 0

排序算法之堆排序

堆排序,使用一种称为堆的数据结构来进行信息管理。堆不仅用在堆排序中,它还可以构造一个有效的优先队列。时间复杂度O(nlogn) 堆 (二叉)堆是一个数组,可以被看成一个近似的完全二叉树。书上的每个节点对应数组中的一个元素,除了最底层,该树是完全充满的,而且是从左到右填充。 二叉堆可以分为两...

2018-10-31 23:19:10

阅读数 21

评论数 0

算法之分治策略与应用

归并排序中我们利用了分治策略,在分治策略中,我们递归求解一个问题,在每层递归中应用如下三个步骤: 分解:将问题划分为一些子问题,子问题的形式与原问题一样,只是规模更小。 解决:递归的求解出子问题。如果子问题的规模足够小,则停止递归,直接求解。 合并:将子问题的解组合成原问题的解。 当子问题...

2018-10-29 22:20:24

阅读数 103

评论数 0

排序算法之归并排序

排序算法之归并排序 归并排序是分治策略的应用之一,分而治之。 归并排序的思想是:将队列拆分为子队列直到不可分,再将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。 核心 归并排序的核心是分治思想和递归实现 分治策略:将原问题分解为几个规模较小但类似于原问...

2018-10-23 10:05:23

阅读数 39

评论数 0

排序算法之选择排序

选择排序 最近在看《算法导论》,半路出家的我看的着实头痛,先记录下心得,难得的好书。 PS:看不懂的书才是好书

2018-10-22 11:27:51

阅读数 26

评论数 0

反射+代理实现 API Hook(以 ActivityManager 为例)

最近看Android招聘信息,发现一个自己不太会的点 hook 机制,查了一下资料,现在整理一下。特别感谢acxingyun同学提供了详细的姿势。点击地址 什么是 Hook hook 翻译过来是钩子的意思。 目的就是在事件传送到终点前截获并监控事件的传输,像个钩子钩上事件一样,并且能够在钩...

2018-04-12 20:37:27

阅读数 601

评论数 0

DrawerLayout+CoordinateLayout+CollapsingToolbarLayout 实现AppBar折叠+抽屉效果

本次主要实现两个效果,抽屉效果和 主页AppBar折叠效果。 主页AppBar折叠效果的实现 实现折叠效果,我们用到的是 Support Design Library 包下的 CoordinateLayout、AppBarLayout、CollapsingToolbarLay...

2018-04-10 16:50:08

阅读数 150

评论数 0

GreenDao笔记(二)

GreenDao进阶笔记,通过 注解 JAVA 对象描述数据库表结构,以及实现一对多、多对多的联系,简单直接上代码,后面有详细说明 配置代码 @Entity public class Soldier{ //人员表 @Id(autoincrement = true) ...

2018-03-23 13:28:17

阅读数 31

评论数 0

GreenDao笔记(一)

最近在搜寻好的数据库操作框架,发现GreenDao确实不错,结合项目使用过程,记录下配置细节,以供随时查看 GreenDao 数据库配置 greenDao不做太多介绍,一个很厉害的数据库框架,每秒钟读写高达30000次,下面主要记录简单的配置过程。 1.首先,在project的b...

2018-03-23 13:21:39

阅读数 41

评论数 0

PathMeasure 重点方法详解

PathMeasure 重点方法详解 前 最近准备系统学习一下Android知识,Path操作时遇到一个比较难理解的类PathMeasure,一番研究(百度一下),记录一下自己的理解。在此特别感谢GcsSloop同学的博文,对于 Android 自定义 view 知识写的很好,收益匪浅。...

2018-03-14 13:25:37

阅读数 170

评论数 1

Android NDK基本配置

Windows下Android ndk 配置 ndk包 本次安装用的是android ndk 版本为 android-ndk-r12b-windows-x86_64 环境变量配置 将解压后的ndk路径添加到PATH中,本机为“D:/ndk” Android项目配置 1.新建Androi...

2018-03-03 07:37:13

阅读数 62

评论数 0

基于Dom4J实现XML快速解析(三)

XMLParse之XML文件生成实现 前面实现了XML的设计和文件解析,对于XML文件的生成,原理依然是按照反射机制,将XML标签类实例逆向保存到dom4j.jar中的Element中,对照前面两篇文章,实现并不困难 思路分析 通过反射取到XML标签类中的各个变量的类型和值...

2018-03-02 11:05:16

阅读数 39

评论数 0

基于Dom4J实现XML快速解析(二)

XMLParse之XML文件解析实现 第一篇已经介绍了基础的XMLAttribute、XMLBase、XMLNoChilds、XMLHasKids四个类的设计,接下来我们根据上面四个类进行XML文件的解析。 提示,在解析XML时用到了第三方的dom4j.jar导入即可(站在巨人肩膀上...

2018-03-02 10:46:16

阅读数 30

评论数 0

基于Dom4J实现XML快速解析(一)

XMLParse之基本对象的建立 公司项目很多都是需要对XML进行编辑、解析,时间一久觉得解析时按照固定的标签解析太过繁琐,作者决定通过反射搞一搞快速解析生成XML。 XML分析 XML的结构骨架其实很简单,就是标签的集合。所以我们需要定义出抽象的标签类来(作者的灵感来源是来自...

2018-03-02 10:40:11

阅读数 66

评论数 0

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