Calvin880828
关注Android最新技术,开发Android相关的技术
展开
-
还在担心Android功能不会用吗?Intro Showcase View助你快速实现功能引导
你可以使用自定义引导文本的样式,如改变文本颜色、背景等。val primaryText = SpannableStringBuilder("发送你的第一封邮件")val secondaryText = SpannableStringBuilder("点击信封图标开始撰写你的第一封邮件").show()通过上述示例,你可以灵活地在 Android 应用中实现不同场景下的功能引导,从简单的视图引导到复杂的 RecyclerView 卡片引导,再到自定义文本样式,这些都能极大地提升用户体验。原创 2024-08-14 12:25:14 · 45 阅读 · 0 评论 -
一库搞定多平台分页:Paging-Multiplatform让开发变简单!
Paging-Multiplatform通过为AndroidX Paging增加更多的Kotlin/Multiplatform目标,并为iOS提供UI组件,使得跨平台分页变得更加简单和高效。如果你正在开发一个需要在多个平台上共享分页逻辑的应用程序,不妨试试Paging-Multiplatform,它会让你的开发过程变得轻松愉快!不管你是安卓大佬还是iOS大神,Paging-Multiplatform都能让你在分页的海洋中如鱼得水,快来试试吧!原创 2024-07-31 10:35:20 · 77 阅读 · 0 评论 -
Android Compose 中的 UI 状态魔法:优雅处理加载、空状态和数据展示
在Jetpack Compose中处理UI界面状态的这种情况,我们可以使用一个密封类(sealed class)来表示不同的UI状态,然后根据状态来显示相应的UI。这种方法提供了一个清晰和可扩展的方式来管理UI状态,使得添加新的状态或修改现有状态变得简单。同时,它也符合Jetpack Compose的声明式UI设计理念。原创 2024-07-31 10:34:32 · 175 阅读 · 0 评论 -
在 Android 上实现语音命令识别:详细指南
语音命令识别是一项复杂的技术,但通过 Android 提供的 API,我们可以相对轻松地实现这项功能。本指南将从基本实现开始,逐步介绍如何处理更复杂的语音命令。处理复杂的语音命令时,我们通常会遇到带有占位槽位的命令,例如 “播放歌曲 {song_name}” 或 “设置闹钟在 {time}”。首先,我们需要定义这些命令模板。"播放歌曲 {song_name}","设置闹钟在 {time}"原创 2024-07-23 14:38:47 · 338 阅读 · 0 评论 -
使用Kotlin Flow和协程开发高性能Android应用
Kotlin Flow和协程为Android开发者提供了一种高效处理异步任务和数据流的方式。通过合理使用这些工具,我们可以显著提升应用的性能和用户体验。在实际开发中,我们需要根据业务需求选择合适的策略和操作符,同时遵循最佳实践,避免常见的性能问题和内存泄漏。希望这篇文章能为你在Kotlin Flow和协程的使用上提供一些启示和帮助。未来,我们可以继续探索更多高级特性和优化策略,为用户提供更出色的应用体验。原创 2024-07-19 16:39:02 · 610 阅读 · 0 评论 -
基于Jetpack Compose实现的Android Preference
基础组件,并根据不同类型的 Preference 需求进行了扩展。您可以根据实际需要进一步调整和优化这些组件。这样,您就可以创建一个功能丰富的设置界面,包含各种类型的 Preference。这些实现都基于您提供的。原创 2024-07-11 09:26:36 · 333 阅读 · 0 评论 -
实现Android夜间模式主题:从入门到精通
随着用户对夜间模式的需求越来越高,Android开发者需要掌握如何在应用中实现夜间模式。本文将详细介绍在Android中实现夜间模式的步骤,包括配置、实现、以及一些最佳实践,帮助开发者创建更具吸引力和用户友好的应用。原创 2024-07-11 09:13:57 · 343 阅读 · 0 评论 -
在Android Jetpack Compose中实现夜间模式
Android基于Compose的深色主题实现原创 2024-07-11 09:12:12 · 515 阅读 · 0 评论 -
探索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 · 361 阅读 · 0 评论 -
在Android运行时切换Retrofit Base URL:简化开发环境与生产环境的切换
通过以上步骤,我们实现了在运行时动态切换Retrofit Base URL的功能。这种方法不仅简化了环境切换操作,还避免了维护多个Retrofit实例的繁琐工作。值得注意的是,这种环境切换主要适用于开发和调试阶段,因为所有请求都会经过这个Interceptor,可能会影响请求速度。希望本文能为您在项目中实现动态切换Base URL提供帮助。如果有任何问题或建议,欢迎交流与讨论。原创 2024-07-03 09:32:15 · 407 阅读 · 0 评论 -
Jetpack Compose 中的嵌套 LazyColumn
我们可以为嵌套的可组合项定义高度。这样的方法效果不错,但嵌套列将具有固定高度,内容只能在该固定高度内滚动。) {有些开发人员会估算嵌套列的动态高度,他们创建逻辑来确定LazyColumn的动态高度,不过我对这种方法的实用性持保留态度。原创 2024-06-20 10:50:37 · 1235 阅读 · 1 评论 -
探索Android异步编程:Coroutine与RxJava的差异及实例分析
Coroutine是Kotlin标准库的一部分,旨在提供一种轻量级且易用的方式来编写异步代码。与传统的回调方法相比,Coroutine允许开发者以顺序风格编写异步代码,使代码更易读、更易维护。RxJava是一个响应式编程库,允许开发者通过操作符组合异步和事件驱动的程序。它提供了一组强大的操作符,用于处理异步数据流,使得数据处理变得更加灵活和强大。原创 2024-06-11 18:20:38 · 894 阅读 · 0 评论 -
使用Jetpack Compose扩展跨屏幕应用@ Google I/O 2024
在Google I/O 2024上,我们宣布了一系列Compose的新更新,这些更新可以帮助您在不同设备上进行开发,包括支持自适应布局的Compose API,以及针对电视和Wear OS的最新更新。随着更多自适应布局API的引入,以及Wear OS和TV的稳定版本,开发者现在能够更轻松地构建响应式和高性能的应用程序。新的TV Material Catalog应用程序让您可以使用不同的主题和布局探索Compose for TV中的组件,我们更新的JetStream示例展示了这一切如何结合在一起。原创 2024-06-07 09:57:54 · 613 阅读 · 0 评论 -
Google I/O 2024 上的大屏支持
随着 Android 设备种类的不断增加,从手机到可折叠设备再到 Chromebook,开发能够无缝适应不同屏幕尺寸和类型的应用程序变得越来越重要。在今年的 Google I/O 上,我们讨论了如何构建自适应应用程序,通过键盘和手写笔等关键输入提高用户生产力,以及如何在不同设备上扩展游戏。原创 2024-06-07 09:50:42 · 677 阅读 · 0 评论 -
深入探索 Jetcaster 项目:用 Jetpack Compose 构建跨设备的播客应用
Jetcaster 是一个完整的播客应用,涵盖了从用户界面到数据处理的全方位功能。主页:显示用户订阅的播客,允许在“你的库”和“发现”之间导航。播客详情页面:展示播客的详细信息和剧集列表。播放器页面:提供媒体控制和当前播放的播客信息。原创 2024-06-07 09:50:19 · 704 阅读 · 0 评论 -
探索Tivi项目:现代Android TV节目追踪应用
完全使用Kotlin编写。UI完全基于Jetpack Compose构建。全面使用Kotlin Coroutines。使用了多个架构组件(Architecture Components),包括Room、Lifecycle、Navigation。依赖注入使用了Hilt。项目地址:Tivi GitHub(https://github.com/chrisbanes/tivi)Tivi项目展示了如何使用现代Android开发工具和库来构建一个功能丰富的应用。原创 2024-06-07 09:46:15 · 1051 阅读 · 0 评论 -
Android15 Beta更新速览
前台服务使应用保持活动状态,以便它们可以执行关键且对用户可见的操作,通常以牺牲电池寿命为代价。在 Android 15 Beta 2 中,dataSync 和前台服务类型现在具有约 6 小时的超时时间,之后系统将调用 Android 15 的新方法。在此时,该服务将不再被视为前台服务。如果服务没有在超时后调用来响应,它将会因失败而停止。Beta 2 还为在应用在后台运行时启动前台服务添加了新的要求。- 如果你的前台服务依赖于。原创 2024-05-28 12:09:23 · 1548 阅读 · 1 评论 -
深入Android ViewModels:Dos和Don‘ts
以上是Android ViewModels使用的关键点的全部内容。通过遵循这些关键点,您可以更好地利用ViewModels来管理应用程序的UI状态和业务逻辑,从而开发出更加健壮和高效的Android应用程序。原创 2024-05-10 15:51:26 · 1100 阅读 · 0 评论 -
深入探索Android开发:Room和Flow的最佳实践指南
Room是一个SQLite对象映射库,它提供了SQLite数据库的抽象层,使得在Android应用中轻松进行数据库操作。通过Room,开发者可以在编译时进行SQL查询的验证,并且能够轻松地将数据库表中的数据转换为Java或Kotlin对象。Flow是Kotlin协程提供的一种基于数据流的异步编程工具,它可以帮助我们处理异步操作、数据流转换和错误处理。在Android开发中,Flow库已经成为了处理异步任务和数据流的重要工具,可以提高代码的可读性和可维护性。原创 2024-04-29 16:01:22 · 1294 阅读 · 0 评论 -
使用OkHttp 缓存 API 调用提高Android应用性能
要能够将 API 调用的响应本地存储到缓存中,首先,我们需要定义缓存并通知客户端。在下面的代码片段中,我们使用 okhttp 库中的 Cache 类定义了缓存。我们将此缓存的最大大小设置为 5 MB。然后,在初始化 okhttpclient 参数时使用cache()函数。.build()如果设备连接到互联网:如果最后一次 API 响应是在不到 30 分钟之前检索的,则显示缓存的响应;否则,获取新的响应并将其存储在缓存中。如果设备离线:使用最多 1 天前的 API 响应以保持应用程序功能。原创 2024-04-29 14:19:21 · 1546 阅读 · 0 评论 -
在Android中,如何通过Kotlin协程处理多个API调用
在Android开发中,如何使用Kotlin协程处理多个API调用的示例呢?假设我们已经对Kotlin协程有了一定的了解,包括定义、简单用例和示例等。现在,让我们来看一些真实的Android场景或用例。我们将从一个关于协程作用域的简单问题开始,比如生命周期作用域。原创 2024-04-29 12:03:56 · 882 阅读 · 2 评论 -
Now in Android 4月份更新速览
Android 15 Beta带来了一系列新功能,其中包括默认边缘到边缘显示、更流畅的NFC体验、字符间文本调整等。此外,该版本已经面向Pixel设备提供,开发者可以注册获取此版本并体验其中的新特性。边缘到边缘显示是Android 15中的一项重要更新,它使应用程序可以更好地利用屏幕空间,提供更加沉浸式的用户体验。在Android 15中,系统会自动调整应用程序的界面,以适应不同尺寸和形状的屏幕,从而确保内容可以完整显示并且布局合理。原创 2024-04-29 11:30:55 · 809 阅读 · 1 评论 -
Android Jetpack:简化开发、提高Android App质量的利器
Jetpack作为一套强大的Android开发工具和库集合,为开发者提供了更高效、更简洁的开发体验。随着Jetpack的不断更新和完善,它将继续为开发者提供更多的创新功能和改进。因此,我们强烈推荐开发者在Android应用开发中使用Jetpack,以提高开发效率和代码质量,为用户提供更优秀的应用体验。原创 2024-03-22 15:47:31 · 2451 阅读 · 0 评论 -
在Jetpack Compose中停止传递事件/UI-Action回调
对于大多数屏幕而言,UDF对于事件的传递是低效的。在本文中,假设您已经熟悉UDF(单向数据流)和MVI架构。在Google的文档中,他们建议我们使用UDF来增加组件的可测试性和可重用性。例如…通过向组件仅提供其所需的数据,并使用lambda函数来收集UI操作,我们使得该组件具有了可重用性且易于测试。这很棒,对吧?然而,当您将该原则应用于整个屏幕时,您将很快发现需要从顶部组件一路传递20-30个事件回调到底部组件。让我举个例子 😃在这里,您会注意到我们需要像900次那样传递。原创 2024-03-22 15:47:05 · 569 阅读 · 0 评论 -
FlorisBoard:Android开源键盘的现代化选择
FlorisBoard作为一款免费且开源的安卓键盘应用,通过其现代化的设计、高度的定制化能力和对用户隐私的尊重,成为了用户在安卓平台上的首选。无论是个人用户还是企业用户,FlorisBoard都为他们提供了出色的键盘体验和保护隐私的安全性。随着功能的不断完善和用户需求的不断反馈,FlorisBoard必将成为用户在安卓设备上的最佳键盘选择。原创 2024-03-21 14:51:30 · 1146 阅读 · 0 评论 -
Android 近期更新速览(Now in Android #100)
Android 近期的一系列更新为开发者和用户带来了更好的体验和功能,从Android 15到Android Studio Iguana,再到各种API和工具的更新,都展示了Android持续演进的势头,为移动应用开发领域带来了更多可能性和便利。让我们共同期待Android未来的发展!以上是关于Android近期更新的速览,希望对您有所帮助!原创 2024-03-18 12:09:17 · 1057 阅读 · 0 评论 -
Preferences为何优先选择Datastore,尽管它速度慢一些...
Preferences Datastore 在性能上虽然较慢,但相对于 Shared Preferences,仍应该优先选择它。以下是原因分析:几年前,Android 引入了一个名为 Preferences Datastore 的新存储库,旨在取代 Shared Preferences 成为默认的键-值存储,以更有效地存储可以以键值方式访问的项目。原创 2024-03-05 15:59:35 · 290 阅读 · 0 评论 -
2024现代Android开发趋势
在当今的Android开发领域,我们看到了许多令人兴奋的技术和趋势,这些技术和趋势正在改变着应用程序的开发方式和用户体验。让我们一起深入探讨2024年现代Android开发的主要方向和关键技术。原创 2024-03-01 15:24:11 · 1592 阅读 · 0 评论 -
GitHubApp大集结!GSYGithubAppFlutter带你飞越编程世界!
GSYGithubAppFlutter是一个功能丰富、跨平台的开源GitHub客户端应用程序,基于Flutter框架开发。该项目属于GSYGithubApp系列,目前已经拥有Flutter、Weex、ReactNative和Kotlin四个版本,旨在为用户提供更好的日常管理和维护个人GitHub,并提供更丰富的功能和更好的使用体验。原创 2024-02-22 19:20:47 · 610 阅读 · 0 评论 -
Android中的MVVM架构:使用Jetpack组件实现现代化的应用架构
MVVM架构是一种基于数据绑定的架构模式,它将应用程序分为三个主要组件:Model、View和ViewModel。每个组件有着不同的职责和功能:Model:负责处理数据层的逻辑,包括数据的获取、存储和处理等。它可以是数据库、网络接口、API等。View:负责用户界面的展示和用户输入的处理。它可以是Activity、Fragment、XML布局文件等。原创 2023-04-19 17:47:35 · 2148 阅读 · 0 评论 -
Kotlin在Android开发中的应用与实践
Kotlin语言作为一种现代化的编程语言,已经在Android开发中变得越来越流行。本部分将简述Kotlin语言的背景、特点和优势,解释为何Kotlin在Android开发中得以广泛应用。背景:Kotlin语言由JetBrains公司于2011年推出,是一种基于Java虚拟机(JVM)的静态类型编程语言。Kotlin起初被设计为解决Java语言在开发效率和代码质量方面存在的一些问题,旨在提供一种更现代、更简洁、更安全的编程语言。原创 2023-04-14 11:01:44 · 1460 阅读 · 0 评论 -
我在“Now In Android”中学到的 9 件事
Now in Android是一款功能齐全的 Android 应用程序,完全使用 Kotlin 和 Jetpack Compose 构建。它遵循 Android 设计和开发最佳实践,旨在为开发人员提供有用的参考。原创 2023-04-11 11:26:40 · 1262 阅读 · 0 评论 -
如何使用 Jetpack Compose 创建翻转卡片效果
卡片翻转效果原创 2023-04-10 18:30:55 · 420 阅读 · 0 评论 -
Jetpack Compose中使用Navigation导航的两种方式
Jetpack compose中使用Navigation导航的两种方式原创 2023-04-10 17:39:18 · 964 阅读 · 1 评论 -
Android中的多线程编程与异步处理
在移动应用开发中,用户体验是至关重要的。一个流畅、高效的应用能够吸引用户并提升用户满意度。然而,移动应用面临着处理复杂业务逻辑、响应用户输入、处理网络请求等多个任务的挑战。为了确保应用的性能和用户体验,多线程编程和异步处理成为了不可或缺的技术手段。在移动应用中,涉及到耗时操作的任务包括但不限于:网络请求、数据库操作、图片加载、文件读写等。如果这些耗时操作都在应用的主线程(也称为UI线程)中执行,将导致应用界面的卡顿、卡死,甚至导致应用无响应(ANR)的错误。原创 2023-04-19 17:00:52 · 2586 阅读 · 0 评论 -
Material Design:为你的 Android 应用提供精美的 UI 体验
介绍 Material Design 概念:介绍 Material Design 是 Google 推出的一种设计语言,用于创建现代、美观、直观且一致的用户界面。解释 Material Design 的基本原则,包括材料元素、动画、颜色和排版等。Material Design UI 元素:介绍常用的 Material Design UI 元素,如卡片、按钮、文本字段、图标、导航栏等,以及它们的设计准则和最佳实践。原创 2023-04-19 16:18:36 · 1566 阅读 · 0 评论 -
我如何学习使用 Jetpack Compose 开发 Android 应用程序
2021 年 7 月,Google 发布了用于为 Android 应用构建原生 UI 的全新工具包 1.0 版。Jetpack Compose 是 Android 开发人员的游戏规则改变者,因为它从通过 XML 设计的 UI 转变为完全动态的声明式编程。是一种编程方法,开发人员定义所需的输出或结果,而不是指定实现它所需的步骤。在 Android Jetpack Compose 的上下文中,声明式编程意味着开发人员描述 UI 元素及其行为,而框架会根据需要自动负责渲染和更新它们。原创 2023-04-18 17:27:36 · 684 阅读 · 0 评论 -
Android Jetpack:现代化Android开发的利器
Jetpack组件作为Google推荐的一套现代化的Android开发工具,具有丰富的功能和优势,可以帮助开发者更加高效、可维护和兼容性的开发Android应用。通过使用Jetpack组件,开发者可以实现架构设计的优化、生命周期管理的简化、后台任务处理的便捷、大数据集的分页加载、数据和UI的绑定等优点,从而提高应用的性能和开发效率。在本篇博客中,我们简要介绍了Jetpack组件的概念、作用和优势。原创 2023-04-13 18:51:12 · 1221 阅读 · 0 评论 -
Android中使用有趣的指示器和过渡自定义 Compose Pager
正如我们在本篇博文中探讨的那样,我们可以看到在Compose中使用PagerState可以灵活地创建更加复杂的页面交互效果,这在以前是比较复杂的。通过利用和变量,我们可以创建相当复杂的UI交互和页面指示器。原创 2023-04-13 17:36:34 · 1188 阅读 · 0 评论 -
Android安全性:保护你的应用和用户数据
安全性是指保护应用和用户数据免受未经授权的访问、攻击或泄露的能力。在Android应用开发中,安全性是一个重要的关注点,开发者需要在设计和开发过程中考虑各种安全性方面,以确保应用和用户数据的安全。首先,应用开发者需要关注认证和授权。认证是验证用户身份的过程,授权是决定用户是否具有执行特定操作的权限。在应用中,开发者应该使用安全的认证和授权机制,例如使用强密码、多因素认证等来保护用户账户的安全。此外,应用应该限制用户访问和操作的权限,只授权必要的权限,避免过度授权导致的安全风险。原创 2023-04-19 18:15:25 · 1534 阅读 · 0 评论