• 2024-07-09Android全局替换字体
    一、概述由于业务需要,各端之间统一字体(Android、IOS、PC、网页)。所以android也需要替换成特定的字体。以后有可能还会增加其他的字体。方案:使用LayoutInflaterCompat.setFactory2来全局替换字体。这样做的好处是可以一次性的替换大部分的字体。剩余的个性
  • 2024-06-186.14
    packagecom.example.my2mysql.tool;importandroidx.annotation.NonNull;importcom.example.my2mysql.Pojo.Plan;importorg.json.JSONException;importorg.json.JSONObject;importjava.io.IOException;importjava.util.List;importokhttp3.Call;importokhttp3.Callbac
  • 2024-06-10Android RecyclerView使用详解(含通过网络请求得到数据)
    RecyclerView概述RecyclerView是Android中非常受欢迎的控件,RecyclerView是官方在Android5.0之后新添加的控件,推出用来替代传统的ListView和GridView列表控件,所以如果你还在使用ListView的话可以替换为RecyclerView了。对于RecyclerView的使用根据实际项目进行说明,一些功能可
  • 2024-06-054.11
    packagecom.example.yibaifen;importandroid.annotation.SuppressLint;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.Button;importandro
  • 2024-03-31@NotNull和@NonNull的区别和使用
    区别@NotNull在类字段中使用,表示该字段不能为空。它是JSR303(Bean的校验框架)的注解。在调用controller的方法中加入@Valid就可以验证该方法参数中该类的对应属性是否为空,如果为空,注解中的提示信息会保存在result中。@NonNull在方法或构造函数的参数上使用,表示该参数不能为空。@N
  • 2024-01-13【设计模式】工厂方法模式——工厂方法模式在Android SDK源码中的应用
    工厂方法模式在AndroidSDK源码中有广泛的应用,无论app层还是framework层,无论是Java实现的还是Kotlin实现的。BitmapFactoryBitmap的构造方法都没有被public修饰,开发者必须用BitmapFactory来生成Bitmap对象,BitmapFactory中用于生产Bitmap实例的工厂方法如下:publicclassBitmapFacto
  • 2023-11-23Android深入学习之ComponentActivity.registerForActivityResult()方法
    ComponentActivity.startActivityForResult()和ComponentActivity.onActivityResult()已经废弃,如下图所示,取而代之的是统一它俩的ActivityResultLauncher。  ActivityResultLauncher对象可以通过ComponentActivity.registerForActivityResult()方法获取。该方法有两个重载。
  • 2023-11-14(原创)安卓快速使用简单的ViewPager
    原创声明:本文所有图片和代码皆由本人制作和编写。目录前言目标与效果4步走第一:在布局文件添加ViewPager组件第二:为ViewPager设计布局第三:创建适配器类第四:把布局文件和适配器跟主活动联系起来后记前言这学期刚开的安卓课程,为了写实验上网查资料,只想找简明扼要的教程来让我快速
  • 2023-09-19Glide源码阅读之建造者(builder)模式3【RequestOptions】【BaseRequestOptions】
    官方定义本来解析完GlideBuilder、RequestBuilder就已经觉得建造者模式用的变化有些大了,但随着解析的进行发现还要下面的这两种变种应用。先解析出来给大家看看,说不定在某些场景下能启发读者使用这种模式应用方式builder模式应用变化一结构:publicstaticRequestOptionssizeXXXX(p
  • 2023-08-24【知识整理】Springboot启动扩展点
    SpringBoot启动扩展点整理1.前言​ 在Springboot服务启动阶段,Springboot提供了许多扩展点。在实际的业务开发过程中,部分特殊的业务需求需要再Springboot服务启动过程中动态的加载配置或者执行业务处理,特此将常用的Springboot启动扩展点做一个简单的整理。2.准备阶段2.1Env
  • 2023-08-17@NotNull和@NonNull注解得区别
    今天敲代码得时候遇到了一个警告Notannotatedparameteroverrides@NonNullparameter 这个警告得原因是你这个类继承得那个类参数被@NonNull注解标记了,但是你实现类没有使用这个注解。我产生得地方是我的类继承ItemProcressor重写它得process方法得时候这时候,就产生疑问@No
  • 2023-07-12async-await Rust: 200 多行代码实现一个极简 runtime
    WhatIcannotcreate,IdonotunderstandRust中的runtime到底是咋回事,为了彻底搞懂它,我在尽量不借助第三方crate的情况下实现了一个玩具runtime,之所以说是玩具,因为它没有复杂的调度算法(只有一个全局taskqueue)代码除了mpmc(multi-producer,multi-consumer
  • 2023-06-21Caffeine 动态设置过期时间
    实现Expiry接口publicclassCaffeineExpiryimplementsExpiry<String,Object>{@OverridepubliclongexpireAfterCreate(@NonNullStringkey,@NonNullObjectvalue,longcurrentTime){return0;}@Overridepubliclongexpir
  • 2023-05-17非空注解@NonNull与@NotNull使用错误导致传参为空时报NPE
    背景新上线了一个需求后,发现时不时的有一些NullPointerException报出来,跟踪后发现都是在一个地方报出来的org.springframework.beans.BeanInstantiationException:Failedtoinstantiate[net.lingyejun.mall.domain.book.req.BookInfoReqDto]:Constructorthrewexception;
  • 2023-04-04Glide生命周期原理
    vivo互联网技术微信公众号 作者:连凌能AndroidApp中图片的展示是很基本也很重要的一个功能,在Android平台上有很多的图片加载解决方案,但是官方认可的是Glide。AndroidApp的页面是有生命周期的,Glide比较好的一个功能就是具有生命周期管理功能,能够根据页面和APP的生命周期来管理
  • 2023-01-04@NonNull 注解小记——非空判断的触发时机区别
    背景@NonNull:关于这个注解,lombok的一个注解,可以加在方法-入参,或构造函数上。本以为加了这个参数,会自动判断(编译阶段)会判断,但发现并不是这个意思。因为在编译的时候,传
  • 2022-11-28iOS开发之使用block块进行数据遍历的方法
    看了一篇文章,发现遍历数组、字典中的数据时,除了使用for循环外,还可以使用block块进行操作,瞬间感觉iOS的语言代码确实有点高大上的感觉,下面就简单的介绍一下这个方法。首先是
  • 2022-10-23Android使用rxjava
    导入包implementation"io.reactivex.rxjava2:rxjava:2.2.10"implementation"io.reactivex.rxjava2:rxandroid:2.0.2"使用privatevoidexecuteAsyncTask(