自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git 合并冲突

文章目录git merge合并分支举个例子制造一个冲突合并产生冲突解决冲突冲突产生原因git merge合并分支git通过git merge操作将指定分支合并到当前分支上,这里的合并指的是将指定分支的修改合并到当前分支上。当git不知道如何合并时就会产生冲突。# 本地有两个分支:master,beta# 切换到master分支git checkout master# 将beta分支合并到当前分支master上git merge beta如果有冲突,在merge操作后会有提示信息:$ gi

2022-04-22 13:24:25 4390

原创 Android-skin-support换肤框架原理

文章目录AppcompatActivity源码解析创建AppCompatView过程解析AppcompatActivity源码解析AppcompatActivity的功能不仅仅是帮我们加了一个ActionBar(绝大部分时候还不需要),还有一个功能是Built-in switching between light and dark themes by using the androidx.appcompat.R.style#Theme_AppCompat_DayNight theme and App

2020-08-15 19:48:47 326

原创 浅析Java反射

反射反射是不是在编译时,而是在运行时,动态地获取类型的信息。比如接口信息、成员变量信息、方法信息、构造函数信息。根据这些动态获取的信息创建对象、访问/修改成员、调用方法。一般的数据操作是是依赖于数据类型的使用new关键字创建相应类型的对象 new Cat();根据类型来定义变量。类可以是基本类型、类、接口、数组 Cat cat;将特定类型的变量传递给方法。 cat.eat(new food()

2020-07-30 18:38:28 190

原创 记一次使用Set为List去重

遇到一个需求,把一个重复的列表去重。我想这还不简单,我立刻想到了使用Set这个集合类,没有具体研究过,但是知道这个就是可以自动去重的。所以我写了一个方法:private List<Bean> removeRepeated(List<Bean> beans) { Set<Bean> set = new HashSet<>(); for (Bean bean : beans) { set.add(name); }

2020-07-24 15:27:11 171

原创 Gradle Build 生命周期和获取Manifest示例

Gradle buildGradle是一个基于Apache Ant和Apache Maven概念的自动化构建工具(from Wikipedia)既然说是构建肯定就会有一个执行顺序的问题,什么先执行,什么后执行,要想了解这个问题,就要先了解Gradle的生命周期。build 的生命周期build的生命周期分为3个阶段初始化阶段配置阶段执行阶段1. 初始化阶段Gradle 支持单个项目或者多个项目的构建,在初始化阶段,Gradle决定哪些project需要参与构建,同时为每一个Proje

2020-07-17 23:17:28 1688

原创 AS中Gradle干了些什么

前言相信大家在做Android项目的时候总会遇到一些在构建方面的问题。比如编译了好几个小时还是不成功,不知道哪里出现问题,只能再试一遍。编译的时候出现问题只知道把报错复制然后去Google,有些搜的到,点进去看了半天不知道什么意思,只能硬着头皮把博客里讲的解决方法自己搞一遍,原理不知道,成功了还好,失败了只能继续找。那搜不到的怎么办,可能是bug,或者可能是xuanxue了。“那看完这篇博客能让我不再遇到这些问题吗?” “不能”“那我能学会怎么解决这些问题吗?” “不能”“那我能看懂那些博客里写

2020-06-27 18:06:26 241

原创 Springboot入门笔记

目录Springboot操作数据库添加依赖Springboot操作数据库添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></depend...

2020-04-27 11:57:35 142

原创 Java 优先队列PriorityQueue

优先队列Java中没有一个叫做Heap的类,确有一个可以实现和堆一样功能的类PriorityQueue,即优先队列。从名字可以看出,它其实是一个队列,这个队列和其他队列一样有一个入口,一个出口,不一样的地方就是,每个进入队列的元素都有一个优先级,在队列里的顺序就是根据优先级来排序的,优先级高的就会排在队列的前面,优先级低的就会在队列的后面。每个元素入队的时候,就会根据自己的价值来确定一个优...

2020-04-21 12:43:07 253

原创 FragmentManager坑

getSupportFragmentManager , getParentFragmentManager和getChildFragmentManagergetSupportFragmentManager与 activity关联,可以将其视为 activity 的 FragmentManagergetChildFragmentManager 与 fragment关联,可以将其视为fragment...

2020-04-21 12:42:33 847

原创 Android Studio 创建assets目录

assets是Android一种特殊的文件夹,用来存放固定的文件。新建assets文件夹这个文件夹默认是没有的,需要我们自己去新建的。新建路径:app/src/main/assets右击main-》new -》Directory -》输入assets...

2020-04-21 12:41:25 318

原创 Activity的四种状态和启动模式

Activity启动模式一共有四种:standardsingleTopsingleTasksingleInstancestandard标准模式创建没有限制,每次使用intent都是一个新的ActivityActivity被创建在启动其的Activity的任务栈顶端Android Lollipop之后,被启动的Activity如果不是同一个应用,会新建一个任务栈single...

2020-03-30 15:41:20 2078

原创 getParent()与getRootView()

getParent() 和 getRootView() 都是View类下的方法,返回的返回的是一个viewgetParent()从名字上来理解, getParent() 是获得它的父View,如果他没有父View返回null。举个栗子:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.wid...

2020-03-05 21:33:23 798

原创 Kotlin 函数的基本使用

Kotlin 中的函数和 Java 中的方法并不是一个概念。方法是属于函数的一种,在Kotlin里函数属于一等公民。什么是一等公民呢?那就是和对象有着一样的地位,可以被赋值,传递。而方法只是一种只能写在类里面的,供对象调用的函数即有reciever的函数。Java中只有方法,没有函数。函数的定义fun 函数名(参数名:参数类型): 返回类型{}fun main(args: Array&lt...

2020-03-05 08:09:28 144

原创 AsyncTask源码完全解析

AsyncTask 源码分析参考:https://blog.csdn.net/iispring/article/details/50670388AsyncTask 使用流程图源:https://blog.csdn.net/carson_ho/article/details/79314326开始准备工作execute() @MainThread public final ...

2020-01-17 09:59:46 109

空空如也

空空如也

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

TA关注的人

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