自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 EventBus的使用以及注意事项

Android系统中的事件通信是 handler (消息机制) 和 BroadCastReceiver (广播机制), 通过它们可以实现组件之间的事件通讯。缺点在于,代码量多、组件之易产生藕合引用。这时候EventBus就展示出了他的优点EventBus 是一种在软件开发中使用的发布/订阅(Pub/Sub)事件通信机制假设你是一个读者,你对多个报纸感兴趣,但你并不想每天亲自去买每一份报纸。这时,你可以选择订阅报纸的服务。

2023-12-07 20:32:13 249

原创 ARouter由入门到使用,理论和范例

Route作用:用于标记目标页面,即Android组件,如Activity或Fragment等,以便ARouter能够找到并跳转到这些组件。属性path(必须):指定了跳转的路径,这个路径需要在当前项目中唯一,通常遵循/模块名/页面名的格式。group(可选):用于分组,可以按照模块划分,方便管理,如果不指定,ARouter会根据路径自动生成。

2023-12-05 21:07:07 139 1

原创 组件化入门到使用(1)及其详细一步一步入门学习

在上面讲述了组件化的好处,但是只是单纯的知道了组件化是将一个项目分为多个小组件但是并不了解什么是组件化,这里开始正式介绍组件化组件化是一种软件架构设计方法,它将整个软件系统划分为多个独立的功能模块,每个模块都被作为一个单独的组件进行开发、测试和部署。这些组件可以是独立的可执行文件、动态链接库、静态库、甚至是服务或微服务,它们之间通过明确的接口和协议进行通信。

2023-12-05 20:33:17 95 1

原创 浅析MVC,MVP,MVVM与其联系

当从MVC(Model-View-Controller)演变到MVP(Model-View-Presenter),再到MVVM(Model-View-ViewModel)时,是一个逐步将逻辑与视图分离的过程。在MVC中,模型(Model)负责存储数据和业务逻辑,视图(View)负责用户界面的展示,控制器(Controller)充当模型和视图之间的协调者。但是,视图和控制器之间的关系紧密耦合,导致视图难以独立测试和重用。为了解决这个问题,MVP模式引入了Presenter层。

2023-11-26 22:41:36 59 3

原创 Intent详细解释,复杂数据类型传递

当我们需要在Intent中携带自定义的对象(基本数据类型在底层封装类中都已经实现过了)时,这些对象需要实现 Serializable 或 Parcelable 接口,以便能够在不同组件之间进行序列化和反序列化。序列化指的是将对象转换为可存储或可传输的格式,例如字节流或者JSON字符串。而反序列化则是将存储或传输的数据重新转换为对象。在Android中,当我们在Intent中传递自定义对象时,系统需要将这些对象序列化为字节流,以便在不同组件之间传输或存储;

2023-11-12 21:56:31 191

原创 Fragment的俩种跳转方式,有理论有范例

现在的很多软件都要涉及多个页面的切换,这里就可以使用Fragment来做到,若使用Fragment来实现这个效果就会有一个问题,那就如何做到多个Fragment的切换,这里介绍一下Fragment的俩种切换方式,在Android中,Fragment的切换主要有两种方式:使用replace方法和使用hide/show方法。

2023-11-12 21:50:19 1405

原创 浅谈CoordinatorLayout

CoordinatorLayout 是一个增强版的 FrameLayout,它扩展了 FrameLayout 的功能,使得子视图可以更好地进行协调和交互。它是通过使用一些特殊的 Behavior 对象来实现的,这些 Behavior 对象定义了子视图之间的交互规则,单指没有太大的作用,重要的是配合behavior来使用!

2023-11-12 21:42:19 138

原创 BottomSheet 的使用介绍(BottomSheetBeahvior,BottomSheetDialog,BottomSheetDialogFragment)

BottomSheet是一种从屏幕底部向上滑出一个对话框的效果,可以用来显示内容或者提供与用户相关的操作,在开发过程中十分常见,Bottom Sheet 具体实现主要包含:BottomSheetBeahvior 、BottomSheetDialog、BottomSheetDialogFragment,这三个组件均可以实现半屏弹出效果,区别点在于接入和使用方式上的差异三个组件的概述。

2023-11-12 21:37:19 933 1

原创 Retrofit

在注解指定的接口地址中使用了一个{page}的占位符,然后又在getData()方法中添加了一个page参数,并使用@Path(“page”)这个注解来申明这个参数,这样在调用getData方法进行申请的时候Retrofit就会自动把page参数的值替换到占位符的位置。这里ResponseBody,除了EGT其他的更多是操作服务器上的数据,而不是获取服务器上的数据所以他对服务器响应的数据并不关心,这时候ResponseBody表示可以接收任意类型的数据,并不会对响应数据进行解析。接口的匿名类的实例。

2023-11-02 21:45:58 22

原创 安卓 java完成天气预报,如果你刚刚开始完全不知道怎么写,可以进来看看

自己仿写了一个小项目,在里面有一些新的东西需要学习,并且整体思路整理一下,这里从头开始一点点讲解这个项目,会尽量细一点起初是根据第一行代码第三版写的,不过这里使用的语言是java,在第一行语言中他将其整体分为了三个部分(三个功能),书上使用了MVVM框架,他把数据和UI分割开来,然后有一个连接二者的桥梁,一共三个部分,这里先根据他的思路讲解,注意这里我使用的不是书上的彩云天气,而是和风天气,所以后面的数据导入会和书上不同使用MVVM框架,因为找不到在ViewModel层开始就不和Activity直接联系所以

2023-11-02 21:10:10 125

原创 androidstudio学习有关UI的部分内容

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uK903oQC-1690111407236)(E:\笔记\笔记内图片\QQ截图20230718163634.png)]我们使用的所有是控件都是继承于View的,所有的布局都是继承于ViewGroup。引入布局的技巧确实解决了重复编写布局代码的问题,但是如果布局中有一些控件要求 能够响应事件,我们还是需要在每个活动中为这些控件单独编写一次事件注册的代码。

2023-07-23 19:23:42 277 2

原创 collection集合

​ //add有返回类型,为boolean类型,list类型一定返回true,set若添加数据之前不存在则返回true,表示添加成功,若 已经存在则返回false。​ boolean hasNext() 判断当前位置是否有元素,有元素返回true ,没有元素则返回false。E set (int index ,E element) 修改指定位置处的元素,返回被修改的元素。

2023-06-04 17:29:56 42 1

原创 常用类(Math,Object,Runtime,System,BigInteger,BigDecimal)

用于数学计算的工具类,abs(int a) 绝对值ceil (double ) 向上取整floor (double a) 向下取整round (float a) 四舍五入max(int a,int b)获取俩个int 值中的较大值pow (double a,double b) 返回a的b次幂sqrt(double a) 开方cbrt(double a) 开立方random() 返回随机值,范围为(0,1)

2023-05-28 16:59:20 46 1

原创 接口和抽象类

/没有{}public abstract class 类名 {1.接口的定义利用关键字interface定义public interface 接口名 {2.接口不能实例化3.接口和类是实现关系,通过implements关键字表示(可以多实现)(可以让一个类在继承一个类的同时 实现多个接口)public class 类名 implements 接口名 {public class 类名 implements 接口 1 , 接口 2 {

2023-05-21 15:43:08 40 1

原创 树的简单入门

二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。如果某个结点有俩个以上子树则他不是二叉树例如上图中D有三个子树则其不是二叉树[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-deXK0J5Q-1684047713011)(E:\笔记\笔记内图片\QQ截图20230513115804.png)]这个就是一个二叉树。

2023-05-14 15:07:44 39

原创 Arrylist集合的初步使用

/基本数据类型运用类除了char和int 外其他为首字母大写如:short->Short,long->Long。//char 为Character,int 为integer。储存数据,较数组的优点为长度可变,添加元素,集合会自动扩容。//泛型:限定集合中储存数据类型对象即。输出时会打印集合中的储存内容而不是地址。输出时会自带[ ]包裹。

2023-05-07 19:22:10 45

原创 KMP算法的大致思路

作用:处理字符串匹配的问题,比正常遍历要快,时间复杂度为O(n)

2023-04-25 19:24:31 52

原创 栈和队列及相关习题

int head;int tail;} a;初始化a.tail=0;a.head=0;(1~n)实际存储个数为n-1;留一个位置判断队满或者队空限定在表尾进行插入删除操作的线性表//数据类型可自己选择 int top;//栈顶 } zan。

2023-04-23 17:37:51 40 1

原创 算法入门——哈希表

看不懂,问题不大哈希表主要是以空间换时间在查找元素时比数组遍历快很多哈希:就是将有效的字符转换成有限或者固定的数字,不过哈希与加密不同,;哈希表:哈希表与数组不同但是有些地方相似,如数组利用索引确定数据位置,但是哈希表不再直接使用索引而是使用键值对进行表示 ,哈希表很像一种高级数组,但是数组的索引值一定是一个整数,通过这个整数找到对应内存地址,,运算就是哈希函数,哈希函数后面有解释。

2023-04-07 22:29:40 146

原创 算法入门---位运算

位运算有逻辑运算符和位移运算符俩种,俩种运算符都是二进制运算符,都将数据在二进制下进行处理。

2023-04-05 21:08:39 40 1

原创 笔记 队列 栈

队列定义 一种线性数据结构 只允许在头部删除,叫做出队,尾部插入,叫做入队,当无元素时叫做空队列(即head==tail)使用 :利用一个一维数组 和 一个栈顶变量实现栈 ,利用栈顶变量(top)实现对栈的插入和删除。例题 给定9个数据,将其第一个数据丢掉,将第二个数据补到队尾,重复,直到全部数据删除·栈 定义:是只允许在一端进行插入或删除的。使用: 一般将其封装为一个结构体类型。例题 判断一个字符串是否为回文字符。总结一下队列先入先出。

2023-03-27 21:33:13 24

空空如也

空空如也

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

TA关注的人

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