摘要: 协程 协程属于Kotlin中非常有特色的一项技术。 什么是协程? 它和线程是有点类似,可以简单地将它理解成一种轻量级的线程。我们之前所学习的线程是非常重量级的,它需要依靠操作系统的调度才能实现不同线程之间的切换。而使用协程却可以仅在编程语言的层面就能实现不同协程之间的切换,从而大大提升了并发编程的运 阅读全文
posted @ 2022-03-16 00:06 PeacefulGemini 阅读(375) 评论(0) 推荐(0)
摘要: Retrofit构建器的最佳写法 学完了Retrofit基本用法,但是里面还有一个问题,就是获取Service接口的动态代理对象比较麻烦。大致代码如下: val retrofit = Retrofit.Builder() .baseUrl("http://10.0.0.2/") .addConver 阅读全文
posted @ 2022-03-15 23:15 PeacefulGemini 阅读(159) 评论(0) 推荐(0)
摘要: Retrofit基本用法 最好用的网络库:Retrofit。它和OkHttp的定位完全不同,OkHttp侧重的是底层通信的实现,而Retrofit侧重的是上层接口的封装。 Retrofit就是Square公司在OkHttp的基础上进一步开发出来的应用层网络通信库,使得我们可以用更加面向对象的思维进行 阅读全文
posted @ 2022-03-15 21:11 PeacefulGemini 阅读(293) 评论(0) 推荐(0)
摘要: 网络请求回调的实现方式 虽然掌握了HttpURLConnection和OkHttp的用法,但是发送HTTP请求的代码基本是相同的,所以我们需要将这些通用的网络操作提取到一个公共的类里,并提供一个通用方法: HttpURLConnection的写法 object HttpUtil { fun send 阅读全文
posted @ 2022-03-15 16:54 PeacefulGemini 阅读(505) 评论(0) 推荐(0)
摘要: 解析JSON格式数据 比起XML,JSON的优势是体积更小,在网络传输上更省流量。缺点就是语义性较差。 开始学习之前,先新建一个get_data.json文件,里面编写JSON格式的内容: [{"id":"1","verison":"1.0","name":"shufu"}, {"id":"2"," 阅读全文
posted @ 2022-03-15 16:06 PeacefulGemini 阅读(355) 评论(0) 推荐(0)
摘要: 解析XML格式数据 解析XML格式的数据有很多种,这里学习比较常用的两种:Pull解析和SAX解析。 比如目前在本地服务器中有如下内容的get_data.xml文件: <apps> <app> <id>1</id> <name>shufu</name> <version>1.0</version> 阅读全文
posted @ 2022-03-15 12:31 PeacefulGemini 阅读(565) 评论(0) 推荐(0)
摘要: 使用OkHttp 有许多出色的网络通信库可以代替原生的HttpURLConnection,OkHttp尤其出色。 添加依赖 在使用OkHttp之前,需要在项目中添加依赖: implementation 'com.squareup.okhttp3:okhttp:4.1.0' 上述依赖会下载两个库:一个 阅读全文
posted @ 2022-03-14 22:04 PeacefulGemini 阅读(280) 评论(0) 推荐(0)
摘要: WebView的用法 作用 在应用程序中展示网页。 实现 我们需要在xml布局文件中添加一个WebView控件。 然后修改MainActivity中的代码,如下所示: val webView = findViewById<WebView>(R.id.webView) webView.settings 阅读全文
posted @ 2022-03-14 21:39 PeacefulGemini 阅读(363) 评论(0) 推荐(0)
摘要: 对泛型进行实化 Java中是没有泛型实化这个概念的,不过为了深刻理解泛型实化,还需要了解一下Java的泛型擦除机制。 在JDK 1.5之前,Java是没有泛型功能的,那个时候诸如List之类的数据结构可以存储任意类型的数据,取出数据时也要手动向下转型,不仅麻烦,还很危险。于是在JDK 1.5中,Ja 阅读全文
posted @ 2022-03-14 18:48 PeacefulGemini 阅读(326) 评论(0) 推荐(0)
摘要: Service是什么 是Android中实现程序后台运行的解决方案。 注意:Service并不是运行在一个独立的进程当中的,而是依赖于创建Service时所在的应用程序进程。当某个应用程序进程被杀掉时,所有依赖于该进程的Service也会停止运行。 实际上Service并不会自动开启线程,所有的代码 阅读全文
posted @ 2022-03-14 14:14 PeacefulGemini 阅读(209) 评论(0) 推荐(0)
回顶部