- 博客(210)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 微信小程序 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
2968
原创 微信小程序流量主开通 (如何赚钱)
1. 介绍腾讯的小程序平台给个人开发者带来了福音,它的盈利模式也是非常简单清晰。2. 门槛最重要的是,个人是可以发布小程序的,千万不要以为只有企业可以发布小程序。小程序开通流量主的门槛不高不低,需要1000个独立 UV ,也就是说有1000个微信注册用户进入过你的小程序。一般来说,通过自己朋友圈转发二维码,或者通过在微信大群分享你的小程序,差不多一个月就可以达到门槛要求。3. 开通流量...
2018-12-15 17:57:37
9988
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
477
转载 入门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
1598
原创 用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
3314
1
原创 自定义View实现词组 不断行显示 并且高亮
1、题目详情实现一个自定义 View,其功能是: 1. 使用默认颜色(比如黑色)展示一段 text。 2. 使用这段 text 的中的某些词组高亮为其他颜色(比如红色),这些词组是作为参数输入的。 3. 这些被高亮的词组有一个特殊的要求:同一个词组中的单词不允许换行,例如 instance of 作为一个高亮词组时,词组中的 instance 不可以是一行中的最后一个单词。 4. 这个自定义
2017-11-01 10:07:07
785
原创 属性动画 模拟美团外卖购物车曲线动画
效果图就是点击右上角的按钮,会有一个小圆点从该按钮位置曲线移动到左下角的按钮的位置 MainActivity.javapackage com.qunar.yuzhiyun.propertyanimation;import android.animation.ObjectAnimator;import android.graphics.Point;import android.support.v
2017-10-12 19:04:50
1528
原创 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
443
原创 查看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
519
原创 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
1495
原创 使用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
665
原创 getWidth( )和getMeasuredWith( )
返回值的来源1、getMeasuredWidth() getMeasuredWidth() 的取值最终来源于 setMeasuredDimension() 方法调用时传递的参数!在自定义 View 时测量并设置 View 宽高时经常用到,通常在 onMeasure() 方法中最后一步调用它。 2、getWidth( ) getWidth() 的取值最终来源于 layout() 方法的调用。通
2017-09-12 14:44:34
723
原创 动态规划解决找零钱问题
贪心算法这个题目首先我们会想到用贪心算法,但是贪心可能会导致得不到最优解,用动态规划就可以解决,通过记录子问题的结论,来推导更大的子问题的答案动态规划参考:http://blog.163.com/huang_zhong_yuan/blog/static/174975283201110604819214/ 感谢!!!public class CoinsChange { /**
2017-09-11 15:48:54
2624
原创 一个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
962
原创 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
513
原创 二叉树节点数量关系
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
3396
原创 Hufuman编码
原理http://bitjoy.net/2016/08/18/the-implementation-of-huffman-code/ 哈弗曼编码是一个很经典的压缩算法,压缩率能达到50%,甚至更低。它的基本原理包括四个步骤: 1. 统计文件中每个字符出现的频率。 2. 构建一个哈弗曼树。建树的过程是不断的合并频率最小的两个节点,父亲节点的频率为两个孩子节点的频率之和。如此循环直到合并成一个根节
2017-08-30 16:50:37
1168
原创 用注解实现简单的框架 避免频繁调用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
477
转载 一张图概括App启动流程
一、神图:二、说明笔者在下面博文内容的基础上,加上自己的理解,对图片稍加了一点点修改,启动流程文字部分也有所修改 参考:http://www.sohu.com/a/130814934_675634 (感谢楼主)三、启动流程:①点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;(startActivity()中调用Ac
2017-08-25 14:55:48
1644
原创 二叉搜索树 插入节点
package com.yuzhiyun;import com.yuzhiyun.PreOrder.BinaryTreeNode;public class DealBinarySearchTree { /** * 二叉树的树结点 */ public static class BinaryTreeNode { public BinaryTreeNode
2017-08-18 10:00:22
448
原创 Activity 的Window创建过程
1、ActivityThread 中的performLaunchActivity ( )在通过classLoader加载到MainActivity之后,反射出一个 MainActivity对象activity,然后会调用activity.attach( ),在这个函数中,会创建window//mWindow是Activity的一个成员private Window mWindow; //可以看出w
2017-08-16 14:36:43
426
原创 二叉树递归与非递归层次遍历
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
546
转载 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
238
转载 Hook startActivity()函数追加一条日志
目的希望程序员每次调用startActivity()的时候,可以多打印一条日志。实现原理startActivity() 执行过程中,会调用到ActivityThread的成员对象mInstrumentation的 execStartActivity()函数,于是我们可以自定义一个EvilInstrumentation(extends Instrumentation )类,重写execStartAct
2017-08-11 10:52:32
467
原创 ListView实现GridView的效果
为什么不直接使用GridView?由于GridView很难实现下拉刷新功能,开源的pullToRefresh 是通过基于listView实现的。为了既要有下拉刷新功能,又要达到GridView(一行可以显示多列)效果,于是就产生了extends BaseAdapter自定义实现一个ListAsGridBaseAdapter 的想法。代码ListAsGridBaseAdapter.javapacka
2017-08-10 17:57:02
1025
转载 理解HTTPS
一句话总结https使用非对称加密交换密匙key,使用这个key进行对称加密进行数据传输一个通俗易懂的比喻参考自http://www.jianshu.com/p/b894a7e1c779 感谢作者____每当我们讨论到信息安全的时候,我们最长接触到的信息加密传输的方式莫过于 HTTPS 了,当我们浏览器地址栏闪现出绿色时,就代表着这个网站支持 HTTPS 的加密信息传输方式,并且你与它的连接确实
2017-08-07 18:47:58
436
转载 二叉树非递归遍历
参考http://blog.youkuaiyun.com/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
272
转载 回溯法 解决二叉树中找一条和为固定数值的路径(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
381
转载 八皇后问题 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
414
原创 Asynctask 原理
简介: Asynctask表示异步任务,在用法上,他有四个重要的函数,onPreExecute( ) ,doInBackground ( ),onProgressUpdate( ) ,onPostExecute( ),其中只有doInBackground ( ) 运行在子线程,其他都在主线程,在doInBackground()中可以通过publishProgress( )来更新进度,在on
2017-08-01 16:10:54
366
转载 获取Crash信息
通过Thread.setDefaultUncaughtExceptionHandler( );可以修改系统默认的异常处理器,从而捕获到崩溃信息以下给出一个简单的例子来说明:CrashHandler.javapackage com.qunar.yuzhiyun.crashhandler;import android.util.Log;/** * 自定义系统异常处理器 * Created by yu
2017-07-27 15:11:41
395
转载 检测ANR
线上环境的ANR错误需要我们及时的上报服务器,那么如何主动检测ANR错误呢?有人提出watchDog方式的检测方法,在主线程定义一个变量count,在子线程不断的通知主线程去更新count的值(比如+=1),子线程维护一个值与count相等的变量,睡眠5秒后去判断两个值是否相等,从而判断是否出现了ANR错误,以下代码简单的给出了示范。(读者在运行这段代码的时候,先点击FloatingActionBu
2017-07-27 10:19:40
945
原创 singleTop模式应用场景 以及OnNewIntent
应用场景1、消息推送界面。如果当前停留在消息详情界面A,突然来推送消息了,点击推送消息,又创建了一个详情界面A,按返回键back,用户会发现,点击了返回怎么还是停留在这个详情界面A呢,这样造成视觉差异2、网易新闻。假设主界面为 MainActivity,显示新闻的界面是 DetailActivity,显然显示任何一条新闻都会使用 DetailActivity,即把新闻内容通过 Intent 传给 D
2017-07-21 16:52:32
3771
原创 开源一个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
387
原创 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
6147
原创 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
453
原创 MVP 入门 (Android demo解析)
1、mvc mvp由于mvc下的Controller(也就是Activity)非常的臃肿,不仅要管理视图相关,还要处理一部分逻辑,于是就有了mvp的出现,将Activity看成视图,让他仅仅管理视图相关的工作,Activity不再和业务直接发生关系, 将与业务发生关系的代码从Activity中抽出,放在presenter 中。 看过别人写的关于mvp的博客,自己不写一遍,觉得还是懵懵懂
2017-05-11 15:34:04
1136
本人使用xcode8 ,iOS 模拟器10.1的系统可以跑动,同样10.1的真机却闪退
2016-12-18
iOS 使用tableview出现如下错误
2016-12-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人