自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 王者荣耀

2019-01-24 19:10:41 415

原创 发个图片

2018-12-24 22:56:10 272

原创 微信小程序 js 获取当前月份的天数

// 计算这个月有多少天 getCurrentMonthDayNum:function () { let today = new Date(); var dayAllThisMonth = 31; if (today.getMonth() + 1 != 12) { var currentMonthStartDate = new Date(today.getF...

2018-12-22 22:01:09 2816

原创 微信小程序流量主开通 (如何赚钱)

1. 介绍腾讯的小程序平台给个人开发者带来了福音,它的盈利模式也是非常简单清晰。2. 门槛最重要的是,个人是可以发布小程序的,千万不要以为只有企业可以发布小程序。小程序开通流量主的门槛不高不低,需要1000个独立 UV ,也就是说有1000个微信注册用户进入过你的小程序。一般来说,通过自己朋友圈转发二维码,或者通过在微信大群分享你的小程序,差不多一个月就可以达到门槛要求。3. 开通流量...

2018-12-15 17:57:37 9479 1

原创 5.0转场动画入门

参考http://extremej.itscoder.com/zoom-up-animation/效果图代码MainActivity.javapublic class MainActivity extends AppCompatActivity { ListView listView; MyAdapter adapter; @Override protected vo

2017-11-07 17:54:19 424 1

转载 入门surfaceView实现画图板

出处http://www.jianshu.com/p/15060fc9ef18效果图代码package com.qunar.yuzhiyun.surfaceviewdrawsomething;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import and

2017-11-07 14:11:21 1542

原创 用AIDL 实现service 主动发送消息给activity

题目详情1、实现一个activity和一个service,它们在不同的进程 2、service每隔3-5秒钟产生10条数据(10个数字,每个数字随即为1-100),然后发送给activity 3、并且activity用listview显示这些数据思路实现两个aidl接口,一个用于通知service产生数据,一个用于 service 通知activity更新数据效果图代码两个aidl文件如下:IG

2017-11-01 10:27:42 3215 1

原创 自定义View实现词组 不断行显示 并且高亮

1、题目详情实现一个自定义 View,其功能是: 1. 使用默认颜色(比如黑色)展示一段 text。 2. 使用这段 text 的中的某些词组高亮为其他颜色(比如红色),这些词组是作为参数输入的。 3. 这些被高亮的词组有一个特殊的要求:同一个词组中的单词不允许换行,例如 instance of 作为一个高亮词组时,词组中的 instance 不可以是一行中的最后一个单词。 4. 这个自定义

2017-11-01 10:07:07 698

原创 属性动画 模拟美团外卖购物车曲线动画

效果图就是点击右上角的按钮,会有一个小圆点从该按钮位置曲线移动到左下角的按钮的位置 MainActivity.javapackage com.qunar.yuzhiyun.propertyanimation;import android.animation.ObjectAnimator;import android.graphics.Point;import android.support.v

2017-10-12 19:04:50 1443

原创 RecycleView初体验

废话不多说,看代码compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wi

2017-09-27 16:42:55 395

原创 查看java 字节码(尝试阅读之初体验)

一、步骤:java Demo.java 编译java文件生成.class文件javap -c Demo 查看字节码二、java文件内容:public class Demo { public static void foo() { int a = 1; int b = 2; int c = (a + b) * 5; }}三、

2017-09-25 17:03:33 472

原创 java内部类编译错误 No enclosing instance of type Test03 is accessible. Must qualify the allocation with 。。。

首先看一段代码public class Test03 { class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public static

2017-09-19 16:46:12 1424

原创 使用AQS实现 独占锁 Mutex

Lock想要弄懂lock的原理,就得首先理解AQS,理解之前,先学会使用它。Mutex“` import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.AbstractQueuedSynchronizer; import java.util.concurrent.locks.Condition; import

2017-09-14 10:32:23 618

原创 getWidth( )和getMeasuredWith( )

返回值的来源1、getMeasuredWidth() getMeasuredWidth() 的取值最终来源于 setMeasuredDimension() 方法调用时传递的参数!在自定义 View 时测量并设置 View 宽高时经常用到,通常在 onMeasure() 方法中最后一步调用它。 2、getWidth( ) getWidth() 的取值最终来源于 layout() 方法的调用。通

2017-09-12 14:44:34 622

原创 动态规划解决找零钱问题

贪心算法这个题目首先我们会想到用贪心算法,但是贪心可能会导致得不到最优解,用动态规划就可以解决,通过记录子问题的结论,来推导更大的子问题的答案动态规划参考:http://blog.163.com/huang_zhong_yuan/blog/static/174975283201110604819214/ 感谢!!!public class CoinsChange { /**

2017-09-11 15:48:54 2574

原创 一个textView显示多个字体大小

String text = "哈哈哈,你这个傻逼,去死吧"; Spannable textSpan = new SpannableStringBuilder(text); textSpan.setSpan(new AbsoluteSizeSpan(30), 0, text.indexOf("逼") + 1, Spannable.SPAN_INCLUSIVE_INCLU

2017-09-05 17:20:22 916

原创 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 459

原创 二叉树节点数量关系

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 3130

原创 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 426

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

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

2017-08-25 14:55:48 1570

原创 二叉搜索树 插入节点

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

2017-08-18 10:00:22 393

原创 Activity 的Window创建过程

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

2017-08-16 14:36:43 385

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

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 421

原创 ListView实现GridView的效果

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

2017-08-10 17:57:02 973

转载 理解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 244

转载 回溯法 解决二叉树中找一条和为固定数值的路径(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

转载 获取Crash信息

通过Thread.setDefaultUncaughtExceptionHandler( );可以修改系统默认的异常处理器,从而捕获到崩溃信息以下给出一个简单的例子来说明:CrashHandler.javapackage com.qunar.yuzhiyun.crashhandler;import android.util.Log;/** * 自定义系统异常处理器 * Created by yu

2017-07-27 15:11:41 337

转载 检测ANR

线上环境的ANR错误需要我们及时的上报服务器,那么如何主动检测ANR错误呢?有人提出watchDog方式的检测方法,在主线程定义一个变量count,在子线程不断的通知主线程去更新count的值(比如+=1),子线程维护一个值与count相等的变量,睡眠5秒后去判断两个值是否相等,从而判断是否出现了ANR错误,以下代码简单的给出了示范。(读者在运行这段代码的时候,先点击FloatingActionBu

2017-07-27 10:19:40 900

原创 singleTop模式应用场景 以及OnNewIntent

应用场景1、消息推送界面。如果当前停留在消息详情界面A,突然来推送消息了,点击推送消息,又创建了一个详情界面A,按返回键back,用户会发现,点击了返回怎么还是停留在这个详情界面A呢,这样造成视觉差异2、网易新闻。假设主界面为 MainActivity,显示新闻的界面是 DetailActivity,显然显示任何一条新闻都会使用 DetailActivity,即把新闻内容通过 Intent 传给 D

2017-07-21 16:52:32 3605

原创 开源一个BitmapHelper.java

package com.yuzhiyun.learn.customradiobutton;/** * Created by yuzhiyun on 2017/7/18. *///// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//import a

2017-07-18 11:23:37 345

原创 LinearLayout通过shape设置圆角,但是最下面的textView却没有圆角

1、效果图2、问题描述背景:上图是一个vertical的linearlayout,最底部是一个textView,我希望的效果是整个视图都有圆角,而上图却只有上方有圆角3、解决办法单独给底部的textView设置一个shape作为背景,只设置底部有圆角<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.

2017-07-14 17:01:55 6056

原创 家校在线app 页面

1、借用宝地显示几个页面,用于展示给面试官看。(面试结束就删除,罪过)

2017-05-25 10:56:43 657

原创 java IO 示例 ,体现适配器模式

1、下面一段代码的功能是把一个txt文件的内容赋值给字符串package com.yuzhiyun;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;i

2017-05-24 20:23:15 410

原创 MVP 入门 (Android demo解析)

1、mvc mvp由于mvc下的Controller(也就是Activity)非常的臃肿,不仅要管理视图相关,还要处理一部分逻辑,于是就有了mvp的出现,将Activity看成视图,让他仅仅管理视图相关的工作,Activity不再和业务直接发生关系, 将与业务发生关系的代码从Activity中抽出,放在presenter 中。 看过别人写的关于mvp的博客,自己不写一遍,觉得还是懵懵懂

2017-05-11 15:34:04 1103

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

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

2017-07-25

AXMLPrinter2.jar

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

2016-09-10

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

TA关注的人

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