首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Compose 新闻App(一)网络框架搭建

    Compose 新闻App(一)网络框架搭建 前言 正文 一、项目创建 二、依赖配置 三、数据API 四、网络框架构建 五、项目配置 六、网络请求 七、源码 前言   要去学习新的知识,光是简单的使用还是不够的...这里我们就拿到了返回的数据,通过返回的数据去构建Kotlin的Data类。...使用协程 suspend fun getEpidemicNews() = service.getEpidemicNews().await() /** * Retrofit网络返回处理...这里简化了Retrofit回调的写法,这里定义了一个await()函数,它是一个挂起函数,我们给它声明了一个泛型T,并将await()函数定义成了Call的扩展函数,这样所有返回值是Call类型的...Retrofit网络请求接口都可以直接调用await()函数了。

    2.7K20

    【Android】Retrofit 2.0 的使用一、概述二、原理二、使用

    一、概述 Retrofit是Square公司开发的一个类型安全的Java和Android 的REST客户端库。...来自官网的介绍: A type-safe HTTP client for Android and Java Rest API是一种软件设计风格,服务器作为资源存放地。...依赖于okhttp,所以需要集成okhttp API返回的数据为JSON格式,在此我使用的是Gson对返回数据解析 添加权限 由于是网络请求,需要在manifest中添加网络请求的权限 <uses-permission...网络请求Service,@Path、@Query、@QueryMap 创建访问API的请求(核心用法三) NewsService api = retrofit.create(NewsService...Tips: 当返回结果错误,调用response.errorBody().string();可以得到String类型的请求结果,但再次调用response.errorBody().string();得到的结果为

    2.2K50

    Android:Retrofit 与 RxJava联合使用大合集(含实例教程)!

    前言 在Andrroid开发中,网络请求十分常用,而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 ?...Retrofit之所以作为现在最流行的网络请求库,其中一个主要原因是:支持RxJava。Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。...发送网络请求(区别于传统形式) 发送网络请求 对返回的数据进行处理 本实例侧重于说明 RxJava 的线程控制,关于Retrofit的使用请看文章:这是一份很详细的 Retrofit 2.0 使用教程..."/> 步骤2:创建 接收服务器返回数据 的类 金山词霸API 的数据格式说明如下: // URL模板 http://fy.iciba.com/ajax.php // URL实例 http://fy.iciba.com...根据 金山词霸API 的数据格式,创建 接收服务器返回数据 的类: Translation.java public class Translation { private int status;

    4.1K20

    Retrofit2.0通俗易懂的学习姿势,Retrofit2.0 + OkHttp3 + Gson + RxJava

    前面的baseUrl我们等一下直接定义,后面的,我们才是定义接口,我现在不需要返回值,所以我直接传了一个ResponseBody,而上面,我用GET请求,直接请求了api/data/Android/10...GnakApi api = retrofit.create(GnakApi.class); 这里虽然是返回一个GnakApi,但是通过源码我们知道,这里的create实际上是通过代理的方式拿到的,可以看下...,他返回的就是一个Call Call call = api.getAndroidInfo(); 到这里,你会很奇怪,我去,怎么和okHttp这么像啊,如果单纯从简单请求来看,...import retrofit2.Call; import retrofit2.http.GET; public interface GnakApi { @GET("api/data/Android...= retrofit.create(PostApi.class); 这里我们需要增加addCallAdapterFactory为我们后面的Rx做准备,然后我们调用两次 api.login("liuguilin

    1.7K60

    Carson带你学Android:RxJava、Retrofit联合使用汇总(含实例教程)

    前言 在Andrroid开发中,网络请求十分常用,而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 Retrofit之所以作为现在最流行的网络请求库,其中一个主要原因是:支持...Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。...基础使用 下面,我将采用最基础的 Retrofit + RxJava 实现 网络请求 的功能 4.1 功能说明 实现功能:将中文翻译成英文 - > 显示到界面 实现方案:采用Get方法对 金山词霸API...添加 网络权限 AndroidManifest.xml android:name="android.permission.INTERNET"/> 步骤2:创建 接收服务器返回数据...下面展示的是结合 Retrofit 与 RxJava的基本用法,即未用操作符前 // 发送注册网络请求的函数方法 private void register() { api.register

    1.4K21

    源码解析: Retrofit2.5

    引言   Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,我们查看 invoke 可以发现:底层基于OkHttp实现的 ,相比其他网络请求框架...数据解析器工厂集合 callbackExecutor 回调执行,Android平台默认为MainThreadExecutor Platform Retrofit中用来管理多平台的方法,支持Android...建造者模式 Retrofit对象的创建、ServiceMethod对象创建都使用Build模式,将复杂对象的创建和表示分离,调用者不需要知道复杂的创建过程,使用Build的相关方法进行配置创建对象。...动态代理模式 通过动态代理的方式,当调用Retrofit的create()方法时,会进行动态代理监听。当执行具体的接口方法时,会回调InvocationHandler。...适配器模式 CallAdapter的adapt采用了适配器模式,使得interface的返回对象可以动态扩展,增强了灵活性 CallAdapter的种类 Converter种类 Retrofit支持多种数据解析方式

    78700

    【Android 逆向】Android 进程注入工具开发 ( 远程调用 | x86 架构的返回值获取 | arm 架构远程调用 )

    文章目录 前言 一、x86 架构的返回值获取 二、ARM 架构远程调用 前言 在之前的博客 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 远程 目标进程 中的 /...system/lib/libc.so 动态库中的 mmap 函数地址 ) 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的...mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 ) 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap...; 一、x86 架构的返回值获取 ---- 远程调用 返回值获取 : 在 x86 架构的 CPU 中 , 使用 EAX 寄存器记录返回值 , 在 ARM 架构的 CPU 中 , 使用 R0 寄存器记录返回值...; 远程调用结束后 , 获取寄存器数据 , 并读取 EAX 寄存器值 ; 如果远程调用的函数的返回值为 void , 那么 EAX 寄存器存放的就是无意义的值 , 可能是上一个函数的返回值 , 可能是计算过程中的一个中间值

    49820

    Novate 一款Android RxStyle的网络框架

    去年我写了一个Android网络框架Novate, 基于Retrofit和RxJava封装的链式网络框架, 支持okhttp的调用分格,又兼容Retrofit注入方式,并支持RxJava调用的链式操作...扩展性强:支持自定义的Retrofit的API,默认Api无法满足时可自定义自己的Service 悠雅方便:支持统一请求访问网络的流程控制,以方便帮你完美加入Processbar进度。...RxGet 进行get方式的请求调用,多种返回结果的方式供你选择,返回不同的数据类型参考请看原文链接RxCallBack的介绍。...Api 姿势 Novate默认的API让你不爽时,Novate同样支持你自己Retrofit的ApiService。...定义APi 同Retrofit的Api 新建MyApi public interface MyApi { @GET("url") Observable getdata(@QueryMap

    98720

    Android RxJava 实战系列:优雅实现 网络请求嵌套回调

    前言 Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。 ?...具体实现 下面我将结合 Retrofit 与RxJava 实现网络请求嵌套 3.1 步骤说明 添加依赖 创建 接收服务器返回数据 的类 创建 用于描述网络请求 的接口(区别于Retrofit传统形式)...创建 Retrofit 实例 创建 网络请求接口实例 并 配置网络请求参数(区别于Retrofit传统形式) 发送网络请求(区别于Retrofit传统形式) 发送网络请求 对返回的数据进行处理 本实例侧重于说明...添加 网络权限 AndroidManifest.xml android:name="android.permission.INTERNET"/> 步骤2:创建 接收服务器返回数据...根据 金山词霸API 的数据格式,创建 接收服务器返回数据 的类: 为了演示是2个网络请求,所以对应设置2个接收服务器的数据类 public

    2.2K30

    Android RxJava应用:优雅实现网络请求嵌套回调

    前言 Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。...下面展示的是结合 Retrofit 与 RxJava的基本用法,即未用操作符前 // 发送注册网络请求的函数方法 private void register() { api.register...具体实现 下面我将结合 Retrofit 与RxJava 实现网络请求嵌套 3.1 步骤说明 添加依赖 创建 接收服务器返回数据 的类 创建 用于描述网络请求 的接口(区别于Retrofit传统形式)...创建 Retrofit 实例 创建 网络请求接口实例 并 配置网络请求参数(区别于Retrofit传统形式) 发送网络请求(区别于Retrofit传统形式) 发送网络请求 对返回的数据进行处理 本实例侧重于说明...添加 网络权限 AndroidManifest.xml android:name="android.permission.INTERNET"/> 步骤2:创建 接收服务器返回数据

    1.2K20

    【Android】Retrofit2.0源码解析

    可以看到里面有Android、Java8、IOS。等下,怎会有IOS,什么鬼(为什么会有IOS就交给你去研究了)。 我们在Android上运行的话,就调用了return new Android()。...validateEagerly(标识):先不说,后面会用到 总:完成基本的配置,创建一个Retrofit对象 2.Service的创建以及接口的调用 我们创建了一个接口的实例,用于调用接口。...:Call工厂,负责创建 HTTP 请求 2、callAdapter:确定返回的retrofit2.Call类型(接口定义时的返回类型,例子中的Call); 3、responseConverter...:数据转换类型,负责将服务器返回的数据(Json、xml等各式)转换成我们需要用到的T类型的对象; 4、parameterHandlers:则负责解析 API 定义时每个方法的参数,并在构造 HTTP...拿着这个对象我们就可以发起请求了,不过Retrofit还要适配返回类型,所以还要下面这句代码。

    1.1K90

    Android RxJava应用:优雅实现网络请求轮询(无条件)

    前言 Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。...具体实现 下面我将结合 Retrofit 与RxJava 实现轮询需求 3.1 步骤说明 添加依赖 创建 接收服务器返回数据 的类 创建 用于描述网络请求 的接口(区别于传统Retrofit形式) 创建...Retrofit 实例 创建 网络请求接口实例 并 配置网络请求参数(区别于传统Retrofit形式) 发送网络请求(区别于传统Retrofit形式) 发送网络请求 对返回的数据进行处理 本实例侧重于说明...在 Gradle加入Retrofit库的依赖 build.gradle dependencies { // Android 支持 Rxjava // 此处一定要注意使用RxJava2的版本 compile...添加 网络权限 AndroidManifest.xml android:name="android.permission.INTERNET"/> 步骤2:创建 接收服务器返回数据

    93120
    领券