自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (21)
  • 问答 (1)
  • 收藏
  • 关注

原创 图解Retrofit

如何使用Retrofitpublic interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user);}Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .build();GitHubServi

2020-09-24 15:43:20 267

原创 数据结构速学笔记:栈

目录栈的特性使用场景数组模拟栈链表模拟栈栈的特性栈的数据结构:先进后出、只能在栈顶进行添加(入栈)或删除(出栈)栈的使用场景Android的Activity栈链表节点的反向打印,可以结合栈打印出来链表遍历时,把节点数据压入栈,把栈打印出来就是对应链表的反向打印数组模拟栈思路:定义一个int类型的指针表示栈顶: top每次添加(入栈)数据,top++每次删除(出栈)数据,top–代码实现/** * Created by joker on 2020-06

2020-06-09 17:05:10 267

原创 数据结构速学笔记:单链表面试题整理总结

###目录单链表倒数第k个节点单链表反转链表单链表反向打印节点单链表倒数第k个节点 /** * 单链表倒数第k个节点 * 思路:1. 遍历链表计算出,有效节点size(头节点排除在外) * 2. 倒数K节点对应的节点: size-k * 解释:例如链表:head(头节点) -> A.next -> B.next ->C.next -> D.next * head不是有效节

2020-06-08 23:52:13 240

原创 数据结构速学笔记:环形链表的构建以及约瑟夫问题

有不足指出,欢迎大佬指出!共同进步。目录如何构建环形链表?约瑟夫问题完整代码准备 static class RingNode { private int num; private RingNode next; // .....}如何构建环形链表? RingNode firstNode = null; // 环形链表第一个元素(固定不变) /** * 构建一个环形链表 * <p&gt

2020-06-07 19:13:06 338

原创 数据结构速学笔记: 单链表增删改查

目录单链表的存储结构单链表:增单链表:删单链表:改单链表的存储结构简介单链表是一种链式存取的数据结构,是实现线性表方式之一链表都包含:元素(data域名)+指针(next域) public static class LinkNode { //data域 start -------- int num; String name; String nickName; //data域 end -------

2020-06-03 23:11:18 271

原创 JDK1.8 HashMap解析

本篇不介绍红黑树,后续会单独分析。JDK 1.8也没看过jdk1.7 所以不做对比分析了需准备知识异或运算位移知道HashMap的数据结构有哪些知道单链表大致是怎么一回事能学到什么HashMap如何计算扩容阙值哈希表需要树化的标准条件哈希表什么时候初始化为什么需要扩容HashMap如何增加hash的散列性HashMap如何确定桶位链表如何删除元素这些问题都会在源码分析的注释中有体现出来。可能有些没分析到,欢迎留言,后续继续补充。文章目录HashMap核

2020-05-28 22:58:47 351

原创 Android自定义记账软键盘(仿鲨鱼记账的记账功能)

鲨鱼记账App效果:本文实现的效果图:本文 不是什么原理分析,属于使用工具,不再具体分析。直接贴图贴代码了自定义软键盘的XML模版注:android:codes的值,请参考ASCII<?xml version="1.0" encoding="utf-8"?><Keyboard xmlns:android="http://schemas.android.com/ap...

2020-03-09 16:40:47 1697 9

原创 Activity:xml如何通过加载到UI界面

版本:27.1.1Activity:启动流程流程图结合Activity:启动流程的流程图:

2019-11-04 12:58:28 625

原创 Activity:启动流程

流程图先上activity启动的流程总图,分两大块分析:程序启动做了哪些事情?Activity加载以及完成它的声明周期程序的启动相关类 ActivityThrea、ActivityManager的主线流程图结合下面的源码分析一起看理解效果更佳哦!源码分析有看过源码的android 朋友都应该熟悉,ActivityThread中的main方法是启动点。下面看下main方法里究...

2019-10-31 13:59:34 228

原创 设计模式:概念 & 分类 & 功能 & 原则

本文是对设计模式概念、分类、功能的介绍, 不含有任何技术性介绍。旨在对设计模式有更清楚的认识,理解。会陆续对这些设计模式逐一总结!目录设计模式的目的设计模式是前辈大佬们的代码设计经验,是一种解决特定问题的套路。目的就是为了提高代码的重用性、可读性、可靠性、可扩展性、灵活性。学习设计模式的意义设计模式本质设计模式是面向对象设计原则的实际运用,是对类的封装、多态、继承以及对类的关联关...

2019-10-25 16:39:23 376

原创 全面图解android事件分发机制

最近的学习技巧就是画图、画图、画图!感觉这方法真的好实用。本文源码部分的分析是分模块去分析的,最后串联起来的。目录事件分发的Touch事件android触摸事件的分发 = (点击事件)Touch事件的分发Touch事件被封装MotionEvent对象,定义的有上图所示的4中事件类型组成: 一个Touch事件由一个down事件 + 一个up事件也有可能为0个 + 若干个move事件...

2019-10-16 17:07:02 527

原创 设计模式:责任链模式+思维导图+uml

责任链模式思维导图简介结构组成详解抽象处理者、具体处理者、客户端关系UML图客户端拼装组成的责任链抽象处理者abstract class AbsDispatchHandle { // 具体处理者标识 var handleLevel_1: Int = 1 var handleLevel_2: Int = 2 var handleLevel_3: Int...

2019-10-11 13:37:27 948

原创 多线程:ThreadLocal探究之旅

ThreadLocal概述ThreadLocal提供线程一个独立的局部变量,解决了变量并发访问的冲突问题。解决了线程安全的问题ThreadLocal 对比给Thread上synchronized同步机制:前者空间换时间、后者时间换空间Threadlocal主题思维结构图核心部分会单独拿出来画图、分析!Threadlocal使用@RequiresApi(api = Build....

2019-10-08 15:34:26 227 1

原创 多线程:给你一篇通俗易懂AsyncTask(使用&源码分析)+思维导图方式

AsyncTask了解使用class SAsyncTaskActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.ac...

2019-09-19 13:21:47 345 2

原创 多线程:HandlerThread(使用 & 源码分析)+思维导图

HandlerThread简介使用请先熟悉上图的使用流程:Step 1 、Step 2 、 Step 3 private fun init() { // step 1 handlerThread = HandlerThread("SHandlerThread") // step 2 handlerThread?.st...

2019-09-17 18:20:33 260

原创 多线程:IntentService(使用 & 源码分析)+思维导图

先喝杯咖啡放松一下!概述IntentService 使用Step 1: 定义IntentService类,重写onHandleIntentStep 2: 清单文件注册Step 3: 开启服务Step 1class SIntentService : IntentService("SIntentService") { override fun onCreate() {...

2019-09-17 11:14:35 348

原创 教你一招APP如何快速定制马甲包

废话不多说,给我上·····按照本文进行定制马甲包的好处:马甲包和主包可以进行同步打包,一键生成不会增加apk的大小,不同的包打进对应的资源不影响主线的开发(无须拉分支、版本迭代时增加的需求,也无须在写一遍)在各个马甲包的母包上,可以利用一些加固平台,进行渠道分包关于马甲包的方式,会从最简单的方式开始介绍:最简单的方式AndroidManifest.xml的配置<...

2019-08-29 15:54:18 2558 1

原创 笔录Flutter(十一) FloatingActionButton

FloatingActionButton也是经常用的,除了常见的悬浮在右下角的一个按钮,还可以利用floatingActionButtonLocation属性,控制位置的展示。floatingActionButtonLocation源码:// Flutter 默认对其方式 static const FloatingActionButtonLocation endFloat = _En...

2019-08-13 15:33:34 731

原创 笔录Flutter(十) 侧边栏(Drawer)、UserAccountsDrawerHeader

Flutter练习Drawer、UserAccountsDrawerHeader常用属性Drawer const Drawer({ Key key, this.elevation = 16.0, this.child, this.semanticLabel, }) : assert(elevation != null && elevat...

2019-08-12 17:10:31 1449

原创 笔录Flutter (九) 路由

路由分类Flutter的路由就是指界面眺转,在Flutter中通过Navigator组件管理路由导航。并提供了管理堆栈的方法。如:Navigator.push和Navigator.pop总体来说分两种方式:基本路由命名路由基本路由效果图:使用代码import 'package:flutter/material.dart';/** * 基本路由 * */clas...

2019-08-11 22:11:32 387

原创 笔录Flutter (八)BottomNavigationBar实现底部导航、TabBar+TabBarView实现Tab切换

效果图:BottomNavigationBar实现底部导航常用属性使用void main() => runApp(MyApp());class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home...

2019-08-09 16:13:09 2102

原创 笔录Flutter (七) Card、AspectRatio、CircleAvatar、MaterialButton、Wrap

Card、AspectRatio、CircleAvatar、MaterialButton、Wrap 属性AspectRatioaspectRatio:宽高比 aspectRatio: 7 / 8, // 设置宽高比源码:const AspectRatio({ Key key, @required this.aspectRatio, Widget child ...

2019-08-08 15:36:58 1425

原创 笔录Flutter (六) 布局系列: Stack、Positioned、Align

常用属性关于alignment的使用使用这些属性直接使用Alignment(x, y)x、y两个值的范围在 -1 到 1 之间。如图:坐标的圆点表示center,如上图所示:使用效果图:import 'package:flutter/material.dart';class Layout2 extends State { @override Widget b...

2019-08-07 10:26:57 2734

原创 笔录Flutter(五)布局系列:Row、Column、Flex、Expanded 常用属性、使用

Row、Column常用属性线性布局有主轴和纵轴之分,如果布局是沿水平方向,那么主轴就是指水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向线性布局中,有两个定义对齐方式的枚举类MainAxisAlignment和CrossAxisAlignment,分别代表主轴对齐和纵轴对齐Row和Column 参数一样,不同的是布局方向为垂直,主轴纵轴正好相反...

2019-08-06 16:13:58 1951

原创 笔录Flutter(四)GridView常用属性、使用

常用属性使用方式4种使用方式的区别GridView()、GridView.count()、GridView.extent() 这三种和GridView.builder()的区别在于:GridView都需要一个Widget数组作为其子元素,前三种方式都会提前将所有子widget都构建好,所以只适用于子Widget数量比较少当子widget比较多时,我们可以通过GridView.bui...

2019-08-05 21:07:12 652

原创 笔录Flutter(三)ListView、ListTitle 的常用属性、使用、下拉刷新、上拉加载

Listview 常用属性reverse 和 shrinkWrap使用注意正常Listview 内容不够一屏(不设置 reverse 和 shrinkWrap属性)reverse = true默认falsescrollDirection = Axis.vertical false:布局从上倒下 true:从下往上scrollDirection = Axis.horizo...

2019-08-05 11:58:38 5772 1

原创 笔录 Flutter(二)Image的属性、使用、圆角、圆形

使用方式属性网络图片、本地图片、项目中资源图片加载资源图片时要注意以下几点:需要创建一个images文件 和lib、ios、android 同一等级区分几倍图的话,可以在images下创建2.0x 、 3.0x、4.0x如下图:assets一定要与uses-material-design齐,直接放开注释会有一个空格的,直接编译会报错 child: Image.ass...

2019-08-01 15:35:31 1313

原创 笔录 Flutter (一) Container 、Text属性、使用

属性ContainerTextTextStyle使用import 'package:flutter/material.dart';import 'ContainerPage.dart';import 'TextPage.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget ...

2019-07-31 16:59:29 266

原创 以一种超简单方式实现recyclerview的item悬浮效果(可点击)

先看效果图

2019-07-19 12:12:55 1018

原创 杂谈(Lrucache机制)

简介LruCache是Android 3.1所提供的一个缓存类,目前主流的图片加载框架底层大部分都是基于它。LruCache内部维护了一个LinkedHashMap,利用LinkedHashMap的数据结构特点去实现最近很少使用这一算法进行缓存。LinkedHashMap介绍LinkedHashMap的数据结构:数组+双向链表特点:双向链表结构可以控制访问顺序和插入顺序,使得Linked...

2019-05-21 10:34:20 257

原创 杂谈(android基础知识点梳理笔记)

1、四大组件是什么?以及生命周期和简单用法Activity 描述:一个Activity通常就是一个单独的屏幕,就是用户看得到的 生命周期:onCreate、onStart、onResume、onPause、onStop、onDestroy 正常启动一个activity:onCreate -&amp;amp;gt; onStart -&amp;amp;gt; onResume 切换到后台/锁屏:onPause -...

2019-05-21 08:20:49 901

原创 杂谈(app优化、android机制系列)

android机制系列Handler机制Handler机制(Looper、Message、MessageQueue)源码查看笔记事件分发机制Android:30分钟弄明白Touch事件分发机制Bindler机制Android跨进程通信:图文详解 Binder机制 原理IPC通信机制(进程间通信)通讯方式intent: 例如打电话contentProvider广播serv...

2019-05-19 14:01:25 396

原创 我所了解的Recyclerview绘制流程

onMeasure主线介绍红色:代表主线onMeasure源码查看思维导图

2019-04-22 09:37:01 2008 1

原创 IPC-进程间通信(二)AIDL

前言本文主要是用两个app进行演示,一个作为Sever进程,一个作为Client进程。手把手教会你撸会AIDL。准备工作准备两个app,作为Sever和Client请先搞清楚AIDL是干什么的对AIDL基本概念至少有一些简单的了解AIDL介绍AIDL 能够实现进程间通信,其内部是通过 Binder 机制来实现的。Binder不了解的推荐看下:Android跨进程通信:图文详解...

2019-04-12 19:19:04 314

原创 android自定义View——基础绘制Canvas、Path笔记

自定义绘制的4个级别Canvas 的 drawXXX() 系列方法及 Paint 最常见的使用Paint 的完全攻略Canvas 对绘制的辅助——范围裁切和几何变换使用不同的绘制方法来控制绘制顺序onDraw()Paint基础Paint.setStyle(Style style) 设置绘制模式(控制实心圆还是空心圆) /** * Paint.Style.ST...

2019-03-26 23:13:03 578

原创 快速理解Handler机制

介绍本文是自己看Handler源码的一个流程,主要对主线进行了追踪查看。如有写的不正确或者分析不正确的,麻烦大佬指出。跪谢啦!Handler机制涉及主要相关类Handler发消息、处理消息Looper轮询消息队列,一个线程只有一个LooperMessage消息的存储对像MessageQueue消息列表(消息不会直接添加到MessageQueue中,而是...

2019-03-13 18:33:13 419

原创 游戏SDK开发笔录

来首歌华年——鹿先森乐队在最好的年纪做最好的事!开发环境:Android studio 3.0 win10 jdk 1.8文章概述本文是主要介绍游戏sdk开发的一些经验,主要为游戏提供:登录、登出、注册、修改密码、支付等接口(有些游戏sdk会有游戏角色的统计、升级的统计),也会在sdk里做一些公司需要的统计、用户社区、广告等功能。考虑因素sd...

2018-04-15 14:07:47 2726

原创 Android APK反编译、重打包、重签名

准备工作dex2jar-2.0apktoolsjdk_guiApk反编译个人觉得这两个文件直接放到 C:\Windows 下比较方便,打开dos命令可以直接使用 反编译命令行 apktool d -f 需要反编译的apk -o 反编译生成的目录例如:apktool d -f E:\app-release.apk -o c:\AS如图: 需要反编译的apk: 反编译生成目录

2017-11-06 14:54:07 1473

原创 学习的步伐(三)Kotlin TabLayout+Viewpager+Fragment实现基础框架

看过一本书,名字是《你只是看起来很努力》。个人感觉很不错!每天学一点,时间久了总会进步的!Kotlin系列学习的步伐(六) Kotlin 学习总结:类的特性 学习的步伐(五) Kotlin 基础语法学习总结:语法 学习的步伐(四) Kotlin 基础语法学习总结:操作符 学习的步伐(二)Kotlin 实现Recyclerview列表 效果图本文功能介绍TabLayout+Viewpag

2017-06-26 13:25:14 4771

原创 Kotlin 实现Recyclerview列表(补充:tab选项卡+CoordinatorLayout收缩布局+复杂Recyclerview列表)

一日之计在于晨,来一发!补充功能:效果图demo源码 tab选项卡+CoordinatorLayout收缩布局+复杂Recyclerview列表学习的步伐(六) Kotlin 学习总结:类的特性 学习的步伐(五) Kotlin 基础语法学习总结:语法 学习的步伐(四) Kotlin 基础语法学习总结:操作符 学习的步伐(三)Kotlin TabLayout+Viewpager+Frag

2017-06-24 09:38:05 2573 4

git2.15工具

git2.15工具

2017-11-29

(拍照/打开相册)后裁剪压缩并显示出来(6.0 7.0也进行了适配)

拍照后或打开相册后选择图片,进行图片裁剪压缩在显示出来

2017-11-24

apktools反编译

apktools反编译工具<<................................

2017-11-06

dex2jar工具

反编译所需要的工具:class.dex转成jar包..........................................

2017-11-06

retrofit2.3随文笔录

retrofit2.3随文笔录

2017-08-12

观察者模式两种实现方式

观察者模式两种实现方式

2017-07-14

Kotlin(Tab选项卡+复杂recyclerview+CoordinatorLayout收缩控件)

Kotlin(Tab选项卡+复杂recyclerview+CoordinatorLayout收缩控件)

2017-07-07

android搜索功能

EditText+listview+数据库操作实现搜索功能

2017-05-15

谈谈mvp见解

mvp

2017-05-08

recyclerview实现复杂布局

Recyclerview根据setSpanSizeLookup实现复杂布局(不用嵌套)

2017-05-05

Recyclerview可拖动侧滑

recyclerview条目可拖动、侧滑删除

2017-04-23

IPC进程通信Messager

IPC进程通信Messager

2017-04-13

fragment声明周期详解Demo

fragment生命周期详解

2017-04-13

仿微信通讯录

仿微信通讯录

2017-03-30

手游里的悬浮框

手游都有一个应用内的悬浮窗菜单,

2017-03-18

java代理模式

java设计模式,代理模式

2017-02-19

Android_Alarm

轻轻松松创建一个定时任务 Android_Alarm机制

2017-02-05

Material design

TextInputLayout,Snackbar,BottomNavigationView,NavigationView,CoordinatorLayout,AppBarLayout,CollapsingToolbarLayou,tToolbar<TabLayout

2017-01-20

酷炫Menu(菜单),BoomMenu的详细使用步骤

酷炫Menu(菜单),BoomMenu的详细使用步骤

2016-12-23

RecyclerView+index实现仿微信通讯录

RecyclerView+index实现仿微信通讯录

2016-12-23

XRecyclerView如此so easy实现下拉刷新,上拉加载,添加头布局(头布局任意加)

XRecyclerView如此so easy实现下拉刷新,上拉加载,添加头布局(头布局任意加)

2016-12-19

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

TA关注的人

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