自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Lifecycle

Lifecycle能够使组件感知Activity生命周期的原理

2022-08-01 12:50:38 167 1

原创 SharedPreferences

SharedPreferences的源码分析

2022-07-28 08:54:32 380

原创 EventBus源码分析

EventBus的源码分析

2022-07-28 08:52:59 138

原创 Map集合源码分析

Map集合源码分析

2022-07-22 22:43:59 281

原创 Queue集合源码分析

Queue集合源码分析

2022-07-22 22:39:57 146

原创 List集合源码分析

List集合源码分析

2022-07-22 22:37:59 281

原创 Retrofit源码学习

Retrofit源码学习

2022-06-19 10:02:35 443

原创 View的事件分发机制

View的事件分发机制点击事件的传递规则当点击事件产生后,系统将会将这个点击事件传递给一个具体的View,这就是点击事件的分发过程。点击事件的分发过程主要是通过三个方法进行传递:dispatchTouchEvent(),onInterceptTouchEvent()和onTouchEvent()。dispatchTouchEvent()这个方法用来进行事件的分发。这个方法如果点击事件能够传递到当前的View,这个方法一定会被调用。这个方法表示是否消耗当前事件。onInterceptTouchEv

2022-04-23 20:50:41 336

原创 Activity启动模式

Activity启动模式四种启动模式1.standard 标准模式**应用场景:**一般界面都是这个模式这是Activity默认的启动模式,在每次启动的时候都会创建一个新的activity实例(不管这个实例之前是否被创建)。被创建实例的生命周期符合典型情况下的activity的生命周期。在这种模式下,谁启动了这个 Activity 那么这个 Activity 就运行在启动它的那个 Activity 所在的栈中。当非activity类型的context来使用这种模式来启动activity就会报错:

2022-02-16 18:10:38 2133

原创 EventBus

EventBusEventBus 是适用于 Android 和 Java 的发布/订阅事件总线。主要功能是替代 Intent、Handler、BroadCast 在 Activity、Fragment、Service 线程之间传递消息。EventBus 能够简化应用组件间的通信,解耦 (有效分离) 事件的发送者和接收者,避免复杂和容易出错的依赖和生命周期问题,开销小,代码更优雅。但是需要注意的是 EventBus 不能用于进程间通信。 Andorid 组件间通信,可能都是用 Handler 消息机制或者广

2021-12-07 20:44:39 210

原创 Android组件化

组件化组件化的一般结构业务组件层业务组件层在创建Module时一般使用 Phone&Tablet 类型的,这个需要单独的去进行调试,这种类型的可以单独的进行调试,Phone&Tablet这种可以在 library 和 application之间进行转换。功能组件层功能组件层主要是将我们的一些基础组件进行封装,在创建Module时一般使用Android Library 这种类型,这种不能单独的进行调试。但是如果需要进行单独调试的话就可以创建 Phone&Tablet 类型的

2021-12-07 20:42:39 125

原创 贪心算法

贪心算法贪心算法是寻找最优解的常用算法,这种方法模式一般将求解过程分成若干个步骤,但每个步骤都是应用贪心策略,选取当前状态下最好/最优的选择(局部最优解),并以此希望最后堆叠出的结果也是最好/最优的解。解决贪心问题的基本步骤1.将原问题分解成子问题。2.找出贪心策略。3.得到每一个子问题的最优解。4.将所有的局部最优解的集合构成称为原问题的一个解。贪心策略贪心算法的根本在于贪心决策的选择,如果你能找出正确的贪心策略,贪心问题就迎刃而解。贪心策略就是我们需要找到一种方法使得当前可以获得的收益

2021-10-10 13:05:14 98

原创 Android的AsyncTask

AsyncTask的介绍AsyncTask是Android中的异步消息处理机制Handler的封装,更容易从子线程切换到主线程。先简单看一下Handler是如何进行子线程和主线程之间的切换。异步消息处理机制Handler首先来看一下代码:public class MainActivity extends AppCompatActivity implements View.OnClickListener { public static final int UPDATE_TEXT = 1;

2021-09-18 17:12:44 269

原创 Android第二个小项目——聊天室

聊天室前言这周是我学习Android的第四周,上周写了一个聊天室,这周来总结一下。聊天室分为两个部分,一个部分是客户端,就是我们平时看到的部分,还有一个非常重要的部分,那就是服务端。客户端主要是和用户进行交互,接收用户所传来的指令,在服务端才会将客户端传来的数据进行处理。在刚开始的时候,我还不知道应该如何去写,没有思路,最后是先做的客户端,将客户端的UI写好之后,再来处理服务端和客户端与服务端的交接的部分。这是我写聊天室的大体思路,我来分享一下。客户端首先写的是客户端,因为刚开始,不知道如何去从服

2021-08-11 14:51:35 313

原创 Android第一个项目——计算器

前言最近开始学习Android,用Android写了第一个小项目——计算器。用Android写计算器首先是要从UI做起,再到每个Button的点击事件,再到计算器的核心代码部分,就是中缀表达式转为后缀表达式,然后再用后缀表达式求值,最后就到改bug的时间了。布局从布局开始,我的计算器就算正式开始了。<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.

2021-08-02 08:36:12 1605 3

原创 Android学习笔记1

Android学习笔记1Activity​ 活动是一种包含用户界面的组件,主要用于和用户的交互。一个应用程序包含0个或者多个活动,但不包含任何活动的应用程序很少见,所以基本上每个应用程序都会存在活动。​ 在使用Android Studio时,Android Studio将会为我们自动创建活动,它也可以自己手动创建活动,我来简单介绍一下手动创建一个活动的过程(只有大体流程,没有具体过程)。首先要创建一个Java项目,写一个自己的类,让这个类继承AppCompatActivity这个类,然后重

2021-07-23 20:55:55 157 1

原创 Java学习笔记6

文件在C语言中,我们会定义一个FILE指针去操作文件,同样,我们在Java中也会有方法去操作文件,将文件中的数据进行操作。以下就简单介绍一下Java中的File这个类。在使用File这个类时,肯定要创建这个类的对象,以下是创建File这个类的一些方法。package Demo_file;import java.io.File;import java.io.FileInputStream;public class Demo1_file { /* * File(String pathnam

2021-06-12 14:45:46 1058 1

原创 Java学习笔记5

单列集合(Collection) * 集合的由来 * 数组长度是固定的,当添加的元素超过了数组的长度是需要重新定义,太麻烦,Java内部提供 * 了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少 * 数组和集合的区别 * 区别1: * 数组可以存储基本数据类型,也可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值 * 集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象100

2021-06-03 18:40:29 151

原创 Java学习笔记4

常见的类Math类Math类、常用与执行一些基本数学的运算方法,比如初等指数,对数,平方根,三角函数等等一些数学中常见的运算方法。下面是一些Math类中常见的方法以及使用的方法。package demo_otherclass;public class Demo1_Math { /* * Math类概述 * Math 类包含用于执行基本数学运算的方法,如初等指数,对数,平方根,和三角函数 * 成员方法 * public static int abs(int a)

2021-05-30 19:25:22 95

原创 Java学习笔记3

常见的类Scanner类Scanner类一般用于键盘录入。下面代码有我在学习过程中做的笔记。由于Scanner类在java.util.Scanner的包下,所以我们要在使用Scanner类时要使用 import 进行导包。import java.util.Scanner;public class Demo_Scanner { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //键盘

2021-05-23 19:26:00 59

原创 Java学习笔记2

面向对象类Java中类的概念类:类是一个模板,它描述一类对象的行为和状态。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状 态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等Java中的类定义一个类的基本格式[修饰符] class 类名 {0到多个构造器0到多个成员变量0到多个方法0到多给初始化块}修饰符可以写public final abstract或者不写,java类名要用大驼峰写法。一个java源文件(也就是文件后缀名为.java的文件)可以写多个类,但是

2021-05-14 21:19:26 148

原创 Java学习笔记1

Java学习笔记学习一门新的语言,就是从helloworld开始的,Java也是一样。public class helloworld { public static void main(String[] args) { System.out.println("helloworld"); }}学习新的语言就要了解其基本语法。以下代码是我学习过程中所练习所做的笔记。public class helloworld { public static void main(String[]

2021-05-09 19:16:10 84

原创 栈与队列

栈栈的定义:栈是限定仅在表尾进行插入和删除操作的线性表。我们将允许插入和删除的一端称为栈顶,另一端称为栈底,不含数据称为空栈。栈又是后进先出的线性表。下图表示进栈出栈的操作:进栈出栈只能是在栈顶操作。栈有两种存储方式:一种是顺序存储栈,另一种是链式存储栈。顺序存储栈顺序存储栈有明确的栈满情况,因为我们在定义栈的时候就已经将栈的大小确定了,占的空间大小就已经确定了。这是顺序存储栈的操作://用数组存储栈 #include<stdlib.h> #define MAXSIZE

2021-04-24 22:33:41 51

原创 朴素模式匹配算法和KMP模式匹配算法

在讲这两个算法之前,需要先了解什么是模式匹配?模式匹配的定义:  设有主串S和子串T,子串T定位是指在主串S中找到一个与子串T相等的子串。通常把主串S称为目标串,把子串t称为模式串,因此定位也称为模式匹配。匹配成功,是指在目标串S中有一个子串等于模式串T;匹配失败,是指目标串S不存在子串等于模式串T。举一个简单一点的例子吧,在一篇文章中,你想要找到一句话在文章中是否出现,如果出现,就是匹配成功,如果没有出现就表示匹配失败!朴素的模式匹配算法朴素的模式匹配算法比较好理解,朴素的模式匹配算法是将字串与

2021-04-22 16:24:13 432 1

原创 电影院管理系统

电影院管理系统上周我做了一个简易版的电影院管理系统,内容包括链表的创建,链表节点的增加、删除、修改、查找。此电影系统还包含了文件的操作,例如将链表中的数据存到文件中去,也可将文件中的数据赋给链表。先定义一个链表的结点(因为链表结点需多次使用,所以将其定义在头文件中):#ifndef _STRUCT_H_#define _STRUCT_H_ typedef struct Node{ int number; char name[20]; char date[20]; char time[

2021-04-19 19:23:16 2905 1

原创 链表总结

单链表单链表的创建获取链表第index个节点的值插入结点删除节点释放链表所占的空间typedef struct linklist{ int a; struct linklist *next;} MyLinkedList;/** Initialize your data structure here. *///创建一个链表: MyLinkedList* myLinkedListCreate() { MyLinkedList *obj,*t,*s; obj

2021-04-09 17:13:03 106

空空如也

空空如也

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

TA关注的人

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