前一章节我们讲解了Kotlin Flow的基本用法,这一节我们来实践将Kotlin Flow应用在Android应用中。我们从三个方面进行讲解:网络数据的请求在编写UI界面中的使用结合Room在数据库中的使用MVVM架构中留给Flow的位置我们再来看一下Google给我们规范的MVVM架构图:MVVM架构中数据回流的方式主要是利用LiveData来实现:鉴于LiveData的功能很单一,我们可以将
转载 2024-07-08 22:32:00
266阅读
1、Spinner下拉框:spinner的spinnerMode属性,spinner显示为对话框(“dialog”)或者是下拉框(“dropdown”)形式; prompt属性表示spinner列表上方的提示;android:spinnerMode=["dialog"|"dropdown"] android:prompt="请选择城市"但无论是dialog模式还是dropdown模式,在Java里
Android检测并自动下载安装包上一篇文章《学习|Android使用TTS语音合成》我们学习了Android用TTS语音合成播放声音,其中因为要播放中文,所以需要下载讯飞的语音合成包,项目应用中的话如果让用户自己寻找并下载太麻烦,所以为了增加用户体验,这一篇我们就研究一下怎么检测是否需要下载安装包,如果需要并自动下载。实现效果实现思路1.  初始化TTS之前,先检测讯飞语
转载 2024-03-01 11:50:13
62阅读
下载地址
原创 2022-06-07 17:20:16
959阅读
作者:Ahmad El-Melegy在Kotlin 1.4.20-M2中,JetBrains废弃了Kotlin Android Extensions编译插件。其实这是早就预料到的,你可以在这次提交中看到详情。kotlinx.android.synthetic不再是一个推荐的做法。删除了显式的findViewById。但为什么呢?kotlinx的合成属性存在一些众所周知的问题。它公开了以view的i
转载 5月前
30阅读
前言在上一篇中,主要是了解性的初探了Kotlin,发现了与Java还是有明显的区别的。在这一篇中将会重点以Kotlin对应的Null与异常进行详解。1. Null类型如图所示在我们定义变量的时候,如果没有赋初始值,那么编译器就会直接提示语法错误!当你准备直接赋初始值为null的时候,又会提醒你Show usages of variable 'name'。其实这个是Kotlin的特性之一。就是为了避
转载 2024-08-14 22:20:25
0阅读
首先说 空 这件事,空 :One of the most common pitfalls in many programming languages, including Java is that of accessing a member of a nullreferences, resulting in null reference exceptions. In Java this would
转载 7月前
12阅读
原文发表于2016-10-31。Kotlin是什么?著名IDE厂商JetBrains开发的基于JVM的静态类型编程语言,声称100% interoperable with Java。Kotlin是由工程师设计的,各种细节设计非常切合工程师的需要。语法近似Java和Scala,且已活跃在Android开发领域,被誉为Android平台的Swift。Kotlin能与Jav
转载 2024-03-18 11:25:57
93阅读
在Android中,官方推荐和Jetpack架构组件一起使用(1)引入协程implementation ‘org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3’(2)引入Jetpack架构组件的KTX扩展对于 ViewModelScope,请使用 androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0
刷了两遍 Kotlin 语言中文站 的 Kotlin 语法,终于尝试在实际的开发环境中应用 Kotlin 进行 Android 开发,刚开始还不敢在逻辑操作类中应用,故选择较为简单的 View 类,即使这样,也会有很多坑需要掉填掉填…1、Android 开发时,很多变量是在 onCreate() 中初始化的,但由于Kotlin的空安全检查机制,如果我们不在定义处初始化,那么我们可以采用关键字 “l
转载 2023-07-06 14:43:25
205阅读
  Kotlin作为最近新生的一门语言,融入了很多语言的特性。下面教大家怎么在Eclipse中安装Kotlin插件进行编写Kotlin程序  打开Eclipse(Eclipse要求Neon 4.6.版本或者更高)。笔者使用的是4.6.1 版本。选择Help -> Eclipse Marketplace...  然后输入ko
原创 2017-06-13 20:35:36
4795阅读
2点赞
1评论
# Kotlin 和 Java 混编插件实现指南 ## 1. 前言 在Android开发中,Kotlin和Java的混编有助于逐步迁移现有的Java项目,同时也允许使用Kotlin的特性与Java的生态系统相结合。本文将指导你如何创建一个Kotlin与Java混编插件,帮助你更好地理解这一过程。 ## 2. 整体流程 以下是创建Kotlin和Java混编插件的步骤: | 步骤
原创 10月前
34阅读
文章目录一 创建虚构数据提供方二 在测试中断言数据流发出测试期间持续收集三 测试 StateFlow使用 stateIn 创建的 StateFlow 与数据流进行通信的单元或模块的测试方式取决于受测对象使用数据流作为输入还是输出如果受测对象观察到数据流,您可以在虚构依赖项中生成数据流,而这些可以通过测试进行控制如果单元或模块公开了数据流,您可以读取并验证测试中的数据流所发出的一个或多个数据项一
在昨天和做android的前辈一番交谈后,觉得很惭愧,许多东西还只是知其然而不知其所以然,也深感自己的技术还太浅薄。以后要更加努力地学习,要着重学习原理、方法论,不能只停留在会用的阶段。今天又要献丑分享一些关于使用Kotlin这门新兴的编程语言的一些要注意的地方。因为上一个项目全部使用了kotlin,算是给后面接手的朋友的一份交接文档吧。先分享三篇文章:Kotlin for android dev
转载 2024-10-10 14:20:20
119阅读
Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。包声明:代码文件的开头一般为包的声
本文详细实现增量更新流程涉及知识点1.kotlin基本使用 2.NDK的使用 3.ubuntu使用 4.基本命令操作准备工作1.下载资源文件 bzip2源码下载地址 –> http://www.bzip.org/ Binary diff/patch utility下载地址 — > http://www.daemonology.net/bsdiff/ 2.需要ubuntu环境
1. 前言使用ViewBindingPropertyDelegate或Binding、ViewBindingKTX等第三方库,可以简化Android ViewBinding的使用。比如常规的ViewBinding代码private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState:
前言本章将会讲解Kotlin 使用命令行编译目录Kotlin 使用命令行编译SDKMAN!HomebrewMacPorts创建和运行第一个程序hello.kt编译成库运行 REPL(交互式解释器)使用命令行执行脚本Kotlin 使用命令行编译Kotlin 命令行编译工具下载地址:https://github.com/JetBrains/kotlin/releases/tag/v1.1.2-2,目前
转载 2023-08-09 13:15:56
174阅读
# Android Kotlin 插件及其版本概述 在Android开发中,Kotlin已经成为一种主流语言,Google也对此给予了全力支持。为了确保开发者能够高效、安全地使用Kotlin,Android Studio提供了相应的Kotlin插件。了解这些插件及其对应的版本对于开发者的工作至关重要。 ## Kotlin插件的作用 Kotlin插件通过在Android Studio中提供对K
原创 2024-10-22 04:18:11
799阅读
# Kotlin转Java插件 ## 简介 Kotlin是一种基于Java的静态类型编程语言,由JetBrains开发。它具有与Java兼容的语法,并且提供了许多新特性和功能,使得编写代码更加简洁、可读性更高。然而,在某些情况下,我们可能需要将Kotlin代码转换为Java代码,例如与遗留系统集成或与其他Java项目合作。为了简化这个过程,我们可以使用"idea kotlin转java插件",
原创 2023-12-26 05:07:21
260阅读
  • 1
  • 2
  • 3
  • 4
  • 5