自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kotlin 基础

【代码】Kotlin 基础。

2023-03-15 18:37:33 108

原创 Spring 学习总结 七

TransactionDefinition接口。定义了三类常量,定义了有关事务控制的属性。事务的属性:1)隔离级别 2)传播行为 3)事务的超时给业务方法说明事务属性。和ACID不一样。1、隔离级别:控制事务之间的影响程度5个值,只有四个隔离级别DEFAULT:采用DB默认的事务隔离级别。MySql的默认为REPEATABLE_READ;Oracle默认为READ_COMMITTED。READ_UNCOMMITTED:读未提交。为解决任何并发问题。

2023-03-08 00:46:45 116

原创 Spring 学习总结 六

3、数据源DataSource对象,使用一个更强大,功能更多的连接池对象代替mybatis自己的PooledDataSource。使用mybatis,需要创建mybatis框架中的某些对象,使用这些对象,就能使用mybatis提供的功能了。spring能集成很多的框架,是spring一个优势功能,通过集成功能,让开发人员使用其他框架更方便。1、需要有Dao接口的代理对象,例如StudentDao接口,需要一个它的代理对象。要使用框架,例如MyBatis,怎么使用myBatis?

2023-03-02 18:11:35 98

原创 Spring 学习总结五

Aspect:表示切面,给业务方法增加的功能,叫做切面。切面一般都是非业务功能,而且切面功能一般都是可以重复使用的,例如 日志功能、事务功能,权限检查,参数检查,统计信息等等。3)Pointcut:切入点,是一个或多个连接点集合,表示这些方法执行时,都能增加切面的功能,表示切面执行的位置。5)Advice:通知(增强),表示切面的执行时间,在目标方法之前执行切面,还是在目标方法之后执行切面。2)joinPoint:连接点,连接切面的业务方法,在这个业务方法执行时,会同时执行切面的功能。

2023-02-28 02:19:48 74

原创 Spring 学习总结 四

概念:spring可以根据某些规则给引用类型完成赋值,只对引用类型有效,规则byName,byType。概念:spring调用类中的set方法,在set方法中可以完成属性赋值,推荐使用。构造注入:spring调用类中的有参数的构造方法,在创建对象的同时,给属性赋值。3、spring读取配置文件,一次创建好所有的java对象,都放在map中。注意:在xml配置文件中,符合条件的对象,只能有一个,多余一个都是报错的。在xml配置文件中使用标签和属性,完成对象创建,属性赋值。1、set注入,也叫设值注入。

2023-02-22 19:58:20 61

原创 Spring 学习总结 三

目的:使用spring: spring作为容器管理对象,开发人员从spring中获取要使用的对象。使用< bean > 标签表示对象声明,一个bean表示一个java对象。创建一个表示spring容器的对象 ApplicationContext。从容器中,根据名称获取对象,使用getBean(“对象名称”)spring-context : spring 依赖。4、创建spring的配置文件。接口和实现类定义:和没有spring一样。3、开发人员定义类: 接口和实现类。把对象交给spring创建和管理。

2023-02-20 15:51:40 45

原创 Spring 学习总结 二

程序只需要提供使用的对象的名称就可以了,对象如何创建,如何从容器中查找,获取都由容器内部自己实现。Inversion of Control:控制反转,一个理论,一个指导思想,指导开发人员如何使用对象,管理对象。把对象的创建,属性赋值,对象的生命周期都交给代码之外的容器管理。正转:由开发人员使用new构造方法创建对象,开发人员掌握了对象的创建,属性赋值,对象从开始到销毁的全部过程,开发人员有对对象的全部控制。通过容器可以使用容器中的对象(容器已经创建了对象,对象属性赋值了,对象也组装好了)。

2023-02-20 15:27:17 41

原创 Spring 学习总结 一

一种轻量级开源的java开发框架,为了解决企业应用开发的复杂性而创建的。Spring的核心的是控制反转(IOC)和面向切面编程(AOP)。主要作用:为代码“解耦”,降低代码的耦合度。Spring 是一种容器,用于装的是 java 对象。可以让 spring 创建对象,给属性赋值。Spring的官网地址:https://spring.io/ Reference doc 说明书,API doc 类和接口文档。

2023-02-20 09:30:23 109

原创 深入了解Android卷 学习笔记 03

第三章 深入理解 init3.1 概述

2022-05-17 17:27:38 716

原创 深入理解Android卷 学习笔记 02

第二章 深入理解JNI2.1 JNI 概述

2022-05-06 17:20:34 349

原创 深入理解Android卷 学习笔记 01

第一章 阅读前的准备工作1.1 系统架构1.1.1 Android系统架构

2022-05-05 16:19:16 599

转载 Kotlin 学习笔记 02

Kotlin 基础语法包声明Kotlin的包声明,kotlin源文件不需要相匹配的目录和包,源文件可以放在任何文件目录。package com.runoob.mainimport java.util.*fun test() {}class Runoob {}例子中的test()的全名是 com.runoob.main.test、Runoob 的全名是 com.runoob.main.Runoob。如果没有指定包,默认为 default 包。默认导入Kotlin默认导入的包有:k

2022-05-04 10:26:07 231

原创 Kotlin 学习笔记 01

Kotlin 概述简单例子Kotlin程序文件以.kt结尾,第一个Kotlin程序:package hello // 可选的包头 fun main(args: Array<String>) { // 包级可见的函数,接受一个字符串数组作为参数 println("Hello World!") // 分号可以省略使用方法达成效果:class Greeter(val name: String) { fun g

2022-05-03 11:00:26 76

原创 按键精灵-抓抓

https://cxymm.net/article/gfd54gd5f46/53959458

2022-02-21 10:34:03 730

原创 2021-08-28 力扣 - 整数翻转 - 简单

整数翻转 - 简单题目给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例:输入:x = 123输出:321输入:x = -123输出:-321输入:x = 120输出:21输入:x = 0输出:0提示: - 231(-2147483648) <= x <= 231 - 1(2

2021-09-04 17:24:01 112

原创 2022-04-22 Git学习笔记 03

Git学习笔记 03Git基本操作1、克隆 【git clone】git clone + 克隆代码的完整路径2、分支操作 【git branch】查看本地分支: $ git branch //分支前带 *的是当前所在分支查看所有本地分支和远程分支: $ git branch -a或者git branch --all切换本地分支: $ git checkout <分支名>创建新的本地分支: $ git branch<分支名> < commitid >

2021-08-30 17:09:33 786

原创 2022-04-15 Git学习笔记 02

Git学习笔记 02Git安装与配置Git安装Git的各系统下的安装教程可以参考以下地址:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-GitGit的其他内容也可以在上面的地址找到。Git配置https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%88%9D%E6%AC%A1%E8%BF%90%E8%A1%8C-Git-%E5%89%8D%E7%9

2021-08-30 14:03:25 94

原创 2022-04-12 Git学习笔记 01

Git学习笔记 01Git简介介绍:Git是一款开源的分布式版本控制系统,可以高速、有效的管理从很小到很大的项目。特点Git主要有以下几个特点:离线开发:出差怎么办?用诸如svn等集中式版本控制系统,连接不上中央版本库就不能工作。有了git,你的本地机器几乎能做所有事情:提交、查看版本库所有历史记录、合并(merge)或者新建分支……速度快:由于离线开发,许多操作不需要等待服务器响应时间,节省了不小时间。安全性高:可以不需要集中式的版本库,团队里每个成员的本地就是一个完整的版本库,就算中央

2021-08-27 15:01:56 94

原创 2021-08-18 消息传递机制(Handler) 01

Handler 自我理解笔记以下内容原文链接:https://blog.csdn.net/luoyingxing/article/details/86500542Handler的通俗理解:首先,我将Handler相关的原理机制形象的描述为以下情景:Handler:快递员(属于某个快递公司的职员)Message:包裹(可以放置很多东西的箱子)MessageQueue:快递分拣中心(分拣快递的传送带)Looper:快递公司(具有处理包裹去向的管理中心)情景分析:在子线程中更新主线程的UI

2021-08-23 15:05:17 128

转载 2021-08-20 2021-08-20 小Demo代码-自定义ViewGroup

小Demo代码-自定义ViewGroupViewGroup是个View容器,它装纳child View并且负责把child View放入指定的位置。设计步骤:首先,我们得知道各个子View的大小吧,只有先知道子View的大小,我们才知道当前的ViewGroup该设置为多大去容纳它们。根据子View的大小,以及我们的ViewGroup要实现的功能,决定出ViewGroup的大小ViewGroup和子View的大小算出来了之后,接下来就是去摆放了吧,具体怎么去摆放呢?这得根据你定制的需求去摆放了,

2021-08-20 16:43:04 110

转载 2021-08-20 小Demo代码-自定义View

小Demo代码-自定义View小知识:自定义View我们大部分时候只需重写两个函数:onMeasure()、onDraw()。onMeasure负责对当前View的尺寸进行测量,onDraw负责把当前这个View绘制出来。当然了,你还得写至少写2个构造函数: public MyView(Context context) { super(context); } public MyView(Context context, AttributeSet attrs) {

2021-08-20 14:56:19 126

转载 2021-08-19 阿里路由框架(ARouter) 01

阿里路由框架ARouter的使用步骤以宿主APP、modulebase和moduleuser 三大模块组成的工程为例,框架如下图:第一步:因为路由跳转是子模块都需要用到的,所以我们在module_base模块中引入compile "com.alibaba:arouter-api:$rootProject.arouterVersion" 第二步:然后在各子模块module_user的build文件中导入:annotationProcessor "com.alibaba:arouter-compi

2021-08-19 13:58:20 620

转载 2021-08-19 Android官方文档学习笔记 11

Android官方文档学习笔记Broadcasts(广播)Android 应用程序可以从 Android 系统和其他 Android 应用程序发送或接收广播消息,类似于 发布订阅 设计模式。当感兴趣的事件发生时发送这些广播。例如,Android 系统会在各种系统事件发生时发送广播,例如系统启动或设备开始充电时。应用程序还可以发送自定义广播,例如,通知其他应用程序他们可能感兴趣的内容(例如,已下载一些新数据)。应用程序可以注册以接收特定的广播。发送广播时,系统会自动将广播路由到已订阅接收该特定类型广播的

2021-08-19 11:17:27 180

转载 2021-08-17 自定义视图组件(View) 01

自定义视图组件(View)Android 提供了一个复杂且强大的组件化模型,可帮助您根据基本布局类 View 和 ViewGroup 构建界面。首先,该平台包含各种预构建的 View 和 ViewGroup 子类,分别称为微件和布局,可供用来构建界面。可用的部分微件包括 Button、TextView、EditText、ListView、CheckBox、RadioButton、Gallery、Spinner,以及具有特殊用途的 AutoCompleteTextView、ImageSwitcher 和

2021-08-17 14:09:38 546

原创 2021-08-16 Android知识小点 - ContentValues

ContentValuespublic final class ContentValuesextends Object implements Parcelable对象↳ android.content.ContentValues此类用于存储ContentResolver 可以处理的一组值。ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而Hash

2021-08-16 19:37:31 301

转载 2021-08-12 Android官方文档学习笔记 10

Android官方文档学习笔记Fragment管理器注意:我们强烈建议使用导航库管理应用的导航。该框架遵循使用 Fragment、返回和 Fragment 管理器的最佳实践。FragmentManager 类负责对应用程序的 Fragment 执行一些操作,如添加、移除或替换它们,以及将它们添加到结果返回。如果您使用的是Jetpack的导航库,可能则永远不会直接与FragmentManager交互,因为该库会代表您使用FragmentManager。也就是说,任何使用片段的应用都在某种程度上使用

2021-08-12 10:21:47 254

转载 2021-08-11 Android官方文档学习笔记 09

Android官方文档学习笔记创建Fragment甲Fragment表示用户界面的活动内的模块化部分。Fragment有自己的生命周期,接收自己的输入事件,您可以在包含活动的运行时添加或删除Fragment。本文档介绍了如何创建Fragment并将其包含在活动中。设置您的环境片段需要依赖于 AndroidX 片段库。您需要将Google Maven 存储库添加 到您的项目build.gradle文件中以包含此依赖项。buildscript { ... repositories

2021-08-11 17:43:10 255

转载 2021-08-11 Android官方文档学习笔记 08

Android官方文档学习笔记FragmentFragment 表示应用界面中可重复使用的一部分。Fragment 定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。Fragment 不能独立存在,而是必须由 Activity 或另一个 Fragment 托管。Fragment 的视图层次结构会成为宿主的视图层次结构的一部分,或附加到宿主的视图层次结构。注意:某些 Android Jetpack 库(如 Navigation、BottomNavigationView 和 View

2021-08-11 16:28:20 93

转载 2021-08-11 Android官方文档学习笔记 07

Android官方文档学习笔记Parcelable 和 BundleParcelable 和 Bundle 对象可跨进程边界使用,例如与 IPC/Binder 事务之间,带有 intent 的 Activity 之间等,还可以用来存储跨配置更改的瞬时状态。本页介绍了使用 Parcelable 和 Bundle 对象的建议和最佳做法。注意:Parcel 不是通用序列化机制,您绝不能将任何 Parcel 数据存储在磁盘上或通过网络发送。在 Activity 之间发送数据当应用创建 Intent 对

2021-08-11 14:32:11 117

转载 2021-08-11 Android官方文档学习笔记 06

Android官方文档学习笔记进程和应用生命周期在大多数情况下,每个 Android 应用都在各自的 Linux 进程中运行。当需要运行应用的一些代码时,系统会为应用创建此进程,并使其保持运行,直到不再需要它且系统需要回收其内存以供其他应用使用。应用进程的生命周期并不由应用本身直接控制,而是由系统综合多种因素来确定的,比如系统所知道的正在运行的应用部分、这些内容对用户的重要程度,以及系统中可用的总内存量。这是 Android 非常独特的一个基本功能。应用开发者必须了解不同的应用组件(特别是 Acti

2021-08-11 14:16:30 209

转载 2021-08-10 Android官方文档学习笔记 05

Android官方文档学习笔记了解任务和返回堆栈任务是用户在执行某项工作时与之互动的一系列 Activity 的集合。这些 Activity 按照每个 Activity 打开的顺序排列在一个返回堆栈中。例如,电子邮件应用可能有一个 Activity 来显示新邮件列表。当用户选择一封邮件时,系统会打开一个新的 Activity 来显示该邮件。这个新的 Activity 会添加到返回堆栈中。如果用户按返回按钮,这个新的 Activity 即会完成并从堆栈中退出。通过以下视频可以大致了解返回堆栈的工作原理。

2021-08-10 16:42:41 100

转载 2021-08-09 Android官方文档学习笔记 04

Android官方文档学习笔记处理 Activity 状态更改用户触发和系统触发的不同事件会导致 Activity 从一个状态转换到另一个状态。本文档介绍了发生此类转换的一些常见情况,以及如何处理这些转换。配置发生了更改有很多事件会触发配置更改。最显著的例子或许是横屏和竖屏之间的屏幕方向变化。其他情况,如语言或输入设备的改变等,也可能导致配置更改。当配置发生更改时,Activity 会被销毁并重新创建。原始 Activity 实例将触发 onPause()、onStop() 和 onDestroy

2021-08-09 16:24:41 76

转载 2022-04-22 Android官方文档学习笔记 03

Android官方文档学习笔记了解 Activity 生命周期当用户浏览、退出和返回到您的应用时,您应用中的 Activity 实例会在其生命周期的不同状态间转换。Activity 类会提供许多回调,这些回调会让 Activity 知晓某个状态已经更改:系统正在创建、停止或恢复某个 Activity,或者正在销毁该 Activity 所在的进程。在生命周期回调方法中,您可以声明用户离开和再次进入 Activity 时 Activity 的行为方式。例如,如果您正构建流媒体视频播放器,当用户切换至另一应

2021-08-09 14:23:50 241

原创 2022-04-20 Android官方文档学习笔记 02

Android官方文档学习笔记管理Activity生命周期一个 Activity 在其生命周期中会经历多种状态。您可以使用一系列回调来处理状态之间的转换。下面几节将介绍这些回调。OnCreate()您必须实现此回调,它会在系统创建您的 Activity 时触发。您的实现应该初始化 Activity 的基本组件:例如,您的应用应该在此处创建视图并将数据绑定到列表。最重要的是,您必须在此处调用 setContentView() 来定义 Activity 界面的布局。onCreate() 完成后,下一个

2021-08-06 16:30:32 100

原创 2022-04-16 Android官方文档学习笔记 01

**Android官方文档学习笔记Android的概念Activity 类的目的就是促进这种范式的实现。当一个应用调用另一个应用时,调用方应用会调用另一个应用中的 Activity,而不是整个应用。通过这种方式,Activity 充当了应用与用户互动的入口点。您可以将 Activity 实现为 Activity 类的子类。配置清单要使应用能够使用 Activity,您必须在清单中声明 Activity 及其特定属性。声明Activity要声明 Activity,请打开清单文件,并添加 元素作

2021-08-06 16:03:44 226

空空如也

空空如也

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

TA关注的人

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