自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android学习之Window窗口

Window(窗口)是用户熟悉的图形界面元素,类似于Windows操作系统中的视窗概念。层级结构:采用Z-order排序管理,层级通过属性指定。显示区域:定义内容显示的位置和范围。输入事件处理:负责接收和处理触摸、按键等用户输入事件。

2025-06-11 15:08:07 574

原创 Android学习之定时任务

UI 相关定时:优先用Handler,但需注意Runnable的静态内部类封装和生命周期清理。后台长周期任务:首选,自动处理版本兼容和电量优化,避免直接使用或。响应式编程场景:使用RxJava或协程,前者适合复杂异步流,后者语法更简洁且轻量。避免高频唤醒:尽量将多个定时任务合并为的批量调度,减少设备唤醒次数。内存管理核心原则:任何持有上下文或 UI 组件引用的定时任务,必须在生命周期结束时(如)停止或取消。

2025-05-28 17:59:14 1100

原创 Android开发之理解设备管理器

创建。

2025-05-26 11:54:26 248

原创 Android开发之理解EMM

EMM(Enterprise Mobility Management)是一套完整的解决方案,用于企业集中管理和控制移动设备(尤其是Android设备)在企业环境中的使用。

2025-05-26 10:38:56 250

原创 Android学习之响应式编程

可以看出,Android 的响应式编程范式主要是由观察者模式结合响应式流来实现的。观察者模式作为核心架构,构建起数据生产者与消费者之间的订阅关系,使得数据变化能够及时被关注;响应式流则负责承载数据的流动与处理,通过操作符对数据进行转换、过滤等操作,实现复杂业务逻辑的编排。

2025-05-12 10:06:08 488

原创 Jetpack DataBinding/ViewBinding学习

/ 将字符串绑定到 ImageView 的 src 属性@JvmStatic) {url?

2025-05-09 17:09:28 674

原创 Android设备序列号获取方式全解析

设备序列号获取需要根据具体业务场景选择最合适的方案。建议采用"标准API+厂商兜底+备用标识"的多层策略,同时注意遵循最新的隐私政策要求。随着Android系统的持续演进,开发者需要持续关注API变更和设备管理规范的变化。

2025-05-09 14:17:55 653

原创 Android开发问题记录

广播时,动态注册在鸿蒙4.0系统正常,但在鸿蒙3.0系统无法接收广播。广播存在兼容性问题,或系统权限策略差异导致动态注册失效。(用于记录开发中鸿蒙环境差异及问题,持续更新)(待补充,欢迎留言补充原因)中添加静态注册后问题解决。推测鸿蒙3.0对动态注册的。

2025-04-09 18:08:38 334

原创 Android 学习之 Navigation导航

Navigation 组件是 Android Jetpack 的一部分,用于简化应用内导航逻辑,支持 Fragment、Activity 和 Compose 之间的跳转。单 Activity 架构:减少 Activity 冗余,通过 Fragment 或 Compose 实现界面切换。可视化导航图:通过 XML 或代码声明页面跳转关系。统一返回栈管理:自动处理返回按钮和手势导航。类型安全的参数传递:通过 Safe Args 插件或 Compose 的 Route 实现。传统 XML 方式。

2025-04-07 17:26:42 871

原创 Android学习之Material Components

以下是 Material Design 提供的核心控件列表(基于最新 库),按功能分类整理:依赖版本:核心特性:注意事项:特点对比控件特点普通 Switch原生基础控件,样式简单(直角滑块/无主题适配),无 Material 特性(如动态颜色/涟漪效果)。SwitchMaterial支持 Material Design 规范(圆角滑块/动态主题),提供图标支持、触摸涟漪反馈、无障碍优化。使用场景对比控件适用场景普通 Switch

2025-04-03 10:27:26 985

原创 Android设备锁屏功能开发实践

开发教训早期未采用标准化架构导致:状态管理分散在多个Activity页面跳转逻辑耦合严重密码验证流程难以扩展手势实现要点合理设计触摸检测区域路径坐标需进行归一化处理性能优化优先考虑绘制算法兼容性考量自适应不同屏幕密度处理全面屏异形切割支持深色模式切换。

2025-03-28 11:49:36 905

原创 手把手实现优雅的Android自定义开关组件

该组件已在实际项目中验证,能够显著提升设置类页面的交互体验。通过参数化设计,开发者可以快速适配不同产品风格,且性能表现优异(60fps流畅动画)。欢迎根据实际需求进行二次扩展!

2025-03-28 11:35:42 507

原创 Jetpack Compose应用列表展示及优化

该文章是我将代码提交给deepseek模糊化处理后的代码,如要直接使用请根据实际场景调整,在此仅做记录和参考。

2025-03-28 11:27:41 188

原创 使用Compose实现自定义手势密码

最后效果能正常绘制导航线和连接线,但原点激活状态会一直保持,应该像绘制连接线一样记录每个圆的激活状态和顺序,存储到一个矩阵中,用于密码验证。接下来我会绘制导航线和连接线,导航线用于确定上一个圆触发位置到当前手势位置,连接线用于上一个经过触发的位置到下一个经过触发位置的显示。先绘制外圆再绘制内圆,时内圆显示在外圆上,达成想要的效果。绘制圆我们要使用Canvas配合drawCircle绘制,在这里我会绘制一个内圆一个外圆,内圆做显示,外圆做触发显示。最后达成的效果是手势经过外圆范围后外圆处于显示状态。

2025-02-21 14:35:28 329

原创 Jetpack Compose初体验

基于 Kotlin 语言,Compose 利用 Kotlin 的特性来简化 UI 开发过程,核心思想是使用函数来描述 UI 的外观和行为。从 AI 的搜索结果来看,Compose 开发具有以下特点:声明式编程、基于 Kotlin、高效的状态管理、简洁的布局系统、实时预览、与现有代码兼容。由于工作需要,我们当前要在老代码的基础上使用 Compose 进行新页面的开发,这项工作主要落在我的身上。对于非平板逻辑页面,点击后触发页面跳转,通过。根据产品的原型图,我基于平板和手机做出了不同的响应式布局。

2025-02-14 16:35:06 739

原创 Android广播和阿里云消息推送服务

广播(Broadcast)在Android开发中是一个重要的概念,它类似于现实生活中的广播电台,通过“大喇叭”将消息传递给所有感兴趣的接收者。广播机制在Android系统中用于在不同组件之间传递信息,是一种非常灵活且强大的通信方式。广播接收者(BroadcastReceiver)是Android系统中用于接收和处理广播消息的组件。它是一个继承自的类,通过重写方法来处理接收到的广播消息。注册广播接收者静态注册:在AndroidManifest.xml文件中声明,适用于需要在应用启动前就能接收到广播的情况。

2025-01-09 16:16:10 1593

原创 Android中的Service

Service是Android系统四大组件之一,定义是服务,一种长时间在后台长时间运行的操作或处理异步任务的组件。Service可以不依赖于用户界面的情况下运行,并且可以在应用被关闭后继续运行。属性含义默认值示例服务的类名必填.MyService服务是否可以被启动true服务是否可以被外部应用启动falsetrue启动或绑定服务所需的权限服务运行的进程名称服务是否运行在隔离进程中falsetrue服务的显示名称服务的图标服务是否随任务清除而停止truefalse。

2025-01-09 15:47:26 1165

原创 Android开发之Hander消息机制

在 Android 系统中,消息机制是一个高效的任务调度系统,负责在不同组件之间传递消息、执行任务。(消息处理器)协同工作,确保消息的传递和处理能够高效、有序地进行。)都会被放入这个收发室,按照先来后到的顺序排列,等待被取出处理。是消息机制中最基本的单位,就像一封写有任务指令的信件。采用先进先出(FIFO)的方式管理信件,确保任务的有序执行。中取出的信件,并根据信件的内容执行相应的任务。就像一个邮递员,负责不停地检查信件收发室(就像一个信件收发室,所有待处理的信件(),并将信件送到对应的收件人(

2025-01-09 10:38:48 1003 1

原创 Android基于回调的事件处理

在 Android 开发中,回调机制(基于回调的事件处理)是一种更加灵活和通用的解决方案,适用于异步操作、跨模块通信、自定义组件等多种场景。相较于传统的基于监听器的事件处理机制,回调机制的优势在于更高的灵活性和更广泛的应用范围。通过合理使用回调机制,可以显著提高代码的可维护性和扩展性。使用 OkHttp 进行网络请求时,可以充分利用其提供的Callback接口来处理异步操作的结果。

2025-01-08 15:16:48 875

原创 Android基于监听的事件处理机制

在 Android 开发中,事件监听器的实现方式多种多样,开发者可以根据具体需求选择最合适的方式。方式特点匿名内部类简单高效,适合单次使用内部类代码复用性高,适合中等复杂度的逻辑外部类适合复杂逻辑,代码模块化Activity 作为监听器与 Activity 生命周期紧密结合,适合处理多个事件XML 绑定简单直观,适合处理单个组件的简单逻辑通过灵活运用这些事件监听方式,开发者可以实现高效、可维护的 Android 应用程序。

2025-01-08 14:43:22 972

原创 Android中,什么是Context?

在接触Android开发后,我常常使用一个元素——Context。我很清楚它代表什么:一个上下文对象。我可以通过这个Context对象获取设备序列号、启动Activity、发送广播、获取系统服务等。但我也有一些疑惑:Context到底是什么?我获取和使用的Context来自哪里?它代表的“上下文”指代的是什么?为什么它能访问那么多的资源?相信很多人应该都有和我一样的疑问。) {val context = this // 使用 this 关键字获取当前 Activity 的 context。

2025-01-07 18:01:47 942

原创 Android中Activity

生命周期是指一个对象从创建到销毁的整个过程。在 Android 中,Activity 的生命周期指的是 Activity 从创建到销毁的一系列状态变化。这些状态变化通过一系列生命周期回调方法来管理。调用时机:当 Activity 第一次被创建时调用。用途:初始化 Activity,设置布局,绑定数据等。注意事项:在这个方法中,你应该完成所有必要的初始化任务,例如设置布局,初始化视图和数据。onStart()调用时机:在 Activity 变得可见但尚未与用户交互时调用。用途:恢复在。

2025-01-07 15:17:04 1102

原创 关于Android设备序列号获取的方法

在某些情况下,通过代码获取设备序列号可能受到限制,特别是在Android 10及以上版本中,由于权限和隐私保护的加强,获取设备序列号变得更加严格。作为设备的唯一标识,提供了设备的唯一信息。从Android 10(API级别29)开始,访问设备序列号需要相应的权限,并且可能需要设备所有者的授权。通过这种方法,即使无法通过代码直接获取设备SN,也可以通过用户参与的方式确保应用能够获取并使用设备的唯一标识符。是一个设备的伪唯一标识符,虽然它并非真正的序列号,但在某些场景下可以替代序列号使用。

2025-01-06 17:52:20 8887

原创 Android权限初认识

根据 Android 官方文档,Android 中的权限用于保护对受限数据和受限操作的访问/执行权限,目的是为用户隐私提供支持。权限类型授予时机用户参与示例正常权限安装时自动授予否INTERNET危险权限运行时请求并用户授予是CAMERA特殊权限用户在系统设置中授予是通过区分不同的权限类型,Android 系统能够更好地保护用户隐私和设备安全,同时确保应用在合适的范围内访问系统资源。

2025-01-06 10:05:30 1642

原创 构建工具Gradle初步认知

在现代软件开发中,项目构建工具是不可或缺的一部分。它们帮助开发者自动处理依赖管理、编译代码、运行测试、打包和部署等一系列复杂的过程。Maven 是 Java 生态中非常流行的构建工具之一,但随着项目需求变得越来越复杂,Maven 在灵活性和性能方面的局限性也逐渐显现。Gradle 作为新一代的构建工具,凭借其强大的功能和灵活性,已经成为了许多开发者的首选工具。

2025-01-02 16:39:10 757

原创 Android studio入门使用须知

在移动互联网飞速发展的今天,Android操作系统以其开放性和广泛的用户基础,成为了移动应用开发领域的重要一环。对于初学者而言,想要踏入Android开发的大门,首先得掌握一款强大的开发工具——Android Studio。Android Studio不仅提供了集成的开发环境(IDE),还囊括了众多便于开发者高效编程的功能和工具。本文旨在引导读者逐步了解和熟悉Android Studio的相关操作,从环境搭建到软件安装,再到基础配置、插件安装,以及常用快捷键的使用,最后介绍如何打包生成APK文件。

2025-01-02 15:50:01 1530

原创 Android12及鸿蒙3.0以上 BLUETOOTH权限问题(新增扫描获取权限)

在开发过程中,获取设备蓝牙的物理地址是一个常见的需求。然而,随着 Android 系统的不断更新,蓝牙权限的管理逐渐加强,这为开发者带来了新的挑战。在 Android 6.0(API 23)之后,系统对蓝牙权限的管控开始加强,但通过方法仍然可以获取到设备的蓝牙物理地址。到了 Android 10.0(API 29),权限管理进一步收紧,尽管开发者配置了相关的静态权限,但获取到的地址可能是一个虚拟地址,而不会直接报错。

2024-12-31 10:33:21 1826

原创 简单离线数仓搭建-zeppelin安装及hive配置

如果显示缺少jar包可以进。设置properties。

2024-07-09 17:06:49 558

原创 简单离线数仓搭建-Hive3.1.3安装

这些步骤将帮助您在系统上安装和配置 Hive 3.1.3,并初始化其元数据库。成功后能在mysql在查看到对应的元数据。也复制到该目录下,并将原有的。服务回独占一个窗口,可以用。

2024-07-07 15:02:18 278

原创 简单离线数仓搭建-Hadoop组件搭建

以上是在 CentOS 系统上安装和配置 Hadoop 3.1.3 的详细步骤。确保按照顺序执行每一步骤,并根据实际情况替换。输入yes后回车,然后输入密码,最后如图便成功。通过9870端口进入HDFS界面。如图显示便成功初始化。

2024-07-04 22:13:38 605

原创 简单离线数仓搭建-基本工具准备

MySQL 5.6 在离线数仓中的作用包括数据存储与管理、数据查询与分析、数据集成与ETL过程支持、元数据管理,以及系统监控与日志记录,这些简单功能5.6便能满足。/opt/检测是否安装成功mysql --version #查看MySQL版本像上述情况便是安装成功。

2024-07-03 14:38:00 413

原创 CentOS7环境初始化

wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo #下载并替换为华为云的 CentOS 软件源配置文件。cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak #备份当前的 CentOS 软件源配置文件。由于现在暂时不需要防火墙,接下来关闭防火墙。

2024-07-02 19:43:57 594

空空如也

空空如也

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

TA关注的人

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