自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring-boot 和redis 综合使用

spring-boot 和redis 综合使用。

2023-02-07 10:38:02 180 1

原创 spring-boot 和 druid综合使用

spring boot 和 druid

2023-02-06 11:55:49 168

原创 Retrofit

我们项目当中的每个app都需要用到网络和服务器进行交互,在Android项目开发中使用HTTP协议完成 通信的话,基本上都要用到OkHttp或者Retrofit。OkHttp和Retrofit是目前应用最为广泛的网络组件。

2022-08-12 20:16:37 957

原创 OKHttp

支持HTTP/2, HTTP/2通过使用多路复用技术在一个单独的TCP连接上支持并发, 通过在一个连接上 一次性发送多个请求来发送或接收数据 如果HTTP/2不可用, 连接池复用技术也可以极大减少延时 支持GZIP, 可以压缩下载体积 响应缓存可以直接避免重复请求 会从很多常用的连接问题中自动恢复 如果您的服务器配置了多个IP地址, 当第一个IP连接失败的时候, OKHttp会自动尝试下一个IP OKHttp还处理了代理服务器问题和SSL握手失败问题。第三步:进行网络请求。第三步:进行网络请求。...

2022-08-12 19:38:06 919 1

原创 HttpURLConnection

在JDK的 java.net 包中已经提供了访问HTTP协议的基本功能的类: HttpURLConnection。HttpURLConnection是Java的标准类,它继承自 URLConnection,可用于向指定网站发送GET请求、POST请求。

2022-08-08 20:37:52 1207

原创 Android的自定义view(UI组件)

自定义View的实现方式有以下几种: 组合控件,继承控件,自绘控件详细可分为:自定义组合控件,继承系统View控件,继承系统ViewGroup,自绘View控件,自绘ViewGroup控件组合控件就是将多个控件组合成一个新的控件,可以重复使用。应用场景:在项目中经常会遇到一些比较复杂的UI块需要用在多处使用,那么我们就可以通过五大布局 和基本控件组合成一个新的布局View,这样就可以方便的将该UI用在项目的不同页面中,比如一个标题 栏。...

2022-08-08 20:22:29 486

原创 Toolbar 和 DrawerLayout 滑动菜单

其实就是把原本的FrameLayout布局改成了androidx.coordinatorlayout.widget.CoordinatorLayout就 行了 效果就是当点击悬浮按钮Snackbar出现的时候,悬浮按钮会上移来适应Snackbar是自己不会被。是因为Snackbar.make()传入了一个view,这是用来指定Snackbar是哪个View触发的,所以传入的是悬浮 按钮控件本身,悬浮按钮控件是CoordinatorLayout的子控件,所以能成功。还记得我们每次打开的程序的标题栏吗?...

2022-08-06 20:28:10 576

原创 Fragment 和 CardView

Fragment译为“碎片”,是Android 3.0(API 11)提出的,最开始是为了适配大屏的平板。Fragment看起来和Activity一样,是一个用户界面。可以结合多个Fragments到一个activity中来构 建一个有多方面功能的UI,还可以重用同一个Fragment在多个activities中。Fragment可以当成是activity的一个组件,每个Fragment有单独的生命周期,可以在activity运行时进行添加和移除Fragment。...

2022-08-05 20:42:51 106

原创 RecycleView

ViewPager2是基于RecyclerView实现的,自然继承了RecyclerView的众多优点,并且针对ViewPager存在的问题做了优化。RecycleView能够灵活实现大数据的展示,视图的复用管理比ListView更好,能够显示列表,网格,瀑布等形式,且不同的ViewHolder能够实现item多元化的功能。2.创建子项布局文件,并对其内部控件设置id。2.创建子项布局文件,并对其内部控件设置id。3在活动中创建并设置适配器。在活动中创建并设置适配器。......

2022-08-01 20:29:11 440

原创 AIDL 简介以及使用

AIDL(Android接口定义语言),可以使用它定义客户端与服务端进程间通信(IPC)的编程接口。在Android系统中,每个进程都运行在一块独立的内存中,在其中完成自己的各项活动,与其他进程都分隔开来。可是有时候我们又有应用间进行互动的需求,比较传递数据或者任务委托等,AIDL就是为了满足这种需求而诞生的。通过AIDL,可以在一个进程中获取另一个进程的数据和调用其暴露出来的方法,从而满足进程间通信的需求。1.创建.aildl文件。...

2022-08-01 08:50:30 9843 2

原创 动画(其二)

补间动画功能比较单调,只有四种动画(透明度,旋转,倾斜和位移)补间动画针对的对象只是UI控件补间动画只是改变View的显示效果,不会去改变View的属性eg左边的按钮移到右边,但是此时的按钮其实还停留在左边,假如你去点右面的按钮,是不会触发按钮的点击事件的~...

2022-07-28 19:04:38 471

原创 动画(其一)

帧动画非常容易理解,其实就是简单的由N张静态图片收集起来,然后我们通过控制依次显示这些图片,因为人眼"视觉残留"的原因,会让我们造成动画的"错觉",跟放电影的原理一样!而Android中实现帧动画,一般我们会用到前面讲解到的一个DrawableAnimationDrawable先编写好Drawable,然后代码中调用start()以及stop()开始或停止播放动画。...

2022-07-26 19:49:54 207

原创 Thread Handler

/将昵称给textview设置上,在子线程中更新UI,是不允许的,必须使用handler将消息传递回去。在AndroidManifest.xml中注册,注册时发现报错,报错的原因是没有无参的构造方法,解决办法创建无参的构造方法。//如果子线程已经执行了耗时操作,那么就不能修改视图的属性了;IntentService自动开启线程,并在执行完毕后,关闭线程。*连接服务器的功能,是属于耗时任务,所以必须放在子线程。Log.i("serivce","服务已开启");//模拟一个连接服务器的过程。...

2022-07-25 19:09:59 668

原创 四大组件之一BroadCast(其一)

android的四大组件Activity、Service、BroadCast(广播)、ContentProvider。

2022-07-23 19:48:00 192

原创 Android的存储

1.调用SharedPreferences.Editor的commit()方法将更新提交到SharedPreferences中text="使用SharedPreferences存储程序信息"/>text="您的电话号码"/>hint="输入电话号码"/>hint="输入城市名称"/>​​​​​​/*获取SharedPreferences对象*//*取出保存的电话号码和地址信息*/提交。...

2022-07-23 08:28:32 232

原创 Android 四大组件之一 service

①当首次使用bindService绑定一个Service时,系统会实例化一个Service实例,并调用其onCreate()和onBind()方法,然后调用者就可以通过IBinder和Service进行交互了,此后如果再次使用bindService绑定Service,系统不会创建新的Sevice实例,也不会再调用onBind()方法,只会直接把IBinder对象传递给其他后来增加的客户端!使用BindService绑定Service,依次调用onCreate(),onBind()方法,...

2022-07-21 09:12:51 510

原创 Android 高级UI组件(其一)

ProgressBar进度条PopuoWindow弹出框Dialog对话框(重点)Spinner下拉框(重点)

2022-07-18 20:36:35 354

原创 Android 页面 滚动

androidtext="文本10"/>androidtext="顶部"/>androidtext="底部"/>androidtext="跳转底部"/>androidtext="返回顶部"/>androidtext="文本2"/>//对于监听的处理。

2022-07-18 08:39:14 2428

原创 Android 基本布局(其二)

修改values->themes->themes.xml文件中的styleparent后加上.Bridge。第一步需要获取到页面上的按钮2.第二步给获取到的按钮设置点击事件3.第三步触发监听。想要给一个按钮设置多个背景图,在不同的操作下显示不同的背景图?需要在xml文件中,给要设置点击事件的按钮,设置上id。根据不同的状态,给background不同的值。需要在Java文件中给按钮设置点击事件。alpha设置图片的透明度的。相对于兄弟的,必须设置id。线性排布Gravity。...

2022-07-18 08:27:08 225

原创 Androd 基本布局(其一)

androidlayout_alignTop控件的顶部边缘与给定ID的顶部边缘对齐;androidlayout_alignParentTop控件的顶部与父控件的顶部对齐;androidlayout_alignParentBottom控件的底部与父控件的底部对齐;androidlayout_alignBottom控件的底部边缘与给定ID的底部边缘对齐;androidlayout_alignLeft控件的左边缘与给定ID的左边缘对齐;...

2022-07-15 08:37:15 557

原创 Android jdk环境配置以及创建

1. Android的开发环境 - 安装JDK,并配置JDK的环境变量 - 过程提前在D盘创建一个java文件夹,在该文件夹下面分别创建jdk和jre两个文件夹分别用于存放安装的jdk和jre,除了需要改变安装位置之外,其他都是下一步 1.右键此电脑-->高级系统设置-->环境变量-->新建-->编辑变量名和变量值-->确定变量名为 JAVA_HOME变量值即 jdk的安装地址 2.变量名为 CLASSPATH变量值为 .;%JAVA_HOME%\lib\dt.jar;%JAV

2022-07-12 20:40:03 1917

原创 数据库(其二)

回顾:怎么打开MySQL服务服务中找到自定义的服务名称 MySQL8开启服务如何创建数据库?create database if not exists schoolDB; 删除数据库?drop database if exists schoolDB; 使用数据库?use schoolDB; 创建表?create table if not exists tb_cls( # 列明 数据类型 约束 c_id int primary key, c_nam

2022-07-04 19:25:50 92

原创 数据库的基本语法(其一)

1、什么是数据库?数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映客观事物间的本质联系。数据库能有效地帮助一个组织或企业科学地管理各类信息资源。2、什么是关系型数据库?什么是非关系型数据库?3、MySQL中的数据类型3.1 数值型整数型(主要用在什么地方?) 有哪些?常用?int浮点数型有哪些?常用float3.2 字符串型有哪些?常用?charvarchar思考:char(10) 和 varchar(10)是什么意思?3.3 日期和时间类型

2022-07-02 19:17:51 259

原创 Socket 网络协议 等

什么是服务器?对外提供服务的一套软件,放在网络上 (IP地址)什么是客户端?是为了连接服务器的一个软件 网络编程的3要素协议IP地址局域网IP地址公网IP地址(买的)查看本 1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/Internet Protocol

2022-07-01 19:49:26 1210 1

原创 io流(简介)

什么IO?IO在计算机中指Input/Output,也就是输入和输出流是干什么的?在 Java 中所有数据都是使用流读写的。流是一组有序的数据序列,将数据从一个地方带到另一个地方: 在计算机操作系统中有哪几类文件?分为两类文件夹 创建文件夹 mkdir() mkdirs()文件 创建文件 createNewFile()文件和文件夹有什么不一样的?​ 文件有后缀名 .txt .jpg文件夹没有后缀名文件File文件File的构造方法?File(String path):如果 path 是实际存在的路径,则该

2022-06-30 20:08:30 126

原创 多线程(简介)

并行:多个事件在同一时间发生,并发:两个或多个事件在同一时间段发生。单核CPU:只能并发多盒cpu:并行+并发线程:线程是进程中一个执行单元,负责当前进程中程序的执行一个进程至少一个线程,可以有多个线程什么是线程安全?既然是线程安全问题,那么毫无疑问,所有的隐患都是在多个线程访问的情况下产生的,也就是我们要确保在多条线程访问的时候,我们的程序还能按照我们预期的行为去执行有两种创建多线程方法:继承Thread 实现Runable接口线程同步:两个或两个以上的线程需要共享资源必须使用某种方法在某一时

2022-06-30 08:06:43 81

原创 Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2022-06-28 09:12:40 55

原创 java集合

集合是java提供的一种容器,储存数据数组长度是固定的,集合长度是可以改变的数据可以储存基本数据类型,也可以储存对象,集合只能储存对象集合分为两大对象:Collection 和MapCollection表示一组对象 Map表示一组映射关系或键值对(key,value)这种格式Collection分为 List 和Set两个子接口list.add(list);//只添加一个元素list.addAll(list);//如果添加一个集合,里面的元素全部再添加到一个集合中list.remove(list)//移

2022-06-28 08:08:19 42

原创 异常和异常处理(核心)

异常exception 是在代码运行产生一种例外情况,异常不是错误 try监控里面的代码是否出现异常如果代码出现异常 catch捕获异常 异常处理之后继续运行后面的代码 在finally子句中的代码是最后执行的,并且是 的,即使try语句块中的代码出现了异常。finally子句必须和try一起出现,不能单独编写。 多重catch: try{}catch(){}catch(){} 嵌套异常try catch 如果里面的异常没有被捕获,就由外边来捕获异常throw是明确的引发一个异常程序一

2022-06-25 16:48:10 69

原创 包装类(走过路过,不要错过)

首先我们先了解一下八种基本类型所对应的包装类byte Byteshort Shortint Integerlong Longfloat Floatdouble Doublechar Characterboolean Boolean...

2022-06-24 19:06:36 61

原创 抽象方法和接口

抽象类针对的是类,接口针对的是行为抽象类:他就是抽象的,不是具体的。在类中没有包含足够的信息来描绘一个具体的对象,这样的类称为抽象类。抽象类和抽象方法需要被 abstract 关键字修饰抽象类中的方法一般要求都是抽象方法,抽象方法没有方法体当一个普通类继承一个抽象类后,这个普通类必须重写抽象类中的方法抽象类是一个有抽象修饰符的类(abstract)抽象类可以没有抽象方法抽象方法必须写在抽象类中抽象方法不能有方法体抽象类不能实例化当一个普通类继承抽象类,那么这个普通类必须重写抽象类中所有抽象方法

2022-06-23 19:51:39 321

原创 继承与多态

不要为了继承而继承继承能够使程序更有可扩充性,减少代码量为什么要用继承:1.继承减少代码冗余2.程序难以更新3.难以扩展关键字是extends方法的覆盖=方法的重写子类继承父类的方法,重写父类的方法变成子类自己的的方法 并且一定发生在子类中多态指的是多种形态多态:同一对象引用不同的实例,最终得到不同的结果继承体现了多态super关键字用来继承父类方法 调用父类方法super构造方法用的多汽车对象引用卡车的有参构造方法创建卡车对象object是所有类的父类,超类final修饰什么,什么

2022-06-21 18:45:28 83

原创 面向对象的基本

面向对象的一些基本

2022-06-20 18:43:29 107

原创 彩票,双色球,模拟开奖小项目

彩票,双色球

2022-06-18 18:57:59 303

原创 模拟彩票,双色球

比较完整的双色球,彩票模拟

2022-06-18 18:54:56 1914

原创 方法的定义

冒泡排序是一种算法第一趟:依次比较相邻的两个数,小数放前面,大数放后面一直比较直到最后两个数第二趟:仍然比较将小数放前 一直比较到倒数第二个数第一趟结束后 倒数第一的位置上是最大第二趟结束后,在倒数第二的位置上得到一个新的最大数如此下去 重复过程 直至最终完成排序方法是行为不能在方法里面定义方法1.如果方法是静态 在同类中调用可以直接通过方法名调用但是如果不在同一类 通过 类名.方法名()2.如果方法是非静态的 没有static通过创建 类的对象 调用方法...

2022-06-17 17:47:45 46

原创 6/16 数组

数组:数组是一个变量 存储相同数据类型的一组数据数组的结构和基本要素:标识符:数组名称 区别不同数组 数组元素 : 向数组中存放数据 元素下标:数组里面每个位置的编号 元素类型:数组元素的数据类型数组只有一个名称 在相同的作用域中 只能有一个数组长度固定不变 避免数组越界使用数组的好处:我们可以储存多个数据数组的使用:1.声明数组 int[]a;2.分配空间 a=new int[5];3.赋值 a[0]=8;4.处理数据 a[0]=a[0]*10

2022-06-16 18:29:23 46

空空如也

空空如也

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

TA关注的人

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