自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android 中 图片加载库 Picasso 简介

如果项目对图片加载需求简单,注重易用性和轻量级,可以选择Picasso。如果项目需要处理动态图片、复杂变换或大量图片,且对性能要求较高,可以选择Glide。:从指定路径加载图像,可以是本地文件路径或网络URL。:从文件加载图像。:从Uri加载图像。:从资源ID加载图像。在实际项目中,默认的 Picasso 可能满足不了项目的需求,这时就需要对做一些自己的扩展,比如需要换缓存的位置、需要扩大缓存、自定义线程池、自定义下载器等等。

2025-06-11 10:27:53 387

原创 Android 之 kotlin 语言学习笔记五(协程)

在 Android 上,协程有助于管理长时间运行的任务,如果管理不当,这些任务可能会阻塞主线程并导致应用无响应。使用协程的专业开发者中有超过 50% 的人反映使用协程提高了工作效率。协程是一种并发设计模式,可以在 Android 平台上使用它来简化异步执行的代码。协程 是在 1.3 版中添加到 Kotlin 的。

2025-06-09 09:46:50 110

原创 Android Studio 解决首次安装时下载 Gradle 慢问题

2025-06-07 17:37:17 370

原创 Android 之 kotlin 语言学习笔记四(Android KTX)

Android KTX 是包含在Android Jetpack 及其他 Android 库中的一组Kotlin 扩展程序。KTX 扩展程序可以为 Jetpack、Android 平台及其他 API 提供简洁的惯用 Kotlin 代码。扩展函数、扩展属性、Lambda、命名参数、参数默认值、协程。使用lambda 传递代码、使用可以替换的合理默认值,使用 inline 扩展函数,将这些行为添加到现有 API 中,这种模式是 Android KTX 库提供的典型增强功能。

2025-06-06 12:05:15 629

原创 专业英语学习笔记

学习资源地址:https://play.kotlinlang.org/byExample/overview。

2025-06-05 10:31:23 238

原创 Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

符合 SAM 转换条件的参数类型应位于最后。例如,RxJava 2 的 Flowable.create() 方法签名定义为:// 在 kotlin 中调用时显示为如果方法签名中的参数颠倒顺序,则函数会调用 可以使用尾随 lambda 语法:// 在 kotlin 中调用时显示为要在 Java 中使用的高阶函数,不应接受会返回 Unit 的函数类型,而建议使用功能 (SAM) 接口。即使函数类型不会返回 Unit,仍建议您将其设为命名接口,以便调用方使用命名类。

2025-06-04 11:05:54 243

原创 Android 之 kotlin 语言学习笔记二(编码样式)

每个 KDoc 块都以一个。

2025-05-29 15:20:58 1189

原创 Android 之 kotlin 语言学习笔记一

Kotlin 使用两个不同的关键字(即 val 和 var)来声明变量。val 用于值从不更改的变量。使用 val 声明的变量无法重新赋值。var 用于值可以更改的变量。// 可变变量count = 15// 不可变变量name = "java" // 报错。

2025-05-26 09:47:38 607

原创 Android 中 自定义生成的 APK/AAR 文件名称

在模块的中通过修改配置来实现。android {......在模块的中通过修改配置来实现。

2025-05-20 09:56:24 339

原创 Android 中 权限分类及申请方式

普通权限:在应用安装时自动授予,无需用户手动授权。危险权限:需要用户在运行时手动授权。签名权限:需要应用与系统共享相同的签名才能被授予。特殊权限:需要用户手动在应用设置中开启。运行时权限:在应用运行时动态申请的权限,通常属于危险权限类别。安装时权限:在应用安装时自动授予的权限,通常属于普通权限类别。分区存储:从 Android 10 开始,限制了应用对外部存储的访问权限。

2025-05-16 16:27:52 951

原创 Android 中 打开文件选择器(ACTION_OPEN_DOCUMENT )

在 Android 中,打开文件选择器(File Picker)通常是指启动一个系统提供的界面,让用户可以选择存储在设备上的文件。可以通过发送一个带有 Intent.ACTION_OPEN_DOCUMENT 或 Intent.ACTION_GET_CONTENT 的 Intent 来实现。

2025-05-16 15:12:48 362

原创 Android 中 显示 PDF 文件内容(AndroidPdfViewer 库)

PDFView 是一个用于在 Android 应用中显示 PDF 文档的库。它提供了丰富的功能和灵活的配置选项,使得开发者能够轻松地在应用中嵌入 PDF 阅读器。

2025-05-16 09:22:03 443

原创 Android 编译报错:Duplicate class android.support.v4.app..... found in modules core-1.13.1.aar and ....

这个错误表明你的项目中同时包含了 Android Support Library 和 AndroidX 的依赖,导致了类冲突。如果某些第三方库没有对应的 AndroidX 版本,Jetifier 会自动禁用这些库的迁移。是一个 Gradle 配置选项,用于帮助 Android 项目从旧的 Support Library 迁移到 AndroidX。这种方法可以编译通过,但是调用的第三方库方法在运行时会报错,提示找不到。在添加第三方库依赖时,通过 exclude 方法将冲突的类进行排除。

2025-05-15 10:57:11 539

原创 Android 中 网络图片加载库 Glide 简介

获取一个 RequestManager 实例,用于管理图片加载请求。参数通常是当前的Activity 或 Fragment,表示 Glide 的生命周期将与该 Activity 或 Fragment 绑定。指定要加载的图片资源,可以是网络 URL、本地文件路径、资源 ID等。指定目标 ImageView,即将图片加载到哪个控件上。设置加载中的占位图,当图片正在加载时显示该图片。error(int)设置加载失败时显示的错误图。设置加载大图时的缩略图。

2025-05-14 10:48:46 1060

原创 Android 中 将代码托管到 GitHub 上

GitHub 是一个基于 Git 的版本控制和协作平台,广泛用于软件开发和开源项目。它提供了代码托管、版本管理、代码审查、项目管理等功能,是全球开发者社区的核心工具之一。

2025-05-11 21:11:32 159

原创 Android 数据持久化之 文件存储

writeText 和 appendText:简单易用,适合快速写入文本数据。:提供了更多的控制,适用于二进制数据写入。BufferedWriter 和 PrintWriter:适合写入大量文本数据,提供高效的写入性能。FileWriter 和 OutputStreamWriter:适合写入字符数据,可以指定字符编码。:适合需要高性能文件操作的场景。

2025-05-08 18:31:43 388

原创 Android 数据持久化之 Room 数据库存储

定义一个实体类,它将映射为数据库中的一个表。若定义的字段有唯一性,可作为主键添加注解 @PrimaryKey,若所有字段没有唯一性,可另外添加 id 字段作为主键,并设置为自增长。) {定义一个接口,声明对数据库的操作方法,有增、删、改、查4 种方法,Room 提供了4 种相应的注解。@Dao@Insert@Insert@Delete@Update定义一个抽象类,继承自 RoomDatabase,并提供 DAO 的实例。

2025-05-07 17:30:37 533

原创 Android 中解决 annotations 库多版本冲突问题

从依赖树中可以看出,在 “androidx.room:room-compiler:2.7.1” 和 “ androidx.core:core-ktx:1.10.1” 两个依赖库中都包含了 annotations 库,但是版本号不同。如果不是手动添加依赖库导致的冲突,那么就是其他依赖库中有引入 annotations 库,通过 gradle 命令可以查看工程的依赖树,找出具体包含 annotations 库的依赖库。这个错误表明在你的项目中存在两个不同版本的 annotations 库。

2025-05-06 15:17:21 772

原创 Android 中解决 RecyclerView 和子控件之间的滑动冲突问题

如果没有调用 requestDisallowInterceptTouchEvent(true),当用户在 ProgressBar 上滑动时,RecyclerView 可能会拦截这些事件,导致 ProgressBar 无法正常滑动。这种冲突通常发生在 RecyclerView 的子项本身也支持滑动操作时,例如子项是一个 ProgressBar、WebView 或其他自定义的滑动视图。当用户在子控件上滑动时,可能会触发 RecyclerView 的滑动,从而导致子控件滑动异常。

2025-04-23 14:38:41 996

原创 Android 中实现图片翻转动画(卡片翻转效果)

通过改变 rotation 属性的值,可以实现视图绕 Z 轴(垂直于屏幕)的旋转动画。rotation 属性值表示视图绕 Z 轴旋转的角度,单位是度(degrees)。它的值以像素为单位,正值表示向右移动,负值表示向左移动。translationX 用于控制视图(如 View)在水平方向上的位置变化,表示视图在其父布局中的水平偏移量,可以实现视图的。通过改变 alpha 属性的值,可以实现视图的淡入(fade-in)和淡出(fade-out)效果。通过改变 scaleX 的值,可以实现视图的水平缩放效果。

2025-04-22 18:20:07 1146

原创 Android 中导入 GIF 动画图片

在 Android 中,ImageView 从 Android 9.0(API 级别 28) 开始原生支持 GIF 动画,通过 AnimatedImageDrawable 类实现。在之前的版本中,ImageView 并不支持直接播放 GIF 动画,只能显示 GIF 的第一帧。

2025-04-21 17:38:20 337

原创 Android 中如何配置 targetSdk 值

推荐设置:如果你的目标设备是 Android 11,建议将 targetSdk 设置为 30 或更高版本(例如 34),以确保应用的兼容性和未来扩展性。测试:无论你将 targetSdk 设置为 30 还是更高版本,都需要在目标设备(Android 11)上进行充分的测试,确保应用的兼容性和性能。

2025-04-11 17:02:35 463

原创 Android 中支持旧版 API 的方法(API 30)(不适用,Android 向下兼容,故API可设置为最新的)

Android 中最新依赖库的版本支持 API 31 及以上版本,若要支持 API30,则对应的依赖库的版本就需要使用旧版本。可通过修改模块级 build.gradle 文件来进行适配。

2025-04-10 18:29:25 405

原创 Android 中集成 Unity 工程的步骤

在 Android 项目中,采用 Fragment 方式导入 Unity 工程,其中无论是 Andriod 工程向 Unity 工程发送数据,还是 Unity 工程向 Android 工程发送数据,实现方法都跟全屏方式导入 Unity 工程是一样的。修改完所有配置信息后,先点击 Android Studio 右上角的 “Sync Project with Gradle Files” 按钮进行同步工程,同步成功后再进行整个工程的编译(菜单栏中:Build -> Make Project)。

2025-04-09 16:17:12 870

原创 Kotlin 之 vararg 参数向下传递的几种方式

如果目标方法也接受 vararg 参数,可以通过 * 操作符直接传递。如果目标方法接受集合类型,需要先将 vararg 参数转换为集合。如果目标方法只接受单个元素,需要逐个传递参数。

2025-04-08 14:57:10 328

原创 android 之简述屏幕分辨率、屏幕密度、屏幕最小宽度

dp是一个虚拟像素单位,它会根据屏幕密度自动调整,从而确保UI元素在不同密度的屏幕上保持一致的显示效果。屏幕密度越高,屏幕上显示的像素就越密集,图像也就越清晰。屏幕最小宽度(smallestWidth)是指设备屏幕的最短边的宽度,单位为dp(密度无关像素)。为了适配不同屏幕尺寸的设备,可以使用 smallestWidth 限定符来创建不同的资源文件夹,系统会根据设备的屏幕最小宽度自动选择对应的资源文件夹。为了确保应用在不同屏幕密度的设备上都能良好显示,需要为不同密度的屏幕提供不同分辨率的图片资源。

2025-04-03 17:21:15 1458

原创 Android 中使用 ScreenMatch 实现屏幕适配的步骤

ScreenMatch 是由 Android 官方推出的一种屏幕适配方法,通过自动生成不同屏幕尺寸的 dimens.xml 文件来实现适配。

2025-04-03 15:30:53 872 4

原创 Android 中获取时间的几种方法

这是最简单的一种获取时间的方法,它返回从1970年1月1日00:00:00 GMT(格林威治时间)开始到现在的毫秒数。Calendar类提供了更灵活的时间操作功能,可以获取和设置日期和时间的各个组成部分。Date类代表一个特定的瞬间,精确到毫秒。

2025-04-03 10:06:25 656

原创 Android 中获取颜色资源

在 Android 开发中,资源(如字符串、颜色等)通常存储在 res 文件夹中,并通过资源 ID 进行访问。资源 ID 是一个整型值,用于唯一标识资源,若需要将资源转换为整型值,通常是指获取资源 ID 或从资源中提取整型数据。

2025-03-29 15:52:18 314

原创 Android 设备实现 adb connect 连接的步骤

确保安卓设备和电脑连接到同一个Wi-Fi网络,确认设备的 IP 地址是否正确。确保安卓设备已开启开发者模式,并启用了USB调试。使用USB线将安卓设备连接到电脑。

2025-03-28 17:11:59 1026

原创 Android 中隐藏标题栏和状态栏的方法

在Android开发中,隐藏标题栏和状态栏是实现全屏显示的常见需求。

2025-03-28 17:02:29 584

原创 Android 中两个 APK 之间切换的几中方法

在 Android 中,两个 APK(应用程序)之间的切换通常是通过 Intent 来实现的。以下是一些常见的方法和注意事项,帮助你实现两个 APK 之间的切换。

2025-03-27 18:36:50 548

原创 Android 数据持久化之 SharedPreferences 存储

SharedPreferences 是 Android 提供的一种轻量级存储类,用于存储简单的键值对数据。它非常适合保存应用的配置信息、用户偏好设置等。SharedPreferences支持数据类型String、int、float、long、boolean、Set(字符串集合),它的数据以 XML 文件的形式存储在应用的私有目录中,文件名由开发者指定,因此数据具有较高的安全性。

2025-03-14 17:57:46 341

原创 Android 中 文件存储路径的选择

从 Android 10(API 29)开始,推荐使用应用的内部存储目录来存储临时文件。这些目录是应用私有的,其他应用无法访问。如果你的应用需要存储较大的临时文件,或者需要用户手动访问这些文件,可以使用外部存储的临时目录。这是 Android 系统提供的一个通用临时目录,适用于存储临时文件。获取一个应用专用的外部存储目录。这些目录不需要存储权限,且不会被用户清理。,所有应用都可以访问。如果需要存储敏感数据,建议使用应用的私有目录。从 Android 4.4(API 19)开始,应用可以使用。

2025-03-13 16:41:00 690

原创 Win10 下搭建免费的 FTP 服务器 FileZilla

服务器是一个免费的开源FTP和FTPS服务器,是根据GNU通用公共许可证条款免费发布的开源软件。FileZilla支持FTP、FTPS、SFTP等文件传输协议,相比其他FTP服务器,最大的优势是FileZilla自由(免费)。

2025-03-12 14:23:16 1562

原创 Kotlin 中实现静态方法的几种方式

虽然 Kotlin 没有直接支持静态方法,但通过 object 单例、companion object 伴生对象、顶级函数、扩展函数和 @JvmStatic 注解,可以实现类似的功能。如果需要全局工具方法,可以使用 object 单例 或 顶级函数。如果需要类的一部分,可以使用 companion object。如果需要与 Java 互操作,可以使用 @JvmStatic。

2025-03-10 14:52:45 628

原创 Windows 环境下安装 Git 软件的步骤

是一款免费、开源的分布式版本控制系统,广泛应用于软件开发项目的代码管理。以下介绍在操作系统上安装 Git 的步骤。

2025-03-05 14:06:27 367

原创 Android 中 ConstrantLayout 与 RelativeLayout 区别

和。

2025-03-05 13:52:40 627

原创 Android 之 Activity 的启动模式(launchMode)

在实际项目中,应该根据项目的实际需要来为每个指定恰当的启动模式。启动模式一共有四种,分别是。可以在中通过给标签指定属性来选择启动模式。

2024-12-24 15:42:49 1337

原创 Android 之 List 简述

List 和 MutableList 是接口,MutabaleList 实现了 List 接口,List 实现了 Collection 接口。采用 listOf 和 mutableListOf 方式创建列表时,实际创建的是 ArrayList。

2024-12-24 10:48:03 776

HTTP1.1协议中文版-RFC2616.docx

HTTP1.1协议 中文版本 RFC2616 本说明书详细阐述了HTTP/1.1 协议,是RFC 2068的修订版,它规定了互联网社区的标准组协议。 超文本传输协议(HTTP)是一种为分布式,合作式,超媒体信息系统。

2020-04-29

UTF-8和GB2312编码格式之间互转接口

1、’将UTF-8编码格式的文本转换成GB2312格式文本 2、将GB2312编码格式的文本转换成UTF-8格式文本

2020-05-13

空空如也

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

TA关注的人

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