自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

虎哥LoveDroid

学习Android技术,分享Android技术

  • 博客(597)
  • 资源 (5)
  • 收藏
  • 关注

原创 还在担心Android功能不会用吗?Intro Showcase View助你快速实现功能引导

你可以使用自定义引导文本的样式,如改变文本颜色、背景等。val primaryText = SpannableStringBuilder("发送你的第一封邮件")val secondaryText = SpannableStringBuilder("点击信封图标开始撰写你的第一封邮件").show()通过上述示例,你可以灵活地在 Android 应用中实现不同场景下的功能引导,从简单的视图引导到复杂的 RecyclerView 卡片引导,再到自定义文本样式,这些都能极大地提升用户体验。

2024-08-14 12:25:14 43

原创 Framework | 如何配置系统App在Android Studio下的环境?

为了系统App开发调试方便,避免权限障碍,我们将平台签名转成.jks格式的签名文件,这样通过gradle编译的apk直接有了系统签名,运行到设备后直接作为平台应用安装。

2024-08-14 09:34:26 37

原创 一库搞定多平台分页:Paging-Multiplatform让开发变简单!

Paging-Multiplatform通过为AndroidX Paging增加更多的Kotlin/Multiplatform目标,并为iOS提供UI组件,使得跨平台分页变得更加简单和高效。如果你正在开发一个需要在多个平台上共享分页逻辑的应用程序,不妨试试Paging-Multiplatform,它会让你的开发过程变得轻松愉快!不管你是安卓大佬还是iOS大神,Paging-Multiplatform都能让你在分页的海洋中如鱼得水,快来试试吧!

2024-07-31 10:35:20 77

原创 Android Compose 中的 UI 状态魔法:优雅处理加载、空状态和数据展示

在Jetpack Compose中处理UI界面状态的这种情况,我们可以使用一个密封类(sealed class)来表示不同的UI状态,然后根据状态来显示相应的UI。这种方法提供了一个清晰和可扩展的方式来管理UI状态,使得添加新的状态或修改现有状态变得简单。同时,它也符合Jetpack Compose的声明式UI设计理念。

2024-07-31 10:34:32 175

原创 在 Android 上实现语音命令识别:详细指南

语音命令识别是一项复杂的技术,但通过 Android 提供的 API,我们可以相对轻松地实现这项功能。本指南将从基本实现开始,逐步介绍如何处理更复杂的语音命令。处理复杂的语音命令时,我们通常会遇到带有占位槽位的命令,例如 “播放歌曲 {song_name}” 或 “设置闹钟在 {time}”。首先,我们需要定义这些命令模板。"播放歌曲 {song_name}","设置闹钟在 {time}"

2024-07-23 14:38:47 337

原创 使用Kotlin Flow和协程开发高性能Android应用

Kotlin Flow和协程为Android开发者提供了一种高效处理异步任务和数据流的方式。通过合理使用这些工具,我们可以显著提升应用的性能和用户体验。在实际开发中,我们需要根据业务需求选择合适的策略和操作符,同时遵循最佳实践,避免常见的性能问题和内存泄漏。希望这篇文章能为你在Kotlin Flow和协程的使用上提供一些启示和帮助。未来,我们可以继续探索更多高级特性和优化策略,为用户提供更出色的应用体验。

2024-07-19 16:39:02 609

原创 基于Jetpack Compose实现的Android Preference

基础组件,并根据不同类型的 Preference 需求进行了扩展。您可以根据实际需要进一步调整和优化这些组件。这样,您就可以创建一个功能丰富的设置界面,包含各种类型的 Preference。这些实现都基于您提供的。

2024-07-11 09:26:36 333

原创 实现Android夜间模式主题:从入门到精通

随着用户对夜间模式的需求越来越高,Android开发者需要掌握如何在应用中实现夜间模式。本文将详细介绍在Android中实现夜间模式的步骤,包括配置、实现、以及一些最佳实践,帮助开发者创建更具吸引力和用户友好的应用。

2024-07-11 09:13:57 342

原创 在Android Jetpack Compose中实现夜间模式

Android基于Compose的深色主题实现

2024-07-11 09:12:12 515

原创 探索Google AI Studio的无限可能:从设计到代码的全新体验

在2024年的Google I/O开发者大会上,Google展示了一项令人兴奋的实时演示:Gemini能够将应用程序UI的线框草图转换为Jetpack Compose代码,直接在Android Studio中进行。这一功能基于Gemini的核心能力,虽然我们仍在不断优化这个功能以确保在Android Studio中的优秀体验,但你今天就可以在Google AI Studio中尝试这些基础功能。

2024-07-09 14:59:33 360

原创 299k stars利用Public APIs提升开发效率:探索APILayer提供的开源资源

APILayer是一家致力于提供快速、可靠API集成服务的公司。他们创建了一个包含各种公共API的开源项目,旨在帮助开发者轻松找到并使用这些API。这些API已在Postman API Network中进行了整理和展示,开发者可以直接在Postman中查看和测试。公共API为开发者提供了宝贵的资源,可以轻松集成各种服务到应用中。APILayer提供的公共API项目不仅涵盖了多种实用功能,还通过Postman API Network提供了便捷的测试环境。

2024-07-09 10:09:11 1372

原创 在Android运行时切换Retrofit Base URL:简化开发环境与生产环境的切换

通过以上步骤,我们实现了在运行时动态切换Retrofit Base URL的功能。这种方法不仅简化了环境切换操作,还避免了维护多个Retrofit实例的繁琐工作。值得注意的是,这种环境切换主要适用于开发和调试阶段,因为所有请求都会经过这个Interceptor,可能会影响请求速度。希望本文能为您在项目中实现动态切换Base URL提供帮助。如果有任何问题或建议,欢迎交流与讨论。

2024-07-03 09:32:15 407

原创 快速构建轻量级虚拟机:深入探索 Multipass

Multipass 是 Canonical 推出的轻量级虚拟机管理工具,专为快速创建和管理 Linux 实例而设计。与传统的虚拟机软件不同,Multipass 更加轻量,只需一行命令便可快速创建 Ubuntu 虚拟机,非常适合开发和测试使用。

2024-07-03 09:09:21 865

原创 在Linux上运行macOS:深度解析OSX-KVM项目

OSX-KVM项目通过QEMU和KVM技术,实现了在现代Linux发行版上运行macOS的能力。该项目支持OpenCore引导器,并兼容Monterey、Ventura以及最新的Sonoma版本。对于需要在Linux环境中使用macOS的开发者,OSX-KVM提供了一种高效且可行的方案。

2024-07-03 09:08:58 1538

原创 深度解析Ubuntu版本升级:LTS版本升级指南

Ubuntu是全球最受欢迎的Linux发行版之一,其版本升级与维护策略直接影响了无数用户的开发和生产环境。Canonical公司为Ubuntu制定了明确的生命周期和发布节奏,使得社区、企业和开发者可以在计划路线图时充分享受到最新的开源能力。

2024-07-03 09:08:32 3457

原创 提升Android Studio开发体验:使用Kelp插件实现颜色和图标预览

Kelp插件是一款功能强大的工具,旨在为Android Studio添加各种增强功能,改善开发者体验。自动补全中的暗色和亮色预览 🎨自动补全中的图标预览 🔍组件函数的可自定义图标可在Git中存储和共享的Live Templates ⌨️KDoc图像渲染等Kelp插件为Android Studio带来了诸多强大功能,极大地提升了开发体验。通过本文介绍的方法,您可以轻松设置颜色和图标预览功能,并在设计系统组件中添加预览图标。

2024-07-03 09:07:21 1282 3

原创 在Ubuntu上配置PPPoE服务:从安装到自动化启动的全指南

PPPoE(点对点协议以太网)是一种广泛用于DSL和光纤宽带连接的协议。在本篇技术博客中,我们将详细介绍如何在Ubuntu系统上配置PPPoE服务,包括安装、配置、启动以及设置自动启动等步骤。

2024-06-29 15:10:18 1857

原创 使用Jetpack Compose实现具有多选功能的图片网格

在现代应用中,多选功能是一项常见且重要的需求。例如,Google Photos允许用户轻松选择多个照片进行分享、添加到相册或删除。

2024-06-29 00:01:23 1079

原创 GitHub Pull Request流程详解

Pull Request是一种让开发者提交代码更改的方式,它不仅能让团队成员审查代码,还能确保代码质量和一致性。在PR中,开发者可以讨论更改、提供反馈、运行自动化测试,并最终将更改合并到主代码库中。GitHub的Pull Request是协作开发的核心工具之一,通过这一流程,开发者可以有效地管理代码更改、保证代码质量并促进团队协作。希望这篇文章能帮助你更好地理解和使用Pull Request,提高你的开发效率。

2024-06-29 00:00:50 606

原创 深入解析Android的Sound Trigger中间件架构

在现代移动设备中,应用程序对声音事件的检测需求越来越多,如热词检测和背景音乐识别等。为了实现低功耗和隐私敏感的声音事件检测,Android引入了Sound Trigger中间件。本文将详细介绍Sound Trigger的架构、工作原理以及其在不同层次中的职责。

2024-06-29 00:00:29 325

原创 Drag Select Compose:实现多平台图片多选功能的利器

Drag Select Compose库使我们能够轻松实现复杂的图片多选功能,同时支持多种平台。通过该库,我们不仅可以简化开发流程,还可以为用户提供流畅的交互体验。希望通过这篇博客,您能更好地理解和应用这一强大的工具。了解更多信息,请访问Drag Select Compose文档。

2024-06-29 00:00:07 875

原创 使用 Compose Multiplatform Media Player 实现跨平台媒体播放

为了提供更好的用户体验,Compose Multiplatform Media Player 提供了广泛的控制选项供开发者自定义。您可以启用或禁用暂停和恢复功能,调整进度条的外观和可见性,以及自定义各种控制图标和颜色。这些选项使得您可以根据应用的具体需求来调整播放器的行为和外观,从而提供更符合用户期望的媒体播放体验。使用使用使用。

2024-06-28 23:59:05 1102

原创 Kotlin设计模式:代理模式详解

在软件开发中,设计模式是解决常见问题的一种优雅方法。本文将介绍Kotlin中的代理模式(Proxy Pattern),其应用场景,以及如何通过实例代码实现这一模式。代理模式是对一个对象的封装,它在幕后提供额外的逻辑支持。这意味着代理模式可以为目标对象提供额外的访问控制。代理对象和实际对象实现相同的接口,这种模式通常在需要额外的访问控制时使用。代理对象和实际对象都实现相同的接口,这种模式通常与服务(Service)一起使用。假设我们需要创建一个聊天应用。你提供了一个API来发送和接收消息。然而,聊天需要是安

2024-06-25 10:01:57 980

原创 Kotlin设计模式:深入解析Facade模式

Facade模式提供了一个高层次的接口,使得子系统的使用变得更加简单。通过引入一个外观对象,隐藏系统内部的复杂性,客户端只需与这个高层次的接口交互,而不需要了解系统的内部细节。

2024-06-25 10:01:38 483

原创 Kotlin设计模式:深入理解桥接模式

首先,我们定义一个Material接口,并创建两个实现类Wood和Metal。接下来,我们定义一个Furniture接口,并创建两个实现类Chair和Table,它们使用不同的材料来建造。

2024-06-25 10:01:18 728

原创 Kotlin设计模式:工厂方法详解

工厂方法模式在Kotlin中的应用非常广泛,它通过将对象创建的责任委派给工厂方法,简化了对象创建的复杂性,提高了代码的可维护性和扩展性。在实际开发中,使用工厂方法模式可以有效地管理对象的创建逻辑,避免重复代码,并使代码更具弹性和灵活性。通过本文的讲解和示例代码,希望大家能够更好地理解和应用工厂方法模式,提升Kotlin开发的效率和质量。

2024-06-25 10:01:00 1077

原创 Kotlin设计模式:享元模式(Flyweight Pattern)

在移动应用开发中,内存和CPU资源是非常宝贵的。享元模式(Flyweight Pattern)是一种设计模式,旨在通过对象重用来优化内存使用和性能。本文将深入探讨享元模式的应用,并通过Kotlin代码示例展示其实现方式。

2024-06-24 17:00:10 653

原创 摒弃反模式:使用Kotlin委托优化Android BaseActivity

BaseActivity”或“BaseFragment”这类命名模式从一开始就是一种反模式。这类基类通常包含了多种职责,使得代码难以维护和扩展。职责不明确:命名应明确反映类的职责,而“BaseActivity”这种命名模糊不清,无法表明类的实际功能。职责混杂:一个基类往往包含多种职责,使得子类难以理解和修改。继承层次复杂:当项目规模增大时,复杂的继承层次会导致代码难以维护。

2024-06-24 16:59:48 954

原创 使用Jetpack Compose为Android App创建自定义页面指示器

下面的代码示例展示了如何创建一个水平分页器,并为其添加一个页面指示器。页面指示器提供视觉提示,显示总页数以及当前页的位置。

2024-06-21 16:42:09 946 1

原创 使用Jetpack Compose创建自定义可滚动网格

通过使用Jetpack Compose中的和,开发者可以轻松创建高效、灵活的可滚动网格布局。这些组合不仅简化了代码,还提高了应用的性能和用户体验。无论是展示大量数据还是动态内容,这些工具都能满足需求。希望本篇博客能够帮助您在实际项目中更好地运用Jetpack Compose创建自定义网格布局。如果您有任何问题或建议,欢迎在评论区交流讨论。

2024-06-21 16:41:49 358

原创 Java 从 6 到 21 的重要变动回顾

Java 21 引入了众多重要的新特性和改进,进一步提升了 Java 语言的表达能力和性能。记录模式和虚拟线程的引入,使得代码更加简洁和高效;改进的外部函数和内存 API 提高了与本地代码的互操作性;模式匹配 switch 和增强的线程调度机制使得 Java 的并发编程更加强大和灵活。这些新特性为开发者提供了更丰富的工具,帮助他们应对复杂的编程挑战。通过上述示例代码,希望能帮助开发者更好地理解和应用 Java 21 的新特性。未来,Java 将继续发展,为我们带来更多的创新和改进。

2024-06-21 16:41:12 1012

原创 还在为Android开发找不到图片测试资源发愁吗? DummyImage来助你加速开发

DummyImage 是一个免费的在线 REST API,用于即时生成占位符图像,而无需设置服务器。对于前端开发、教学、测试和原型制作来说,这是一个理想的工具。它支持多种自定义选项,包括图像尺寸、颜色、格式和文本。可以使用查询字符串在 URL 的末尾添加自定义文字。如果需要使用其他 Unicode 字符,请查找其 UTF-8 十六进制版本。

2024-06-20 15:00:05 783

原创 使用 GitHub Actions 编译和发布 Android APK

本文将指导你如何通过 GitHub Actions 编译你的 Android 项目并自动发布 APK。当你向仓库推送一个新标签时,GitHub Actions 将触发构建过程,并将生成的 APK 附加到同一个标签的发布中。通过上述步骤,你可以使用 GitHub Actions 自动化编译和发布 Android APK。这个流程不仅提升了开发效率,还确保了每次发布的一致性。如果你需要构建不同口味的 APK,只需修改 YAML 文件中的相应命令即可。

2024-06-20 14:23:46 1996

原创 Jetpack Compose 中的嵌套 LazyColumn

我们可以为嵌套的可组合项定义高度。这样的方法效果不错,但嵌套列将具有固定高度,内容只能在该固定高度内滚动。) {有些开发人员会估算嵌套列的动态高度,他们创建逻辑来确定LazyColumn的动态高度,不过我对这种方法的实用性持保留态度。

2024-06-20 10:50:37 1233 1

原创 探索JetBrains WriteSide:Android开发者的高效编写利器

JetBrains WriteSide是一款专为开发者设计的文档编写工具。与传统的文档工具不同,WriteSide深度集成了开发环境,支持多种编程语言的代码嵌入与高亮显示,同时提供了强大的版本控制和协作功能。

2024-06-20 10:50:12 882

原创 使用Jetpack Compose和DummyJSON加速你的Android开发

是一个生产就绪的Jetpack Compose模板应用程序,旨在帮助开发者快速启动他们的Android开发旅程。该模板应用程序包含了许多现代Android开发的最佳实践和技术,如依赖注入、导航图、干净的架构等。DummyJSON是一个免费的在线REST API,用于即时生成占位数据,无需设置服务器。它是前端开发、教学、测试和原型设计的理想选择。

2024-06-20 10:49:44 990

原创 Android14 开发之Broadcast延迟及Service常驻等新特性说明

通过以上步骤,您可以在 Android 13 中根据Intent的action启动服务,并确保服务在后台运行时不会被系统终止。使用前台服务可以确保服务的持久性,并且可以处理新的权限要求和行为变化。

2024-06-20 10:49:26 1134

原创 Android 14 权限等级剖析

Android 一直以来都使用权限机制来控制应用程序对系统资源和用户数据的访问。随着 Android 版本的更新,权限机制也在不断完善,以提高安全性并降低隐私风险。Android 14 引入了新的权限等级,进一步细化了对应用程序权限的控制。新的权限等级可以更好地划分不同权限的风险级别,并为开发人员提供更灵活的权限管理方案。普通权限(normal):风险最低的权限等级,应用程序在安装时自动获得。这类权限通常不会对用户隐私或安全造成重大风险,例如访问网络、读取手机状态等。危险权限(dangerous)

2024-06-20 10:48:46 1756

原创 今年的就业环境不容乐观,你想好怎么应对了吗

大学生就业和职场人士失业问题日益严重,但通过提升自身技能、合理财务规划、积极调整心态等方式,可以更好地应对这些挑战。希望本文的案例和建议能为广大求职者提供一些有益的启示,帮助他们在职场风暴中找到自己的方向,走向成功。

2024-06-14 14:02:03 1284

原创 探索Jetpack Compose中的高效导航库:Voyager项目

Voyager作为一个高效、务实的导航库,为Jetpack Compose开发者提供了强大的工具。无论是简单的线性导航还是复杂的多层嵌套导航,Voyager都能轻松应对。如果你正在寻找一个多平台支持、功能丰富且与Jetpack Compose无缝集成的导航库,Voyager无疑是一个值得尝试的选择。开启你的极速航行吧,Voyager将带你驶向成功的彼岸!

2024-06-14 14:01:21 842

wifi_display_doc.zip

WIFIDIsplay 协议文档、RTSP协议文档、WIFI P2P协议文档, 包含各个版本 Wifi_Display_Overview.pdf Wi-Fi_Display_Technical_Specification_v1.0.0.pdf Wi-Fi_Display_Technical_Specification_v2.0_0.pdf Wi-Fi_Display_Technical_Specification_v2.1_0.pdf RTSP_RFC2326(CN).pdf

2020-10-20

DLNA协议Android端实现,包括DMR, DMC,DMS

采用cling开源的DLNA协议实现的,具备控制,渲染,服务的功能,适合大家学习,该资源友情价2积分拿走,希望大家也能积极分享优质资源,大家一起学习进步吧!

2018-03-02

DLNA官方文档2016

官方最新dlna文档,供大家开发参考使用,对于代码开发及理解很有帮助!

2018-03-02

求职简历模板

java工程师简历模板,改简历模板能作为很好的参考!

2013-08-30

空空如也

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

TA关注的人

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