自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Android】使用网络技术——WebView的用法、http协议、OKHttp、解析XML、JSON格式数据笔记整理

新建一个WebView项目

2024-08-07 10:17:25 1147

原创 【Android】跨程序共享数据——内容提供器

内容提供器(Content Provider)是Android中的一个组件,用于在应用程序之间共享数据。它提供了一种标准机制,使得一个应用可以暴露其数据,并允许其他应用访问这些数据。内容提供器在访问和存储数据时提供了安全性和一致性,通常用于访问结构化的数据集。

2024-08-03 14:33:09 352

原创 【JAVA设计模式】适配器模式——类适配器模式详解与案例分析

适配器模式通过引入一个适配器类,将一个类的接口转换成客户端所期望的另一种接口。适配器模式的核心在于“适配”,它允许原本由于接口不兼容而无法一起工作的类能够协同工作。适配器模式是一种强大的设计模式,能够有效解决接口不兼容的问题,使得不同接口的类能够协同工作。通过合理使用适配器模式,可以提高系统的灵活性和复用性,但也需要注意其可能带来的复杂性和性能影响。希望本文对你理解适配器模式有所帮助。如果你有任何问题或建议,欢迎在评论区留言!12.设计模式-结构型模式-类适配器模式案例实现_哔哩哔哩_bilibili。

2024-08-02 11:07:54 891

原创 【Android】手机多媒体的使用—通知、摄像头、播放音乐视频

方法定义功能说明设置通知时间,默认为系统发出通知的时间,一般不设置。设置自定义音乐。设置通知栏下拉后的大图标。设置点击通知后跳转的 Activity,即延迟 Intent 实现。设置点击通知后是否消失,true为消失。设置通知的样式,如:大文本样式、大视图样式。设置通知优先级,用于 Android 8.0 以下版本。设置通知的 LED 灯、音乐、震动等默认设置。

2024-08-01 16:27:08 497

原创 【Android】数据存储——数据持久化

【Android】数据存储——数据持久化简介Android系统中主要提供了3种方式用于简单地实现数据持久化功能——文件存储、SharedPreferences存储、数据库存储文件存储Context类中提供了一个openFIleOutPut()方法,用于将数据存储到指定文件中。包含两个参数,第一个参数是文件名,第二个参数是文件的操作模式MODE_PRIVATE:默认的操作模式,写入的内容会覆盖原文件内容MODE_APPEND:表示如果文件已经存爱,就往文件里追加内容,不存在就创建文件下面的

2024-07-26 12:02:31 711

原创 【Android】碎片—动态添加、创建Fragment生命周期、通信

在Fragment中定义一个接口,Activity实现该接口来接收数据。

2024-07-25 15:10:04 1327

原创 【Android】广播机制

在Android中,广播(Broadcast)是一种消息,任何应用程序都可以发送广播消息,任何应用程序也都可以接收广播消息。广播通常用于通知应用程序某些事件的发生,比如系统启动、电量低、网络状态改变等。Broadcast Receiver(广播接收器):用于接收广播消息并响应这些消息的组件。Intent(意图):用于传递广播消息的数据结构。标准广播(Normal Broadcast)是完全异步的,所有接收器几乎同时接收广播,并且接收顺序是不确定的。

2024-07-24 21:35:56 965

原创 【Android】性能实践—编码优化与布局优化学习笔记

但是如果我们本来的界面中还有别的东西,我们在引入header后所有的东西都有可能被覆盖,出现这个问题是原因是因为header的最外层布局是一个宽高都是match_parent的LinearLayout,我们可以将LinearLayout的layout_height属性修改成wrap_content就可以了,但是这种操作会影响header的界面,如何你只希望让activity_main.xml这一个界面受影响的话,那么可以使用覆写属性的方式。它的主要目的是减少布局层级,使布局文件更加高效。

2024-07-23 16:31:41 1351 1

原创 【Android】用 ViewBinding 让你的代码告别混乱

当我们刚接触Android开发的时候,最常写的莫过于使用去在代码中找到并操作布局文件中的视图。然而,随着应用程序复杂性的增加,频繁使用可能导致代码冗长且容易出错。所以,我们的就登场了。通过使用 ViewBinding,我们可以显著简化视图查找的代码,使代码更加简洁和安全。无论是新项目还是旧项目的重构,ViewBinding 都是一个值得尝试的特性。告别,让你的 Android 开发体验更加顺畅和高效。希望本文对大家有所帮助,如果存在问题请麻烦指正!!已经到底啦!!

2024-07-20 10:37:48 820

原创 【Android】基础—基本布局

【Android】基础—基本布局基本布局线性布局垂直方向:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="

2024-07-18 20:27:29 997

原创 【Android】基础—常用控件、Intent

每个Intent只能对应一个action,但是可以指定多个category。在创建的Activity中先重写onCreateOptionsMenu。可以在MainActivity中为Button点击事件注册一个监听器。在SecondActivity中进行点击终止并传递。在res里添加menu,在menu中进行内容编写。在SecondActivity中进行接收。在FirstActivity中进行传递。在创建的Activity里进行重写。可以通过点击来让进度条显示或者消失。在layout里进行配置。

2024-07-17 15:22:19 837

原创 【Java】图的初识

图是计算机科学中非常重要的数据结构,理解图的基本概念和Java中的实现方法对于解决很多复杂问题都非常有帮助。通过本篇博客的介绍,希望大家对图有一个初步的了解,并能够在实际编程中应用图的相关知识。深度优先搜索是一种遍历图的方法,从一个起始顶点出发,沿着一条路径尽可能深入,然后回溯继续搜索未访问的顶点。邻接矩阵是一种二维数组,用于表示顶点之间的连接关系。邻接表是一种数组加链表的结构,每个顶点对应一个链表,链表中存储与该顶点相邻的顶点。广度优先搜索是一种遍历图的方法,从一个起始顶点出发,逐层访问相邻的顶点。

2024-06-16 17:20:44 1124

原创 重生之我要精通JAVA--第八周笔记

任务拒绝策略说明默认策略:丢弃任务并抛出RejectedExecutionException异常丢弃任务,但是不抛出异常 这是不推荐的做法抛弃队列中等待最久的任务 然后把当前任务加入队列中调用任务的run()方法绕过线程池直接执行参数说明要求核心线程数量不能小于0最大线程数量不能小于0,最大数量 >= 核心线程数量空闲线程最大存活时间不能小于0unit时间单位用TimeUnit指定workQueue任务队列不能为null创建线程工厂不能为nullhandler。

2024-06-09 17:15:57 1261 1

原创 【数据结构】平衡二叉树左旋右旋与红黑树

平衡二叉树是二叉搜索树的一种特殊形式。而平衡二叉树(Balanced Binary Tree)在满足了二叉搜索树的所有性质的基础上,还额外保证了树的高度尽可能小,即任意节点的左右子树高度差不超过1。

2024-06-07 22:45:20 1397

原创 重生之我要精通JAVA--第七周笔记

Lock是接口不能直接实例化,这里采用它的实现类ReentrantLock来实例化。为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock。创建FutureTask的对象(作用管理多线程运行的结果)创建MyCa1lable的对象)表示多线程要执行的任务)特点2:里面的代码全部执行完毕,线程出来,锁自动打开。并行:在同一时刻,有多个指令在多个CPU上同时执行。重写ca11(是有返回值的,表示多线程运行的结果)特点1:锁默认打开,有一个线程进去了,锁自动关闭。

2024-06-02 17:51:43 1023

原创 重生之我要精通JAVA--第六周笔记

路径1:“a.txt”路径2:“abc\\a.txt”路径1:“c:\\a.txt”路径2:“c:\\abc\\a.txt”

2024-05-26 18:31:17 1163

原创 贪心算法--区间调度问题

在本文中,我们深入探讨了贪心算法的原理、应用场景以及实现方法。贪心算法作为一种简单而强大的算法设计技巧,已经在许多领域得到了广泛的应用,如图论、任务调度、最优化问题等。通过每一步的局部最优选择,贪心算法能够快速地找到问题的最优解,具有较高的执行效率。在实际应用中,贪心算法的灵活运用能够为我们带来更多的便利和效益。通过深入理解贪心算法的原理和特点,我们可以更好地利用这一算法工具,为解决实际问题提供有效的解决方案。希望本文能够帮助读者更好地理解贪心算法,并在实际应用中取得更好的效果。

2024-05-24 21:55:03 1197

原创 重生之我要精通JAVA--第五周笔记

定义异常类写继承关系空参构造带参构造。

2024-05-19 17:24:09 797

原创 重生之我要精通JAVA--第四周笔记

接口用关键字interface来定义public interface 接口名 {}接口不能实例化接口和类之间是实现关系,通过implements关键字表示public class 类名 implements 接口名 {}接口的子类(实现类)要么重写接口中所有的抽象方法要么是抽象类注意1:接口和类的实现关系,可以单实现,也可以多实现:public class 类名 implements 接口名1,接口名2{}注意2。

2024-05-12 18:08:17 1116

原创 重生之我要精通JAVA--第三周笔记

this:理解为一个变量,表示当前方法调用者的地址;super:代表父类存储空间关键字访问成员变量访问成员方法访问构造方法thisthis.成员变量访问本类成员变量this.成员方法(…)访问本类成员方法this(…)访问本类构造方法supersuper.成员变量访问父类成员变量super.成员方法(…)访问父类成员方法super(…)访问父类构造方法抽象方法:publicabstract返回值类型 方法名(参数列表)抽象类:publicabstract。

2024-05-05 17:58:03 1006 2

原创 算法数据结构--单调栈

单调栈是一种特殊的栈数据结构,其特点在于栈内的元素保持单调性。单调栈通常分为单调递增栈和单调递减栈两种类型。总的来说,单调栈是一种高效、简洁且灵活的数据结构。单调栈的空间复杂度通常很低,因为它只需要存储输入序列中的一部分元素,而不需要额外的空间。通常情况下,单调栈的时间复杂度为 O(n),其中 n 为输入序列的长度。这是因为在大多数情况下,每个元素最多进栈一次、出栈一次,所以整个过程的时间复杂度是线性的。所以单调栈在解决数组或序列相关问题时具有很好的效果。已经到底啦!!

2024-05-03 21:42:33 939 1

原创 重生之我要精通JAVA--第二周笔记

public class 类名 {1、成员变量(代表属性,一般是名词)2、成员方法(代表行为,一般是动词)3、构造器4、代码块5、内部类用来描述一类事物的类,专业叫做:Javabean类。在Javabean类中,是不写main方法的。在之前编写的main方法的类,叫做测试类。我们可以在测试类中创建javabean类的对象并进行赋值调用。类名首字母建议大写,需要见名知意,驼峰模式。

2024-04-28 18:03:19 830 1

原创 重生之我要精通JAVA--第一周笔记

数据类型 变量名 = 数据值;String为字符串类型Java帮我们写好了一个类叫Scanner,这个类可以接收键盘输入的数字。​ project(项目)​ module(模块)​ package(包)​ class(类)格式一:数据类型 [ ] 数组名格式二:数据类型 数组名[ ]

2024-04-21 18:13:23 1112

原创 大一下考核题解

因为我们直接在原数组中进行修改会无法判断数组中的0是原题还是修改之后的,所以本题的最直接的思路就是我们直接重新创建一个二维数组进行标记原数组为0的位置,然后重新遍历一遍新创建的数组,当遇到之前标记的位置,我们就把数组对应的行和列全部设置为0,就可以实现本题了。指针负责遍历完成所有的字符,遇到符合题意的就令s[l++]=s[r++],反之直接r++就可以了。初始化第0天一种情况是买票,为-prices[0],其他情况为没买,初始化为0;f[i] [2]: 手上不持有股票,并且不在冷冻期中的累计最大收益。

2024-04-20 21:28:16 807

原创 大一上考核题解

因为我们直接在原数组中进行修改会无法判断数组中的0是原题还是修改之后的,所以本题的最直接的思路就是我们直接重新创建一个二维数组进行标记原数组为0的位置,然后重新遍历一遍新创建的数组,当遇到之前标记的位置,我们就把数组对应的行和列全部设置为0,就可以实现本题了。本题主要思路就是重新创建两个数组,一个用来记录下标为i左边数字的乘积和,一个用来记录下标为i右边数字的乘积和,这样子当我们统计的除nums[i]之外个元素的乘积就是arr1[i-1]*arr2[i+1]。以上就是大一上考核题解!

2024-04-20 21:27:20 687

原创 二叉树例题分享

我们在遍历二叉树的时候,如果本节点的数值大于val,则证明val应该插入到左子树中,反之插入右子树中,我们只需要继续判断本节点的左孩子节点(右孩子节点)是否为空,如果不为空则继续遍历,如果为空则证明该位置就为插入位置。本题要求我们找到二叉搜索树中两个节点的最小公共祖先,因为是二叉搜索树,所以实现起来还是比较简单的,因为二叉搜索树的左子树数值一定小于根节点数值小于右子树数值。总体来说只要我们知道在什么情况下是最近公共祖先,我们就可以轻松实现本题要求。因为是二叉搜索树,所以我们遍历一次便可以实现。

2024-04-14 17:39:01 799 1

原创 回溯算法初识

​ 回溯算法是一种通过不断尝试可能的解决方案来解决问题的算法。它通常用于解决组合优化问题,如排列组合问题、子集和问题等。该算法通过尝试所有可能的候选解,并逐步构建解决方案。在构建过程中,如果发现当前的解决方案不满足问题的条件,则回溯到上一步,尝试其他的选择。

2024-04-14 17:16:55 393 1

原创 二叉树相关题目分享

二叉树的题目大部分都是要用递归去实现,要实现递归就需要我们找终止条件,找返回值,明白本级递归应该做什么。递归看起来容易,但是我们自己实现起来还是有些许难度的,要多加练习才能更熟练地使用递归去解决问题。已经到底啦!!

2024-04-07 18:19:25 951

原创 二叉树的遍历

第一种方法大概思路就是从根节点开始,先把根节点存进栈中,取出来一个放进答案中,后分别向栈中该节点的右,左孩子节点(不为空),再取出来一个放进答案中并向栈中存进它的右,左孩子节点,直到栈为空,我们也就实现了前序遍历。第二种方法大概思路就是从根节点开始遍历,一直向左孩子节点遍历,边遍历边存储,直到为空后向上返回一层,将右孩子节点变为新的根节点,然后一直循环,直到遍历完所有的节点。​ 广度优先遍历一般使用队列来实现,从根节点开始,将每一层的节点按顺序加入队列,然后依次访问。

2024-03-31 14:28:55 809 1

原创 初识栈与队列

队列是一种常见的数据结构,它遵循先进先出(First-In-First-Out,FIFO)的原则。这意味着最先进入队列的元素将最先被移除。队列通常比喻为排队等待服务的人群,先来的人先被服务,后来的人依次排在后面等待。队列有两个主要操作:1.入队(enqueue):向队列的末尾(队尾)添加一个元素。2.出队(dequeue):从队列的头部(队首)移除一个元素。除此之外,队列还可能包括其他操作,如:​查看队首元素(peek):获取队列的第一个元素,但不将其从队列中移除。​。

2024-03-20 21:41:34 1231 4

原创 powershell学习

PowerShell 是一种由微软开发的脚本语言和命令行 shell,用于自动化任务和管理系统。它于 Windows PowerShell 1.0 版本首次发布,并且后来在 Windows 7 和 Windows Server 2008 R2 中作为默认的命令行 shell。在 Windows 10 中,PowerShell 已经成为默认的命令行工具。语法和功能PowerShell 提供了更丰富和强大的语法和功能,支持对象管道和面向对象的编程范式。

2024-03-17 10:50:21 861 1

原创 github学习

下面是Git工作流程图:clone(克隆): 从远程仓库中克隆代码到本地仓库checkout (检出):从本地仓库中检出一个仓库分支然后进行修订add(添加): 在提交前先将代码提交到暂存区commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge。

2024-03-17 10:46:59 888 1

原创 git学习笔记

当 Git 在查找配置设置时,它会首先查找本地配置,如果找不到,它会继续查找全局配置。git branch -av用于显示本地分支和远程分支的列表,并显示它们的详细信息,包括最新的提交哈希值、提交信息以及是否有追踪分支。$ git config --local -------只对某个仓库有效。$ git config --global --------对当前用户所有仓库有效。$ git config --system --------对系统所有登录的用户有效。

2024-03-10 14:46:02 949 1

原创 二叉树初步学习

先执行root->left = Create_Tree(),向左到最后一层,然后归一层,再执行root->right = Create_Tree(),这样就可以完成二叉树的创建。指的是除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。先会输出根节点的内容,然后向左遍历,边遍历边输出,遇到NULL后归,再输出右边的内容。先向左遍历到最左边的节点,输出后回退,再输出根节点,最后输出右节点。树的遍历分为四种:先序遍历,中序遍历,后续遍历,层次遍历。

2024-03-04 17:59:00 1109 1

原创 贪心算法与哈希表刷题笔记

本题是哈希表中的一道简单题,要判断串s和串t中字母出现次数是否相同,我们只需要把串s和串t中的字母按下标存储起来,再判断是否数量相等。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。我们可以从大到小循环小孩,从最大的饼干开始的分发,如果大于小孩的胃口,ans++,然后饼干减小。通常情况下,罗马数字中小的数字在大的数字的右边。,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。我们这道题的思路就是尽量把大的饼干分给胃口大的小孩。

2023-12-09 23:54:57 891

原创 反转链表的四种方式

此时我们如果把end继续向后移动,我们就会发现end指向了NULL,所以我们也找到了循环终止的条件(end==NULL)。迭代法我们需要用三个指针完成,分别是前驱节点(pre),当前节点(cur),后驱节点(next)。当我们最后一次执行q=p->next(NULL)时跳出循环,反转结束。递归法其实理解起来还是有点难度的,主要需要我们明白递和归分别实现了什么。我们只需要用头插法的方式把原链表的数据一一插入,就能达到反转的效果。我们需要创建指针进行移动指向原链表的数据。原地反转需要用两个指针进行移动去完成。

2023-11-30 22:00:00 4054

原创 文件的基本操作

与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等。文件通常具有点+三个字母的文件扩展名,用于指示文件类型例如,图片文件常常以KPEG格式保存并且文件扩展名为.jpg文件一般分为程序文件和数据文件。程序文件:源程序文件(后缀.c),目标文件(后缀为.obj),可执行程序(后缀为.exe)数据文件:程序运行时所读写的数据。

2023-11-26 11:18:13 1137 1

原创 二分法,分享会

​二分查找算法也称折半搜索算法,对数搜索算法,是一种在有序数组中查找某一特定元素的搜索算法。​ 搜索从数组中间元素开始,直到中间元素为目标元素停止。

2023-11-20 18:23:03 131 1

原创 二分法学习分享

​二分查找算法也称折半搜索算法,对数搜索算法,是一种在有序数组中查找某一特定元素的搜索算法。​ 搜索从数组中间元素开始,直到中间元素为目标元素停止。

2023-11-19 17:23:39 176 2

原创 链表的创建,插入,输出

​ 本周学习了链表的创建,插入,输出,下面为学习内容。

2023-11-11 20:45:27 430

空空如也

空空如也

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

TA关注的人

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