- 博客(37)
- 资源 (6)
- 收藏
- 关注
原创 入职新公司三个月总结
刚入职新公司,就接到领导的任务,做一个全新的小程序,由于之前有一些前端的基础,感觉还好,就着手研究微信开发文档2周左右,然后就开始了小程序的征程。1、微信授权登录和公司的系统对接刚开始联调登录,后台获取session_key一直遇到code失效的问题,最后解决方案:前端先请求一接口传递参数code来同步session_key。最后完美解决。2、封装http请求模块3、地图模块的使用4、一...
2019-09-26 16:07:31
486
原创 基于小程序的网络请求框架
封装网络请求类/** * 网络请求类 * * @author zhanghaohao * @date 2019-6-19 */const statusCode_success = '200'; //开发者服务器返回的 HTTP 成功状态码const CODE_SUCCESS = '0'; //接口请求成功的CODEconst CODE_TOKEN_TIMEOUT = '50...
2019-07-05 16:15:52
526
原创 网页画uml图
1、时序图 一个很好的网站https://www.websequencediagrams.com/2、uml图 一个很好的网站画图工具https://www.processon.com/
2019-06-12 21:34:27
1799
1
原创 微信小程序初探笔记(2)
1.template模版绑定数据<!--定制item模版--><template name="msgItem"> <view class="bg_con"> <text class="bg_item">{{index}}: {{msg}}</text> <text> Time: {{time}}<...
2019-05-29 20:34:23
229
原创 微信小程序初探笔记(1)
1.微信小程序内的跳转wx.navigateTo()和wx.redirectTo()的区别:wx.navigateTo()是保留当前页面,跳转到某个页面,跳转页面后可以返回上一页。wx.redirectTo()是关闭当前页面,跳转到某个页面,跳转页面后不能返回上一页。2.跳转之间传值以wx.navigateTo为例:wx.navigateTo传入的url是跳转的页面(使用相对路径)...
2019-05-29 16:20:03
204
原创 单例模式
package com.SingletonDesign;/** * 单例模式恶汉式加载 * * @author ZHANGHAOHAO089 * @date 2017/12/14 */public class SingletonDesign { private static SingletonDesign singletonDesign = new SingletonDesign(
2017-12-14 10:46:38
366
原创 Java工厂模式
首先先看一下抽象产品和具体产品类(Product)药品类package com;/** * 药品 * * @author ZHANGHAOHAO089 * @date 2017/12/13 */public abstract class Medicine { public abstract void getName(); public abstract void getNu
2017-12-13 17:05:03
233
原创 数组a,长度为n(索引为0至n-1)。现要求更新数组的各个元素,使新数组的第i个元素等于原数组中除第i个元素之外各元素之积
public static void sorttt(int[] a) { int length = a.length; int[] b = new int[length]; b[0] = 1; for (int i = 1; i < length; i++) { b[0] = b[0] * a[i - 1];
2017-08-18 15:57:48
640
原创 abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份, 拿一份走了;然后cde都按上面的方法取鱼。问他们一共最少打了多少条鱼
public static void sort() { int x = 1;//每次分鱼的总数 int count = 5;//人的个数 int sum = 1;//总鱼数 while(count > 0) { if ((x % 5 == 1) && (x/5 > 0)) { x
2017-08-17 14:47:12
2184
原创 设计相应的数据结构和算法,尽量高效的统计一片英文文章(总单词数目)里出现的所有英文单词, * 按照在文章中首次出现的顺序打印输出该单词和它的出现次数。
package com.hao.test;import java.util.HashMap;/** * * @author zhanghaohao089 * @date 2017/8/16 */public class QueryEnglishWord { private HashMap<String, Integer> hashMap = new HashMap<>();
2017-08-17 10:38:58
895
原创 用数组实现队列
package com.example;/** * description * * @author zhanghaohao089 * @date 2017/8/15 *///编写实现队列的基本运算:判空,入队,出队(3分)// 队列中能容纳元素的最多个数是多少 (1分)public class Queue { private int[] array; pri
2017-08-15 18:00:37
599
2
原创 1分2分5分的硬币,组成1角,共有多少种组合。
这是1分2分5分必须有一个public static void sort() { int x = 1, y = 2, z = 5; for (int i = 1; i < 10/x; i++) { for (int j = 1; j < 10/y; j++) { for (int k = 1; k < 10/z;
2017-08-15 17:00:17
1134
原创 Android中的内部存储和外部存储
学而时习之,不亦说乎!今天主要总结一下Android中APP的内部存储和外部存储在Android开发中,我们很多时候会遇到内存、外部存储、内部存储。我们在android手机的设置里有清除数据和清除缓存,我想有一部分都不知道清除的到底是什么储存。内存:顾名思义,就是手机里的应用运行的空间 1、内部存储重要的文件夹就是data文件夹了,这个文件夹里边都是一些包名,打开这些包名之后我们会看到这样的一
2017-08-01 16:53:50
551
原创 俩个大数相乘(java实现)
package com.example;/** * * @author ZHANGHAOHAO089 * @date 2017/6/27 */public class BigNumber { public static void main(String args[]) { String str1 = "121255"; String str2 = "23
2017-06-27 11:25:22
1347
原创 Android中BaseAdapter的viewHolder工具类
工具类实现static class ViewHolder { public static <T extends View> T get(View view, int id) { SparseArray<View> viewHolder = (SparseArray<View>) view.getTag(); if (viewHolder == null) {
2017-06-06 14:36:37
642
原创 二叉树的遍历及创建(java)
直接上代码package com.example.zhanghaohao089.mytest;/** * Node类 * * @author ZHANGHAOHAO089 * @date 2017/5/31 */public class Node { private int data; private Node left; private Node right;
2017-05-31 17:42:49
653
转载 Kotlin在Android上的运用(四)
13.IntroductionKotlin提供了一系列的to方法将一个集合类型转换成另外一个集合类型。这一部分的第一个任务很简单,根据提示就可以完成,关于任务就不必多说。先说明一下第二部分所有任务的数据模型。这一部分所有的任务都是围绕一个商店(Shop)展开,商店有一个客户(Customer)列表。客户具有姓名、城市和订单(Order)列表三个属性。订单具有商品(Product)列表和是否已经发货两
2017-05-24 16:40:03
1190
转载 Kotlin在Android上的运用(三)
0.HelloWorld和所有其他语言一样,Kotlin Koans的第一个任务名称就是Hello World,这个任务比较简单,提示也说的很清楚,就是要求task0函数返回一个字符串OK:fun task0(): String { return "OK"}这一个任务主要涉及kotlin的函数定义。在kotlin中函数通过关键字fun声明,和Java中函数的返回类型写在函数名称前不一样,K
2017-05-24 16:34:20
1282
原创 Kotlin在Android上的运用(二)
这次主要写一下kotlin上的函数运用和bean类运用一、控件的动态使用先看一下xml布局文件<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andr
2017-05-19 10:27:47
1958
3
原创 Kotlin在Android studio上的环境配置和运用(一)
前俩天Google的IO大会把Kotlin列为Android的开发语言之一,Android开发者有必要学习一下。 Kotlin是基于JVM的编程语言, 由JetBrains公司开发, 目前已经开源. IntelliJ IDEA, PyCharm, Android Studio等IDE, 就是出自于JetBrains公司.Kotlin介绍: Statically typed programmin
2017-05-18 10:57:11
3286
原创 retrofit2源码分析
如果对retrofit使用不太了解的可以去网上查一些资料,本篇就直接对源码进行分析了。 一、首先你需要RestfulApi 类,里面声明了咱们的请求public interface RestfulApi { // 获取时间戳 @POST("app.do?") Call<T> getTime(@Query("pattern") String pattern);}然后封装Ret
2017-05-17 17:41:08
551
原创 二分查找、折半查找
package com.hao.myrxjava;/** * 折半查找 :首先数组是已经排好序的 * * @author zhanghaohao * @date 2017/5/15 */public class HalfDivision { /** * 循环实现 * * @param array 排好序的数组 * @param value 查找
2017-05-15 14:34:20
1064
原创 AOP架构之路-AspectJ
1. 什么是AOPAOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义
2017-05-11 21:49:48
854
原创 LinkStack实现
package com.hao.myrxjava;/** * 简单的一个链表栈实现;非堵塞的 * * @author ZHANGHAOHAO * @date 2017/5/10 */public class LinkStack<E> { //声明节点 private class Node{ E e; Node next; pu
2017-05-11 17:06:26
628
原创 ProduceQueue;支持堵塞和非堵塞
package com.example.zhanghaohao089.mytest;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.Re
2017-05-11 16:57:58
415
原创 Java中的一些基础算法
/** * 插入排序、冒泡排序、选择排序、快速排序 * @author ZHANGHAOHAO * @date 2017/5/10 */public class Algorithm { /** * 插入排序:把未排序的插入到有序的序列里面 * * @param array * @return */ public static v
2017-05-11 16:37:49
499
原创 OkHttp3源码分析(三)
上一篇Okhttp3源码分析(二)讲了核心类Dispatcher,下面继续往深层次讲述Okhttp3的奥秘一、HttpEngine(Http引擎类) 首先看一下构造函数public HttpEngine(OkHttpClient client, Request request, boolean bufferRequestBody, boolean callerWritesRe
2017-05-02 18:17:42
520
原创 OkHttp3源码分析(二)
上一篇Okhttp3源码分析(一)讲了Request、OkHttpClient、RealCall类,下面继续往深层次讲述Okhttp3的奥秘一、核心类Dispatcherpublic final class Dispatcher { private int maxRequests = 64; private int maxRequestsPerHost = 5; /** Executes
2017-04-27 13:56:07
570
原创 OkHttp3源码分析(一)
一、首先对Request类做一下分析:Request就是组装Http发起的请求;Http发起的请求包含什么可以看一下HTTP协议格式和header 看一下源码:public final class Request { private final HttpUrl url; private final String method; private final Headers headers
2017-04-26 17:43:33
741
原创 Android中布局中常用到的<include> <merge> <ViewStub>
include 常用于布局重用 merge 用于布局重用,而且可以减少布局层级。 布局没有基父层级 viewstub 对UI页面渲染不会消耗一点,当用到的时候直接visible就可以了
2017-04-26 10:43:14
373
原创 HTTP协议格式和header、交互过程
HTTP协议格式请求例子GET https://baidu.com HTTP/1.1 Host: gwtest.pawjzs.com Connection: Keep-Alive Accept-Encoding: gzip User-Agent: okhttp/3.2.0username=123&passwrd=123概述:请求方法 url 协议版本 header字段名称:值 …. h
2017-04-25 14:37:02
2967
原创 Android之ThreadPoolExecutor源码分析
ThreadPoolExecutor是一个有固定核心线程数的线程池,下面根据源码来详细介绍一下ThreadPoolExecutor的设计和思想首先看一下ThreadPoolExecutor的类图首先了解一下ThreadPoolExecutor的5种状态// runState is stored in the high-order bits private static final int R
2017-04-21 15:31:52
680
原创 Java和Android的Thread源码分析
首先看一下Thread的类和状态public class Thread implements Runnable { ..... /** * A representation of a thread's state. A given thread may only be in one * state at a time. */ public enu
2017-04-20 11:04:01
1584
原创 HandlerThread源码分析与实战
HandlerThread是什么? HandlerThread是一个Android封装好的线程类,里面封装了Looper,无需关心Looper的创建和循环首先看一下HandlerThread的构造函数public class HandlerThread extends Thread { int mPriority; int mTid = -1; Looper mLooper
2017-04-18 18:21:39
445
原创 异步消息机制源码分析
大家都知道Android中不能再异步线程中更新UI操作。所以异步操作要借用于Handler类。建Handler类之前必须先Looper.prepare()。然而在主线程可以直接new Handler(),因为APP启动入口是ActivityThread.main函数源码public static final void main(String[] args) { SamplingPr
2017-04-18 15:18:05
453
1
原创 PendingIntent详解
首先看下pendingIntent和intent的区别1、pendingIntent是将要发生的action。intent是立即发生的action2、pendingIntent可以取消。Intent不能取消3、intent必须在context内执行,所以当程序执行完,intent也终止。pendingIntent自带context,没有限制。4、intent在原来的task中运
2015-07-07 16:26:42
671
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人