作者:Tony沈哲  背景最近我们在做区块链相关的钱包项目,新的App使用全新的技术栈。在Android中我们使用Kotlin+RxJava+Android Architecture Components,在iOS中使用Swift+RxSwift。本文不讨论App的架构,只讨论项目中所使用到的Kotlin的特性。在Android的App中,可以毫不夸张地说,我们95%以上的代码使用了Ko            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-05 08:43:53
                            
                                27阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            如果想要在一个非挂起(suspend)方法中调用协程,则需要使用launch或async方式。launch和async对比相同点:launch 和 async 构建器都可以用于异步执行任务。 它们都可以在协程上下文中启动一个新的协程,并且该协程的执行是异步的,不会阻塞当前线程。launch的join()方法、async的await()方法会阻塞当前协程体, 但不会阻塞当前线程。Deferred 继            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-10 23:14:23
                            
                                344阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Android Kotlin 异步任务详解
在现代Android应用开发中,异步任务至关重要。特别是在处理网络请求、文件输入输出等耗时操作时,异步任务能够提升用户体验,避免界面卡顿。这篇文章将带你深入了解Android中如何通过Kotlin来实现异步任务,确保你的应用流畅并响应迅速。
## 什么是异步任务
异步任务是指在后台线程中执行的操作,通常与主线程(UI线程)并行运行。由于Andr            
                
         
            
            
            
            在 Android 开发中,处理任务的顺序和执行是至关重要的,尤其是使用 Kotlin 语言时。本文将对此进行深入探讨,重点是如何建立一个有效的“Android Kotlin 任务队列”系统,以及如何在实际开发中实现它。
## 背景描述
在移动应用开发中,异步任务的处理变得越来越重要。对于Android开发者而言,管理这些任务的顺序和调度不仅可以提高应用性能,还可以改善用户体验。有时,多个任务            
                
         
            
            
            
            引例:private suspend fun intValue1(): Int {
    delay(1000)
    return 1
}
private suspend fun intValue2(): Int {
    delay(2000)
    return 2
}
fun main() = runBlocking {
    val elapsedTime = measu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-27 11:00:17
                            
                                93阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.协程是什么?线程框架。【更方便】协程就是launch里面的代码。2.挂起谁?挂起协程。launch创建的协程在执行到某一个suspend函数挂起函数的时候,这个协程会被suspend(被挂起)3.从哪儿挂起?从当前线程挂起。这个协程从正在执行它的线程上脱离了。不是这个协程停下来了而是协程所在的线程从这行代码开始不再运行这个协程了。线程和协程分2波走了。4.分离后的线程做什么?协程的代码块在线程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-05 23:00:58
                            
                                109阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Android 每天周期任务的实现与示例
在Android开发过程中,我们经常会遇到需要定时执行任务的场景,比如每天定时发送数据、定时更新应用内容等。Android提供了多种方式来实现周期性任务,本文将介绍如何使用`WorkManager`来实现每天的周期任务,并给出具体的代码示例。
## 1. 准备工作
首先,确保你的项目中已经添加了`WorkManager`的依赖。在`build.g            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-17 10:42:45
                            
                                175阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何在Android中实现每天定时任务
在Android开发中,实现定时任务的方法有很多,但最常用的方式之一是使用 `AlarmManager`。本文将详细讲解如何在Android中实现每天定时任务的流程,并逐步介绍每个步骤所需的代码及其解释。
## 实现流程
下面是实现“每天定时任务”的基本流程:
```mermaid
flowchart TD
    A[开始] --> B[创建B            
                
         
            
            
            
            # 在Android中每天定时启动任务
在日常开发中,我们常常需要在特定的时间或者周期性地执行一些任务,比如每天定时发送一条消息、更新天气信息等。Android提供了多种方式实现定时任务,其中最常用的就是使用`AlarmManager`和`JobScheduler`。本文将重点介绍如何利用`AlarmManager`来实现每天定时启动任务。
## 什么是AlarmManager?
`Alar            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-08-30 05:09:06
                            
                                263阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言本篇解析Kotlin/JVM中的协程的实现原理。初看suspend关键字下面的例子模拟一个网络请求: class Temp {
    suspend fun fetchData(argument: String): Boolean {
        val result = netRequest(argument)
        return result == 0
    }            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 01:51:43
                            
                                205阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            什么是“异步数据流”?它在什么业务场景下有用武之地?它背后的原理是什么?读一读 Flow 的源码,尝试回答这些问题。同步 & 异步 & 连续异步同步和异步是用来形容“调用”的:同步调用:当调用发起者触发了同步调用后,它会等待调用执行完毕并返回结果后才继续执行后续代码。显然只有当调用者和被调用者的代码执行在同一个线程中才会发生这样的串行执行效果。异步调用:当调用发起者触发了异步调用后            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-15 17:45:23
                            
                                808阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言kotlin 版由于几年前对于kotlin还不熟悉,许多地方不规范 该仿的项目为原项目的kotlin版,由于本人水平有限,有些kotlin写法不规范,后期会逐步完善,和原开源项目一样采用mvp+dagger2+rxjava2作为整体框架,而网络请求采用okhttp3+retrofit2。原先转成rxkotlin,不过转的转的直到遇到map,死活报错,不允许返回any,只好换回去了。至于mvp,            
                
         
            
            
            
            本文将展示如何轻松高效地使用Kotlin协程写出异步代码。首先,在Java中,异步编程有哪些问题?写异步代码很复杂把命令式风格的代码转为异步代码很麻烦,反之亦然这是Java异步代码示例:CompletableFuture.supplyAsync(() -> 0)
       .thenApply(i -> { logger.info("First step: {}", i); ret            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-26 23:52:44
                            
                                126阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在android中,有主线程和子线程,子线程不能操作ui来改变。目前,我们不考虑用户界面问题和线程通信问题,我们将跟随成都seo技术频道的步伐来了解Android中定期执行任务的三种实现方法。在安卓开发中,有三种方法来定期实现任务:1,使用处理程序和线程睡眠(长)方法(不推荐,Java实现)2,使用处理程序的后延迟(可运行,长)方法(最简单的安卓实现)3,使用处理程序与定时器和定时器相结合的方法(            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-23 13:57:13
                            
                                540阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## Android 每天8点做任务的实现
在今天的文章中,我们将学习如何在 Android 应用中实现一个简单的任务调度功能,让你的应用每天在早上8点自动执行某项任务。下面,我们将通过步骤流程和代码示例带你一步步完成这一功能。
### 任务的实现流程
| 步骤 | 描述                             |
|------|----------------------            
                
         
            
            
            
            Android 程序的定时任务主要有AlarmManager、WorkManager两种。一、AlarmManagerAlarmManager,又称闹钟,可以设置一次性任务,周期重复任务,定时重复任务。 AlarmManager 通过 PendingIntent 传递要执行的任务程序,可以是广播、跳转页面、后台服务、前台服务等。1、PendingIntent介绍本节参考文章:https://zhu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 15:48:46
                            
                                908阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Kotlin之边学边分析什么是委托模式?以及委托模式的原理和使用场景koltin中声明的成员属性或者超类不在当前类中去实现,而是交给其他类去完成,叫做委托,使用by关键字来实现。 其使用场景适合那些需要复杂计算并且可以重复使用的场景lazy懒惰性委托lazy委托模式不会在声明时就计算好值,而是在第一次使用时才会计算值;并且以后也是用这个计算好的值;lazy(() -> t)参数是一个高阶函数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 23:08:11
                            
                                112阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            什么是KotlinKotlin,它是JetBrains开发的基于JVM的面向对象的语言。2017年的时候被Google推荐Android的官方语言,同时Android studio 3.0正式支持这门语言,在这个编译器上创建一个Kotlin项目,非常方便,甚至可以Java转为Kotlin。我主要是在通过实现自定义View过程中,说一下Kotlin与Java的异同,其实两者非常相似对Kotlin语法            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-26 12:47:29
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文需要读者对协程有基础的了解,关于协程的使用,可以参考官方教程:[[play .kotlinlang.org/hands-on/In…](( “https://play.kotlinlang.org/hands-on/Introduction%20to%20Coroutines%20and%20Channels/01_Introduction%5D(”)play.kotlinlang.org/h            
                
         
            
            
            
            一、首先看官方文档的讲解:  调度重复的闹钟:   闹钟(基于AlarmManager类)给予你一种在应用使用期之外执行与时间相关的操作的方法。你可以使用闹钟初始化一个长时间的操作,例如每天开启一次后台服务,下载当日的天气预报。闹钟具有如下特性:允许你通过预设时间或者设定某个时间间隔,来触发Intent;  你可以将它与BroadcastReceiver相结合,来启动服务并执行其他操作;  可在应            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-16 14:59:11
                            
                                712阅读