自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 ListView中adapter的getView()复用item原理

getView 经典写法@Override public View getView(int position, View convertView, ViewGroup parent) { final ViewHolder holder; if (convertView == null) { convertView = inflater.

2017-08-31 12:12:16 460

原创 二叉树节点数量关系

node 表示一棵树节点总数量node1 表示度为1的节点数量node2 表示度为2的节点数量]leaf 表示叶子节点的数量line 表示一棵树中茎(也就是两个节点之间的连线)的数量显然: node -1 =line; node=node1+node2+leaf; line=node1 + 2* node2; 那么 node1+node2+leaf -1

2017-08-30 18:57:15 3139

原创 Hufuman编码

原理http://bitjoy.net/2016/08/18/the-implementation-of-huffman-code/ 哈弗曼编码是一个很经典的压缩算法,压缩率能达到50%,甚至更低。它的基本原理包括四个步骤: 1. 统计文件中每个字符出现的频率。 2. 构建一个哈弗曼树。建树的过程是不断的合并频率最小的两个节点,父亲节点的频率为两个孩子节点的频率之和。如此循环直到合并成一个根节

2017-08-30 16:50:37 1109

原创 用注解实现简单的框架 避免频繁调用FindViewById

前言:关于butterKnife用过butterKnife的同学知道,他使得我们不再需要一直FindViewById,只需要在声明控件字段的上方加上@bind(R.id.XXX)即可。他的原理就是注解。接下来我们看一个简单版本的butterKnife。From.java (注解类)package com.qunar.yuzhiyun.annotation.annotation;import java

2017-08-28 18:56:10 428

转载 一张图概括App启动流程

一、神图:二、说明笔者在下面博文内容的基础上,加上自己的理解,对图片稍加了一点点修改,启动流程文字部分也有所修改 参考:http://www.sohu.com/a/130814934_675634 (感谢楼主)三、启动流程:①点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;(startActivity()中调用Ac

2017-08-25 14:55:48 1572

原创 二叉搜索树 插入节点

package com.yuzhiyun;import com.yuzhiyun.PreOrder.BinaryTreeNode;public class DealBinarySearchTree { /** * 二叉树的树结点 */ public static class BinaryTreeNode { public BinaryTreeNode

2017-08-18 10:00:22 394

原创 Activity 的Window创建过程

1、ActivityThread 中的performLaunchActivity ( )在通过classLoader加载到MainActivity之后,反射出一个 MainActivity对象activity,然后会调用activity.attach( ),在这个函数中,会创建window//mWindow是Activity的一个成员private Window mWindow; //可以看出w

2017-08-16 14:36:43 386

原创 二叉树递归与非递归层次遍历

package com.yuzhiyun;import java.util.LinkedList;import java.util.Queue;import com.yuzhiyun.FindPathInBinaryTree.BinaryTreeNode;public class BinaryTreeLevelPrint { public static void main(String[]

2017-08-15 10:30:25 514

转载 01背包

题目现有n件物品和一个容量为c的背包。第i件物品的重量是重量为w[i],价值是v[i]。已知对于一件物品必须选择取(用1表示)或者不取(用0表示),且每件物品只能被取一次(这就是“0-1”的含义)。求放置哪些物品进背包,可使这些物品的重量总和不超过背包容量,且价值总和最大。分析m[i][j]表示当可以放入前i件物品且背包容量为j时的最大价值代码package com.yuzhiyun;public

2017-08-12 11:49:06 204 1

转载 Hook startActivity()函数追加一条日志

目的希望程序员每次调用startActivity()的时候,可以多打印一条日志。实现原理startActivity() 执行过程中,会调用到ActivityThread的成员对象mInstrumentation的 execStartActivity()函数,于是我们可以自定义一个EvilInstrumentation(extends Instrumentation )类,重写execStartAct

2017-08-11 10:52:32 422

原创 ListView实现GridView的效果

为什么不直接使用GridView?由于GridView很难实现下拉刷新功能,开源的pullToRefresh 是通过基于listView实现的。为了既要有下拉刷新功能,又要达到GridView(一行可以显示多列)效果,于是就产生了extends BaseAdapter自定义实现一个ListAsGridBaseAdapter 的想法。代码ListAsGridBaseAdapter.javapacka

2017-08-10 17:57:02 977

转载 理解HTTPS

一句话总结https使用非对称加密交换密匙key,使用这个key进行对称加密进行数据传输一个通俗易懂的比喻参考自http://www.jianshu.com/p/b894a7e1c779 感谢作者____每当我们讨论到信息安全的时候,我们最长接触到的信息加密传输的方式莫过于 HTTPS 了,当我们浏览器地址栏闪现出绿色时,就代表着这个网站支持 HTTPS 的加密信息传输方式,并且你与它的连接确实

2017-08-07 18:47:58 411

转载 二叉树非递归遍历

参考http://blog.csdn.net/sgbfblog/article/details/7773103 感谢package com.yuzhiyun;import java.util.Stack;import javax.xml.soap.Node;import com.yuzhiyun.FindPathInBinaryTree.BinaryTreeNode;public class Pr

2017-08-04 17:07:56 245

转载 回溯法 解决二叉树中找一条和为固定数值的路径(java)

问题描述其中路径指的是从跟节点到叶子节点经过的路径代码package com.yuzhiyun;import java.util.ArrayList;import java.util.List;public class FindPathInBinaryTree { /** * 二叉树的树结点 */ public static class BinaryTreeNod

2017-08-03 16:44:00 337

转载 八皇后问题 java

一、什么是八皇后问题有一块8乘8的棋盘(64个格子),还有8个皇后需要放在在64个格子上,有多少种放置方法可以使得皇后不在同一行、不在同一列,不再同一斜线。 二、代码(参考自 https://my.oschina.net/js99st/blog/417837 感谢作者辛苦注释)package com.yuzhiyun;public class NQueen { /** 皇后数组,数组的下标

2017-08-03 15:35:31 344

原创 Asynctask 原理

简介: Asynctask表示异步任务,在用法上,他有四个重要的函数,onPreExecute( ) ,doInBackground ( ),onProgressUpdate( ) ,onPostExecute( ),其中只有doInBackground ( ) 运行在子线程,其他都在主线程,在doInBackground()中可以通过publishProgress( )来更新进度,在on

2017-08-01 16:10:54 320

android listView实现地区城市选择视图

android listView实现地区城市选择视图 ,右侧带字母选择

2017-07-25

AXMLPrinter2.jar

java -jar AXMLPrinter2.jar AndroidManifest.xml > output.xml

2016-09-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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