首页
学习
活动
专区
圈层
工具
发布

探索Android架构的DataLayer层(DataManager方式)具体实现

DataLayer获取在Android端无非是网络,本地数据库(Sqlite),本地文件(SharePreference,文件)。网络获取框架当然是现在火的不得了SSqure家的Retrofit。...accessToken : ""; } 首先这是个典型的单例对象,对于那些简单交互或者更直接的说法--获取单个对象而不是集合的应用场景就可以直接获取这个类去获得api...在ViewLayer层的Presenter中同样可以通过持有这个单例的引用来获取API接口。比如点赞、获取单个数据等。...4.数据获取基类BaseDataManager 在数据获取基类中通过持有保持用户状态的单例获取API并暴露出来给实现类来获取数据。...应用架构 从零开始的Android新项目5 - Repository层(上) Retrofit、Repository组装 从零开始的Android新项目6 - Repository层(下) Realm

77420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Carson带你学Android:这是一份详细的 Retrofit使用教程(含实例讲解)

    如果对Retrofit v2.0的源码感兴趣,可看文章:Android:手把手带你深入剖析 Retrofit 2.0 源码 Carson带你学Android开源库系列文章: Carson带你学Android...Android:网络请求库Retrofit使用教程 Carson带你学Android:网络请求库Retrofit源码分析 Carson带你学Android:图片加载库Glide使用教程 Carson...关于数据解析器(Converter) Retrofit支持多种数据解析方式 使用时需要在Gradle添加依赖 数据解析器 Gradle依赖 Gson com.squareup.retrofit2:converter-gson...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用的是 Android 默认的 CallAdapter,则不需要添加网络请求适配器的依赖...,否则则需要按照需求进行添加 Retrofit 提供的 CallAdapter 使用时需要在Gradle添加依赖: 网络请求适配器 Gradle依赖 guava com.squareup.retrofit2

    4.3K20

    Retrofit入门:打造Android类型安全的HTTP客户端

    今天我要介绍的Retrofit绝对是Android网络请求的一把利器!它不仅能让你的代码更加简洁优雅,而且还是类型安全的!!!什么是Retrofit?...Retrofit是Square公司开发的一个用于Android和Java的类型安全的HTTP客户端(这点超级重要)。它将HTTP API转换为Java接口,大大简化了网络请求的处理过程。...(Android会直接抛出NetworkOnMainThreadException)Retrofit注解详解Retrofit的强大之处在于其丰富的注解系统,让我们深入了解一下主要的注解:请求方法注解@GET...(WeatherService.class);// 获取伦敦的天气service.getCurrentWeather("London", "metric", API_KEY) .enqueue(new...无疑是Android开发中网络请求的最佳选择之一!

    29910

    Carson带你学Android:这是一份详细的 Retrofit使用教程(含实例讲解)

    如果对Retrofit v2.0的源码感兴趣,可看文章:Android:手把手带你深入剖析 Retrofit 2.0 源码 Carson带你学Android开源库系列文章: Carson带你学Android...Android:网络请求库Retrofit使用教程 Carson带你学Android:网络请求库Retrofit源码分析 Carson带你学Android:图片加载库Glide使用教程 Carson...关于数据解析器(Converter) Retrofit支持多种数据解析方式 使用时需要在Gradle添加依赖 数据解析器 Gradle依赖 Gson com.squareup.retrofit2...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用的是 Android 默认的 CallAdapter,则不需要添加网络请求适配器的依赖...,否则则需要按照需求进行添加 Retrofit 提供的 CallAdapter 使用时需要在Gradle添加依赖: 网络请求适配器 Gradle依赖 guava com.squareup.retrofit2

    2.7K10

    这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解) - 简书

    如果对Retrofit v2.0的源码感兴趣,可看文章:Android:手把手带你深入剖析 Retrofit 2.0 源码 目录 ? 简介 ?...将原始的结果交给 Retrofit,Retrofit根据用户的需求对结果进行解析 除了Retrofit,如今Android中主流的网络请求框架有: Android-Async-Http Volley...关于数据解析器(Converter) Retrofit支持多种数据解析方式 使用时需要在Gradle添加依赖 数据解析器 Gradle依赖 Gson com.squareup.retrofit2:converter-gson...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用的是 Android 默认的 CallAdapter,则不需要添加网络请求适配器的依赖...,否则则需要按照需求进行添加 Retrofit 提供的 CallAdapter 使用时需要在Gradle添加依赖: 网络请求适配器 Gradle依赖 guava com.squareup.retrofit2

    10.4K72

    Retrofit 解析

    代理模式 Retrofit使用了动态代理,用户编写接口,告诉Retrofit想要什么样的方法,Retrofit通过动态代理来生成实例对象。用动态代理,完成了从接口到实例对象的过程。...= 0) { //如果是Android平台,就返回Android对象       return new Android();     }   } catch (ClassNotFoundException...Executor 上执行回调     // 在Retrofit中提供了四种CallAdapterFactory: ExecutorCallAdapterFactory(默认) 、GuavaCallAdapterFactory...return create(new Gson());   }     @SuppressWarnings("ConstantConditions") // Guarding public API...(method, result);     }   }   return result; } public ServiceMethod build() { //根据请求网络接口的方法返回值的注解类型,从retrofit

    1.5K10

    这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)

    前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 ?...与其他开源请求库对比 除了Retrofit,如今Android中主流的网络请求框架有: Android-Async-Http Volley OkHttp 下面是简单介绍: ?...关于数据解析器(Converter) Retrofit支持多种数据解析方式 使用时需要在Gradle添加依赖 数据解析器 Gradle依赖 Gson com.squareup.retrofit2:converter-gson...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用的是 Android 默认的 CallAdapter,则不需要添加网络请求适配器的依赖...,否则则需要按照需求进行添加 Retrofit 提供的 CallAdapter 使用时需要在Gradle添加依赖: 网络请求适配器 Gradle依赖 guava com.squareup.retrofit2

    4.1K31

    RxJava +Retrofit 你需要掌握的几个实用技巧

    这种方式很适合从HttpClent迁移到Retrofit带来接口适配问题,一用一个准啊… 4 基础Subscriber 很多时候我们需要借用RxJava开启多个observable去读取网络,这是我们对不同...onCompleted() { //关闭等待进度条 closeLoadingProgress(); } } 这样我们上层调用时只关心成功和失败即可...我再次做了改进: ExceptionHandle 错误处理驱动 public class ExceptionHandle { private static final int UNAUTHORIZED = 401...注意:如果你不想将业务分发加到错误回调中,也可以这样做: 好比有的人喜欢将业务处理加到业务回调中,如果后台返回的业务码并不成功码的情况下, 不想走错误回调,也不想走成功回调, 想走直走业务回调。...是时候客观评价Retrofit了,这几点你必须明白 Android基于Retrofit2.0 封装的超好用的RetrofitClient工具类 你不知道的Retrofit缓存库RxCache 技术

    1.1K10

    Retrofit源码分析

    简单使用 定义HTTP API ? 创建Retrofit并生成API的实现 ? 调用API方法,生成Call ? 其中主要涉及的方法如下图所示: ?...它通过Class.forName获取类名的方式,来判断当前的环境是否在Android中,这在之后获取默认的CallAdapterFactory时候将会用到,对这个方法感兴趣的可以跟过去查看下,这里就不贴了...可以看到在build方法中,对CallAdapter与Converter进行了创建,这里跟踪之后将会回到retrofit类中,在其中将会获取对应列表中的第一个可使用的对象,之后将会对API的方法和参数注解进行解析...注解的解析 CallAdapter和Converter的创建比较简单,都是遍历retrofit中builder时设置的属性,获取第一个可使用的值作为结果。...;OkHttpCall执行请求,引入之前创建的converter、calladapter,最后将响应结果传入用户的回调中。

    54840

    Carson带你学Android:网络请求库Retrofit源码分析

    ,从Retrofit对象中获取该网络适配器返回的数据类型 responseConverter = createResponseConverter(); // 根据网络请求接口方法的返回值和注解类型...,从Retrofit对象中获取对应的数据转换器 -->关注点3 // 构造 HTTP 请求时,我们传递的参数都是String // Retrofit 类提供 converter...根据返回值类型和方法标注从Retrofit对象的的网络请求适配器工厂集合和内容转换器工厂集合中分别获取到该方法对应的网络请求适配器和Response内容转换器; // 2....>对象 // 该对象保存有一个Request内容转换器——根据参数的类型从Retrofit的内容转换器工厂集合中获取一个Request内容转换器或者一个String内容转换器。...,从Retrofit对象中获取对应的网络请求适配器 // 下面会详细说明retrofit.callAdapter() -- >关注点2 } ... retrofit.callAdapter

    1.6K20

    Retrofit是如何创建的?为什么要用动态代理

    Retrofit的出现让Android的网络请求变得异常简单,同时可以很好的配合后台的REST接口。非常值得我们去探究一下它的原理。...Retrofit的使用 通常我们是Retrofit是和Rxjava配合使用,这里我们不做用法上的过多研究,主要看原理,所以下面的代码都是Retrofit的自身API,没有用Rxjava。...在Retrofit中,内置了两种平台,一种是Android,一种是Java8。不同的平台,处理的方式不同。...总结 Retrofit在创建的过程中,有这么一些东西需要我们注意 platform 这个是Retrofit支持的平台,里面有Android和Java8,这里自然是Android callFactory...,这里是Android平台默认的MainThreadExecutor,使用Handler在主线程中处理回调。

    2.8K00

    Android:这是一份全面 & 详细的RxJava学习攻略

    带你学RxJava实战:功能防抖 Carson带你学RxJava实战:从磁盘/内存缓存中获取缓存数据 Carson带你学RxJava实战:联合判断 5....& Consumer的RxJava类型,可轻易在non-Rx api 和 Rx api 之间搭起桥梁,而不必要担心下游触发的终止状态(onComplete 或 onError) RxKotlin 将RxJava...、Retrofit联合使用汇总(含实例教程) Carson带你学Android:优雅实现网络请求嵌套回调 Carson带你学Android:网络请求轮询(有条件) Carson带你学Android...:网络请求轮询(无条件) Carson带你学Android:网络请求出错重连(结合Retrofit) Carson带你学Android:合并数据源 Carson带你学Android:联想搜索优化...Carson带你学Android:功能防抖 Carson带你学Android:从磁盘/内存缓存中获取缓存数据 Carson带你学Android:联合判断

    1.2K10

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

    前言 在Andrroid开发中,网络请求十分常用,而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 ?...Retrofit之所以作为现在最流行的网络请求库,其中一个主要原因是:支持RxJava。Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。...具体实现 具体请看文章:Android RxJava 实际应用讲解:(有条件)网络请求轮询 ---- 5.3 网络请求嵌套回调 背景 需要进行嵌套网络请求:即在第1个网络请求成功后,继续再进行一次网络请求...RxJava 实际应用讲解:网络请求嵌套回调 ---- 5.4 网络请求出错重连 需求场景 ?...功能说明 即,同时向2个服务器发送网络请求 ->> 获取数据 ->> 合并数据 ->> 统一展示到客户端 具体实现 具体请看文章:Android RxJava 实际应用讲解:合并数据源 至此,关于

    4.4K20
    领券