本人水平有限,文章中如果出现什么不正确或者模糊的地方,还请各位小伙伴留下评论,多多指教 : ) Http概述什么是HttpHttp基本工作流程HttpUrlConnection小栗子1_通过WebView加载网页小栗子2_下载网络图片并显示 Http概述什么是Http采用知识点的形式,个人认为会更加高效直观一点。 - HTTP,即超文本传输协议 - 它定义了浏览器(客户端的一种),如何向服务器
本文是介绍 Android 协程系列中的第二部分,这篇文章主要会介绍如何使用协程来处理任务,并且能在任务开始执行后保持对它的追踪。
保持对协程的追踪本系列文章的第一篇,我们探讨了协程适合用来解决哪些问题。这里再简单回顾一下,协程适合解决以下两个常见的编程问题:处理耗时任务 (Long running tasks),这种任务常常会阻塞住主线程;保证主线程安全 (Main-safety),
转载
2024-03-10 15:16:17
85阅读
前言在Kotlin协程(后简称协程)出来之后,颠覆了我们很多工具类的封装方式,大大简化了我们很多api的调用,并且使异步操作逻辑更清晰了其中一个很标志性的地方就属网络请求了,以前的网络请求方式声明很麻烦,请求和响应也很麻烦,总结一句话就是啰嗦且易出错ps:最终的使用方式示例:使用网络请求的进化过程:1.从一开始的HttpURLConnection的一把梭,直接一个请求写一串代码(代码太多就不写了)
转载
2024-06-12 09:42:05
68阅读
协程是一个并发方案。也是一种思想。
传统意义上的协程是单线程的,面对io密集型任务他的内存消耗更少,进而效率高。但是面对计算密集型的任务不如多线程并行运算效率高。
不同的语言对于协程都有不同的实现,甚至同一种语言对于不同平台的操作系统都有对应的实现。
我们kotlin语言的协程是 coroutines for jvm的实现方式。底层原理也是利用java 线程。
转载
2024-02-02 16:39:04
30阅读
简介在项目中使用一段时间协程后,确实能体会到协程对于异步回调的简化,让我觉得最方便的是,作为调用方时无需关心应该使用哪个线程来执行函数,通常写函数时就可以定义好线程。协程是Google官方推荐的Android异步编程解决方案,具有轻量,内存泄漏更少,内置取消支持,Jetpack集成等特点在网上收集了一些对于协程的解释:① 协程是轻量级线程可以换个说法,协程就是方法调用封装成类线程的API。方法调用
转载
2023-09-19 17:17:02
114阅读
Android系统中本身是有下载机制的,比如浏览器使用的DownloadManager。可遗憾的是,DownloadManager只提供给浏览器使用,一般的应用程序没法调用它。 另外,如果下载调用频繁的话,使用DownloadManager其实是很没有效率的做法。为了解决这些问题,我想我们最好的办法就是自己实现下载,本文就是基于HTTP协议的下载的一些简单介绍。
一、HTTP协议简介
HTTP
转载
2023-07-14 11:00:36
56阅读
一、进程和线程,协程简单对比1.1 进程和线程进程是Windows系统中的概念,包含着运行一个程序所需要的基本资源。一个正在运行的应用程序在操作系统中被视为一个进程(是系统进行资源分配和调度的单位),进程可以包括一个或多个线程(通过CPU调度和分派线程,这些线程共享进程资源)。1.2 线程和协程Unity是单线程(没用多线程概念,可以写成多线程thread,但是只有主线程才能访问Unity3D的对
转载
2023-09-28 01:03:54
82阅读
# 在 Android 中实现协程并行请求
在现代 Android 应用开发中,协程是一种非常有用的工具,可以帮助我们实现更高效的异步编程。当我们需要并行请求多个网络服务时,协程特别适合。这篇文章将指导你如何在 Android 中使用 Kotlin 协程并行发起网络请求。
## 1. 整体流程
我们首先从整体流程开始。以下是实现协程并行请求的步骤:
| 步骤 | 描述 |
| ---- |
'''
协程
协程是实现并发编程的一种方式, 协程通过 async/await 语法进行声明,是编写异步应用的推荐方式
async 修饰词声明异步函数,于是,这里的 crawl_page 和 main 都变成了异步函数。
print(crawl_page('')): 调用异步函数,我们便可得到一个协程对象(coroutine object)
await 调用可等待对象, 可等待对象有三种主
如果你需要访问多个服务来完成一个请求的处理,比如实现文件上传功能时,首先访问 Redis 缓存,验证用户是否登录,再接收 HTTP 消息中的 body 并保存在磁盘上,最后把文件路径等信息写入 MySQL 数据库中,你会怎么做?首先可以使用阻塞 API 编写同步代码,直接一步步串行即可,但很明显这时一个线程只能同时处理一个请求。而我们知道线程数是有限制的,有限的线程数导致无法实现上万级别的并发连接
转载
2023-12-04 19:14:15
147阅读
问题抛出:协程如何退出呢?常规退出:一个协程启动后,大部分情况需要等待里面的代码执行完毕,然后协程会自行退出。通知提前退出:1.定义一个全局变量,其他地方可以通过修改这个变量发出停止该协程的通知。然后在协程中先检查这个变量,如果发现被通知关闭就停止监控,退出当前协程。但是这种方法需要通过加锁来保证多协程下并发的安全。2.用 select+channel 做检测func main() {
v
转载
2024-05-28 10:05:54
104阅读
# Android 协程网络封装

## 引言
在Android开发中,网络请求是一个常见的需求。而在网络请求中,处理异步操作和线程切换是非常繁琐的。为了解决这个问题,Google在Kotlin语言中引入了协程(Coroutines)的概念。协程是一种轻量级的线程,可以简化异步编程的复杂性。本文将介绍如何使用协程来封装网络请求。
## 协程介绍
原创
2023-11-18 14:40:12
140阅读
这篇是许久之前初学协程之时整理的笔记,今天偶然翻到便整理成md发出来。现在的我真的越来越难总结出这么多又臭又长的东西了。协程定义官方描述:协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关事件、在不同线程(甚至不同机器)上调度执行,而代码则保持如同顺序执行一样简单。协程与线程的区别协程是编译器级别的
官网介绍:https://developer.android.com/kotlin/coroutines一、协程的概念协程(Coroutines)是一种并发设计模式,可以在 Android 平台上使用它来简化异步执行的代码。 协程是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念。在 Android 上,协程有助于管理长时间运行的任务.二、协程的特点协程是在 Android
转载
2023-09-11 21:44:05
170阅读
前言大家好,我是小益!在上章内容中,我们简单了解了什么是协程以及协程的基本使用,主要提到了协程的launch与withContext用法。但是launch与withContext并不适合用于需要返回结果的并发场景,在并发场景中,我们一般会使用协程的async/await。推荐文章将率先在公众号「Code满满」上发布,欢迎大家关注!一、async与awiatasync单单从字面意思理解就知道其与异步
转载
2023-07-28 00:03:15
257阅读
一:协程是什么?协程基于线程,是轻量级的线程 coroutine = cooperation+routine 难度在哪里? 1,java中不曾出现,新概念 2,概念不清晰 3,Kotlin基础不扎实 4,多线程基础太薄弱二:在android中协程用来解决什么问题?1,处理耗时任务,这种任务常常会阻塞主线程 2,保证主线程安全,确保安全的从主线程调用任何suspend函数(挂起函数) 异步任务已经过
转载
2023-12-20 17:35:55
130阅读
文章目录一、协程概念二、协程作用三、创建 Android 工程并进行协程相关配置1、创建 Android 工程2、配置协程环境3、布局文件4、异步任务代码示例5、协程代码示例6、完整代码示例四、异步任务与协程对比 一、协程概念协程 Coroutine 是 Kotlin 语言 中新出现的概念 , 在 Java 语言中没有
原创
2022-11-26 07:26:05
402阅读
Android之网络请求1————HTTP协议一.目录 文章目录Android之网络请求1————HTTP协议一.目录二.http协议简介2.http的工作原理3.http的特点三.http协议的响应步骤1. 建立TCP连接2. Web浏览器向Web服务器发送请求命令3. Web浏览器发送请求头信息4.Web服务器的应答5. web服务器发送应答头信息6. web服务器向浏览器发送数据7. web
转载
2023-12-05 23:40:29
131阅读
协程是一种解决方案,是一种解决嵌套,并发、弱化线程概念的方案。能让多个任务之间更好的协作,能够以同步的方式编排代码完成异步工作,将异步代码写的像同步代码一样直观。重点 协程的本质是方法的挂起与恢复:return + callback协程是什么:协程是可以由程序自行控制挂起、恢复的程序协程可以实现多任务的协作执行协程可以用来解决异步任务控制流的灵活转移协程的作用:协程可以让异步代码同步化协
转载
2023-07-03 21:27:19
2063阅读
目录
前言
Kotlin协程,现在已经成为了面试甚至是工作中一个非常火的东西。本人在刚开始了解Kotlin协程的时候,断断续续看了网上不少文章,用长篇大论把Kotlin协程描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来写一篇关于协程的文章,希望能够帮助大家能够更快的上手Kotlin协程第一章:设计思想与代码质量优化1、设计思想六大原则 2、三大设计模式 3、数据结构 4、算法第二章:程序性
转载
2023-07-01 17:37:01
218阅读