自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(271)
  • 资源 (1)
  • 收藏
  • 关注

原创 No signature of method: build_dr75kj88i2pi195a6zalvt5yu.android() is applicable for argument types

因为本项目创建时勾选的是Kotlin语言,因此Android studio会自动加入插件apply plugin: “kotlin-android”!

2023-06-02 15:16:42 13

原创 Android中Binder在项目中的具体使用详解

在 Android 应用程序中使用 Binder 通常可以通过两种方式实现,一种是使用 AIDL(Android 接口定义语言)定义接口,并通过 Binder 服务实现接口的跨进程调用,另一种是通过 Messenger 实现基于消息的跨进程通信。Binder API:位于 Java 层,是 Android 应用程序和 Binder 驱动之间的接口,它提供了创建 Binder 服务和跨进程访问 Binder 服务的方法和实现。在服务端B程序进行登录后,跳转到客户端程序A,打印的。

2023-05-30 15:21:08 342

原创 Flutter中 解决自定义阿里妈妈图标一直显示不出来的问题

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。Flutter中 自定义图标一直显示出来的问题,这里引用的是阿里妈妈图标。

2023-05-07 17:09:38 54 1

原创 Android GridLayoutManager.setSpanSizeLookup的使用介绍

使用setSpanSizeLookup后的效果图如下。

2023-03-12 11:01:28 339

原创 Android RecyclerView的notify方法和动画的刷新详解

7、执行insert_3_2(),实际调用的是notifyItemRangeInserted(3, 2);1、执行notifyAllData(),实际调用的是 notifyDataSetChanged 刷新全部,适配器执行方法如下。7、执行move_2_4(),实际调用的是notifyItemMoved(2, 4);2、执行notify_2(),实际调用的是 notifyItemChanged(2),适配器执行方法如下。8、执行remove2(),实际调用的是notifyItemRemoved(2);

2023-03-11 12:39:12 670

原创 Android 网络请求库Retrofit使用详解

1、首先在Android项目中引入需要的依赖。2、创建一个单例类,返回Retrofit对象。

2023-02-25 17:21:44 393

原创 Android项目中运行main方法,进行测试,配置方法

博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家。2、在gradle.xml文件夹中添加一个配置。这样就可以运行main方法了。1、找到.idea文件夹。

2023-02-15 21:38:14 310

原创 Kotlin中与Java互操作与可空性、类型映射、属性访问、@JvmOverloads、@JvmField、@JvmStatic、@Throws和函数类型操作详解

Java世界里所有对象都可能是null,当一个Kotlin函数返回String类型值,你不能想当然地认为。博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家。二、类型映射、属性访问、@JvmOverloads详解。四、@JvmStatic、@Throws和函数类型操作。一、Kotlin与Java互操作与可空性。2、使用Java创建一个Person类。2、Kotlin代码调用Java代码。1、使用Kotlin创建一个类。1、首先定义一个Java类。

2023-02-11 11:00:10 132

原创 Kotlin中函数式编程的详解

我们一直在学习面向对象编程范式,另个一个较知名的编程范式是诞生于20世纪50年代,基于抽象数学的λ(lambda)演算发展而来的函数式编程,尽管函数式编程更常用在学术而非软件领域,但它的一些原则适用于任何编程语言。函数式编程范式主要依赖于高阶函数(以函数为参数或返回函数)返回的数据,这些高阶函数专用于处理各种集合,可方便的联合多个同类函数构建链式操作以创建复杂的计算行为。函数式编程用到的函数生来就是可组合的,也就是说,你可以组合多个简单函数来构建复杂的计算行为。三、为什么要使用函数式编程?

2023-02-07 22:02:48 621

原创 Kotlin中扩展函数、infix关键字、apply函数和DSL的详解

扩展可以在不直接修改类定义的情况下增加类功能,扩展可以用于自定义类,也可以用于比如List,String,以及Kotlin标准库里的其他类。和继承相似,扩展也能共享类行为,在你无法接触某个类定义,或者某个类没有使用open修饰符,导致你无法继承它时,扩展就是增加类功能的最好选择。博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家。1、定义扩展函数和超类上定义扩展函数。6、定义扩展文件和重命名扩展。2、标准函数与泛型扩展函数。4、可空类型扩展函数。

2023-02-02 22:05:42 130

原创 Kotlin中接口、抽象类、泛型、out(协变)、in(逆变)、reified关键字的详解

一、Kotlin中接口的定义。四、out协变和in逆变详解。五、reified关键字。

2023-02-01 21:47:47 85

原创 Kotlin中嵌套类、数据类、枚举类和密封类的详解

如果一个类只对另一个类有用,那么将其嵌入到该类中并使这两个类保持在一起是合乎逻辑的,可以使用。三、数据类中的copy函数。创建一个数据类看一下效果。五、数据类中的运算符重载。四、数据类中的解构声明。七、枚举类中定义函数。

2023-01-27 22:00:28 182

原创 Kotlin中继承、类型转换、Any超类、object关键字详解

Kotlin中类默认都是封闭的,要让某个类开放继承,必须使用open关键字修饰它。使用object关键字有三种方式。一、继承、类型转换、Any超类。二、object关键字详解。

2023-01-27 21:33:55 219

原创 Kotlin中空安全操作符,异常处理和自定义异常,以及先决条件函数详解

二、Kotlin中的安全调用操作符,非空断言操作符,空合并操作符的详解,代码中已经给出详细注释。博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家。地把运行时可能会出现的null问题,以编译时错误的方式,提前在编译期强迫我们重视起来,四、substring、split、replace,字符串遍历方法的使用。六、数字类型的安全转换函数,Double转Int类型、以及格式化。而不是等到运行时报错,防范于未然,提高了我们的程序的健壮性。五、- = =与===的比较。

2023-01-23 20:50:28 1133

原创 Kotlin中标准库函数(apply、let、run、with、also、takeIf、takeUnless)的使用详解

apply函数可以看作是一个配置函数,你可以传入一个接收者,然后调用一系列函数来配置它以便使用,如果提供lambda表达式给 apply函数执行,它会返回配置好的接收者。这种行为有时又叫相关作用域,因为lambda表达式里的所有函数调用都是针对接收者的,或者说,它们是针对接收者的隐时调用。因为有这个差异,also尤其适合针对同一原始对象,利用副作用做事,既然also返回的是接收者对象。also函数和let函数功能相似,和let一样,also也是把接收者作为值参传给lambda。六、takeIf函数。

2023-01-23 20:25:23 1432 1

原创 Kotlin中匿名函数(又称为Lambda,或者闭包)和高阶函数的详解

7、函数类型作为返回值类型、以及闭包。8、lambda表达式与匿名内部类。3、函数的参数是另一个函数。2、Lambda的概述。2、kotlin代码。

2023-01-18 17:02:12 348

原创 Kotlin 中变量,类型,表达式,函数详解

1、要声明可修改变量,使用var关键字。二、Kotlin的引用类型与基本数据类型。2、要声明只读变量,使用val关键字。三、Kotlin内置数据类型。四、表达式和String模板。,忍不住也分享一下给大家。一、变量,编译时变量。2、String模板。2、反引号中的函数名。

2023-01-15 15:58:31 413

原创 Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解

1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构造函数的值是否有效,初始化块代码会在构造类实例时执行。前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。可以通过反编译看java代码,就清楚了,反编译代码如下。3、延迟初始化lateinit。2.初始化执行的顺序。

2023-01-11 22:03:23 98

原创 Kotlin 中定义类、field关键字,主构造函数和次构造函数详解

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下。1、定义类与field关键字,以及计算属性,和防范竞态条件。,感觉非常有意思,忍不住分享一下给大家。4、多个次构造函数来配置不同的参数组合。

2023-01-10 22:07:05 163

原创 Kotlin 中List集合,Set集合,Map集合,数组的详解

1、创建不可变List集合。2、创建可变的List集合。5、创建不可变Map集合。6、创建可变Map集合。

2023-01-09 22:14:42 172

原创 GoShoppingActivityLearnBinding.java:918: 错误: 参数过多 protected GoShoppingActivityLearnBinding

当时这个编译失败了,找了一上午原因,都不知道问题在哪,因为用的约束布局+DataBinding,当时那个页面有3000多行的xml,id太多了,我在原有的界面上面加了有200多行代码,用的也是约束布局,就编译失败,报参数过多,我把我加的代码删除掉就可以正常运行。用include引入布局,把约束布局换成线性布局,不需要定义id的控件,就不定义,再次运行项目可以正常跑起来了。工作中遇到的问题,使用DataBinding,报参数过多,编译失败。记录一下,后期再次出现类似问题,可以快速解决。

2022-12-31 17:26:07 101

原创 Android LayoutInflater.from(context).inflate()方法的作用

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"",感觉非常有意思,忍不住分享一下给大家。具体详情已经写在代码注释中。

2022-12-24 18:26:00 169

原创 Android RecyclerView对应的适配器中方法的执行顺序和具体作用详解

1.代码的执行顺序为,首次进入会先调用getItemCount(),返回条目的个数,之后会分别调用。onBindViewHolder 作用:这个方法是用于绑定holder的,一般用来设置数据。getItemViewType 作用:修改相应position的视图类型。onCreateViewHolder 作用:这个方法用于创建条目View。getItemCount 作用:返回条目的个数。

2022-12-10 21:43:34 974

原创 Android ViewModel+LiveData实现Fragment间通信详解

前言: 使用ViewModel+LiveData实现同一个Activity不同Fragment间的通信。1、定义ViewModel与LiveData,使用LiveData对progress字段进行包装。2、将两个Fragment等比例放置在Activity的布局文件中。3、在Fragment的布局文件中放一个SeekBar控件,两个Fragment的布局文件类似4、编写Fragment的代码,实现具体的通信这里以OneFragment为例,TwoFragment类似。这样当OneFragment中

2022-10-24 22:09:03 1803

原创 Android ViewModel与LiveData组件组合使用详解

LiveData是一个可被观察的数据容器类,具体来说,可以将LiveData理解为一个数据的容器,它将数据包装起来,使数据成为被观察者,当该数据发生变化的时候,观察者就能获得通知,我们不需要自己去实现观察者模式,LiveData内部已经默认实现好了,我们只要使用就可以了。一、首先使用ViewModel写一个小案例,之后在此基础上,结合LiveData一起使用。二、将上面的案例,结合LiveData组件一起使用,这样会更方便,减少代码的冗余。1、TimerWithLiveDataViewModel 类如下。

2022-09-13 22:15:48 1037

原创 Android ImageView视图的七种图片缩放类型

前言ImageView默认图片居中显示,默认图片的缩放类型为scaleType属性为fitCenter。一、scaleType属性为fitCenter,默认就是这个属性。七、scaleType属性为centerInside。六、scaleType属性为centerCrop。三、scaleType属性为fitStart。四、scaleType属性为fitEnd。五、scaleType属性为center。二、scaleType属性为fitXY。......

2022-07-31 16:58:54 3245

原创 Android 中动画的详解(包括视图动画和图片动画)

前言:动画的介绍图片动画详解,移步这篇文章进行查看学习Android 动画之帧动画(也叫图片动画)的用法下面讲解视图动画相关的API如下(View Animation)Animation公用的功能视图启动动画后,默认是恢复到开始的状态。下面通过编码和xml两种方式实现视图动画,代码中已给出注释1、布局文件如下<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schema

2022-05-31 12:32:44 825 1

原创 Android 中Activity和Intent的详解

Activity的理解Activity的运行状态分为四种状态对应的生命周期流程图如下Intent的理解如下Intent的分类如下IntentFilter的理解Activity和Intent相关的API如下Activity的Task Stack(任务栈)特点:后进先出Activity的LauchMode(加载模式)具体详解看这篇文章Android 中Activity的四种启动模式应用实例进行打电话与发短信,隐示意图的练习,代码如下1、布局页面activity_inte

2022-05-27 12:07:42 537

原创 Android 进行友盟多渠道打包步骤详解

1、首先在AndroidManifest.xml文件中的application标签内加入 <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />2、在应用的build.gradle文件中,添加如下代码plugins { //表示这是一个应用程序模块,com.android.library表示这是一个库模块 id 'co

2022-05-10 12:18:27 541

原创 Android 根目录下和应用目录下的build.gradle的详解,以及groovy语法的讲解

前言:Gradle的作用:打apk包打插件包自动化构建多渠道打包自动化签名后台java打包生成文件使用的是groovy语法,shell脚本,能够完成数据处理,文件操作groovy和java是一家,JDK支持两种语言java和groovy,在groovy中直接调用java包groovy和java进行了一个动态的补充,groovy是一个动态的语言,java是一个静态的编程语言,java处理不了的工作,可以用groovy来做Gradle的特性一、根目录下的build.gradle,

2022-05-09 21:37:28 1609

原创 Java BasicDAO的详解

一、BasicDAO的介绍二、BasicDAO的示意图三、完成BasicDAO的简单实例1、创建BasicDAO类//开发BasicDAO,是其他DAO的父类public class BasicDAO<T> {//泛型指定具体的类型 private QueryRunner qr = new QueryRunner(); //开发通用的DML方法,针对任意的表 public int update(String sql, Object... parameter

2022-05-06 15:48:48 998 2

原创 Java 中Apache-DBUtils类的使用详解

前言:问题引出:关闭Connection后,ResultSet结果集无法使用,ResultSet结果集不利于数据的管理。具体看下面的示意图一、首先用自己的方法把ResultSet结果集封装到ArrayList集合中代码如下public class JDBCUtilsByDruid_Use { //自己封装解决将ResultSet 封装到ArrayList中 @Test public ArrayList<Actor> testSelectToArrayList() {

2022-05-06 14:22:21 445

原创 Java 数据库连接池C3P0,德鲁伊(Druid)的详解

一、Java中数据库连接池的基本介绍数据库连接池的示意图二、数据库连接池的种类三、C3P0数据库连接池的使用,代码如下public class C3P0_ { //1.方式1:相关参数,在程序中指定user,url,password等 @Test public void testC3P0_01() throws Exception { //1.创建一个数据源对象 ComboPooledDataSource comboPooledDataS

2022-05-05 21:11:08 2950

原创 Java JDBC中的批处理SQL语句的详解

一、JDBC中批处理SQL语句的介绍二、使用批量处理和非批量处理,进行演示,看具体的耗时区别public class Batch_ { @Test public void noBatch() throws Exception { Connection connection = JDBCUtils.getConnection(); String sql = "INSERT INTO ADMIN2 VALUES(null,?,?)"; Pre

2022-05-05 15:14:07 1091

原创 Java JDBC程序中对于数据库事务的处理详解

一、JDBC中对于事务的介绍二、使用事务模拟经典的转账业务下面代码中演示JDBC中没有使用事务,和使用事务的两种情况//演示jdbc 中如何使用事务public class Transaction_ { //没有使用事务 @Test public void noTransaction() { //1.得到连接 Connection connection = null; //2.组织一个sql //更新记录

2022-05-05 14:24:03 685

原创 MySQL 中事务以及事务隔离级别的详解

一、MySQL 中事务的理解二、演示事务的基本使用DROP TABLE t27;-- 1.创建一张测试表CREATE TABLE t27(id INT,`name` VARCHAR(32));-- 2.开启事务START TRANSACTION-- 3.设置保存点SAVEPOINT a-- 执行DML操作INSERT INTO t27 VALUES(100,'tom');SELECT * FROM t27;SAVEPOINT b-- 执行DML操作INSERT I

2022-05-05 11:35:05 800

原创 Java 中封装JDBC连接到JDBCUtils工具类的详解

前言在JDBC操作中,获取连接和释放资源是经常使用到的,可以将其封装成到一个工具类JDBCUtils中JDBCUtils中有两个方法得到连接和关闭连接,代码如下//这是一个工具类,完成mysql的连接和关闭资源public class JDBCUtils { //定义相关的属性(4个),因为只需要一份,因此我们做成static private static String user;//用户名 private static String password;//密码 pr

2022-05-04 20:56:47 633

原创 Java Jdbc的详解

一、Jdbc原理示意图二、Jdbc的概述

2022-05-04 16:48:41 1521

原创 Java 中线程同步机制synchronized,互斥锁,死锁,释放锁的详解

一、线程同步机制synchronized的理解二、synchronized的具体使用下面可以通过同步机制,解决多线程卖票,出现的超卖问题,代码如下public class SellTicket { public static void main(String[] args) {// SellTicket01 sellTicket01 = new SellTicket01();// SellTicket01 sellTicket02 = new SellTick

2022-05-01 11:29:13 1084

原创 Java 线程的生命周期(对应七大状态)

线程的生命周期线程状态的转换通过代码输出线程的状态,代码如下public class ThreadState_ { public static void main(String[] args) { T t = new T(); System.out.println(t.getName() + " 状态 " + t.getState()); t.start(); while (Thread.State.TERMINATED !=

2022-04-30 22:01:35 756

SwipeRefreshDemo.zip

Android中使用SwipeRefresh实现了RecyclerView的下拉刷新和上拉加载

2021-05-12

空空如也

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

TA关注的人

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