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

    Android网络编程(九)Retrofit2前篇

    前言 Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,而OkHttp现在已经得到Google官方认可,不了解OKHttp的请查看本系列的前作...响应信息: (json格式的)国家 、省(自治区或直辖市)、市(县)、运营商 3. 返回数据格式: ? 其中code的值的含义为,0:成功,1:失败。...2.用Retrofit异步访问网络 编写实体类 我们可以用JSON字符串转换成Java实体类(POJO)这个网站将Json转为实体类,经过修改的实体类如下: IpModel.Java: ?...IpData.java: ? 请求网络接口 ? Retrofit提供的请求方式注解有@GET和@POST等,分别代表GET请求和POST请求,我们在这里访问的界面是“getIpInfo.php”。...用retrofit创建我们之前定义的IpService接口对象,并调用该接口定义的getIpMsg方法得到Call对象。 用Call请求网络并处理回调 ?

    1.2K60

    Retrofit--合理封装回调能让你的项目高逼格

    Retrofit和Java领域的ORM概念类似, ORM把结构化数据转换为Java对象,而Retrofit 把REST API返回的数据转化为Java对象方便操作。同时还封装了网络代码的调用。...看了一些资料后大致了解到,Retrofit 2.0利用注解的形式将我们访问服务器的URL以及参数封装成了java对象,而OKHttp依旧去执行网络请求。...自定义响应体CallModel 很简单的实现了一个网络请求,当然我在刚开始的时候一直也都是这么使用的,因为Retrofit自己封装了JSON解析的过程,我们只需在建造Retrofit的时候加入addConverterFactory...最后分享几个不错的Retrofit博客吧: 你真的会用Retrofit2吗?Retrofit2完全教程 深入浅出 Retrofit,这么牛逼的框架你们还不来看看?...Android Retrofit 2.0 使用-补充篇

    1.6K10

    Java虚拟机值对象访问以及如何使用对象的引用(2)

    对象访问在 Java 语言中无处不在,是最普通的程序行为,但即使是最简单的访问,也会却涉及 Java 栈、 Java 堆、方法区这三个最重要内存区域之间的关联关系,如下面的这句代码: ?...既然java栈中的是对象的引用,那么我们如何使用对象那,主流的访问方式有两种:使用句柄和直接指针。...(1)使用句柄: 如果使用句柄访问方式, Java 堆中将会划分出一块内存来作为句柄池,reference 中存储的就是对象的句柄地址,而句柄中包含了对象实例数据和类型数据各自的具体地址信息,如图: ?...(2)直接指针 如果使用直接指针访问方式, Java 堆对象的布局中就必须考虑如何放置访问类型数据的相关信息, reference 中直接存储的就是对象地址,如图: ?...使用直接指针访问方式的最大好处就是速度更快,它节省了一次指针定位的时间开销,由于对象的访问在 Java 中非常频繁,因此这类开销积少成多后也是一项非常可观的执行成本。

    2.8K10

    Java对象转JSON时如何动态的增删改查属性

    put 系列方法 提供了将基本类型、null值、对象、数组、原始值添加到 JSON 的能力。...对象转 JSON 时新增字段 有时候我们定义的对象没有包含特定的字段,但是转成 JSON 时同样需要有额外的字段。...跟章节 2类似,,只不过提供的不再是 JSON 字符串而是 Java 对象: /** * @author felord.cn * @since 11:02 */ @Data public class...移除属性 无论是 JSON 字符串或者 Java 对象转 JSON 时,移除属性跟上面的思路一样,只需要调用remove方法即可,这里不再演示。 5....JsonNode JsonNode可以细粒度的访问 JSON 信息,提供了非常有用的 JSON 对象操作 API,但是很多人在有相关需求的时候并不能够想到它,所以你不需要具体的记住这些 API,只需要记住它可以操作

    3K31

    不可错过的几款GitHub开源项目

    本项目包含以下知识点: MVP架构思想 Retrofit RESTful API 框架的配合 RxJava 响应式编程 Butter Knife:通过注解绑定 View 夜间模式切换 效果图: ?...在实际项目中的应用,MVP中RxJava生命周期的管理…; 上述罗列的各种开源框架的使用方法; Java8 Lambda表达式和Stream API的用法; 怎样适配Material Design; ToolBar...; 如何快速开发一款结构清晰、可扩展性强的Android Application。...技术点: 全程使用 Dagger2 对项目进行类依赖管理 项目使用标准的 MVP 架构,关于 MVP 的一篇博客 实现对粘贴板的监听以及访问 无需权限显示悬浮窗(6.0悬浮窗权限适配) 使用 RxJava...探索函数式编程 使用 Retrofit2 进行网络请求 开机自启动 Android 6.0 自定义文本操作栏 效果图: ?

    1.9K20

    从零开始实现一个 mini-Retrofit 框架

    xianduGank ,目前两个请求方式都是 Get 其中xianduGank 需要传入 count 及 page参数分别表示每页数据的数据以及请求的页码,除此之外这两个网络请求都需要传入 一个Class对象表示响应的...,因为对项目的开发人员来说,更希望的是能够直接在Callback的success回调中直接得到响应的Json数据对应的JavaBean....package retrofit2; import java.lang.annotation.Annotation; import java.lang.reflect.InvocationHandler...转换库,这部分更希望交由开发者根据具体情况自由选择;因此我们可以对这部分做下抽象封装,提取成一个负责Json转换的接口 由应用层传入具体的实现. package retrofit2; import java.lang.reflect.Type...,如果不是,就在框架内部直接同步调用网络请求得到响应的Json内容后直接转换成JavaBean对象作为方法的返回值,但是这个设想存在这样几个问题 要实现直接返回Http结果则方法调用是同步调用,如果在主线程做

    2K10

    【转-干货】Retrofit2.0使用总结及注意事项

    Retrofit是由Square公司出品的针对于Android和Java的类型安全的Http客户端,如果看源码会发现其实质上就是对okHttp的封装,使用面向接口的方式进行网络请求,利用动态生成的代理类封装了网络接口请求的底层...Retrofit2通过OKHttp的拦截器拦截http请求进行监控,重写或重试等,包括日志打印等。...json字符串参数, 这个转化方式是GsonConverterFactory定义的。...最后来一张图看懂android内存结构,参考:Android文件存储使用参考 - liaohuqiu /** * | ($rootDir) * +- /data...内部存储中的$appDataDir是安全的,只有本应用可访问 * 外部存储中的$appDataDir其他应用也可访问,但是$filesDir中的媒体文件,不会被当做媒体扫描出来,加到媒体库中。

    5.5K30

    Android使用Flow检测版本升级自动下载安装

    upgrade.txt里面是一串JSON的数据,其中versionCode和versionName是android端的版本,appdownloadurl是APK的下载路径,所以真正的APK下载路径可以从这里再获取...添加虚拟目录,在Blazor中右键选择添加虚拟目录, 03 修改MIME类型 要实现通过网页直接访问我们创建的txt文件和android的.apk文件,需要在网站的MIME类型中进行修改 找到刚才的.../vnd.android 04 测试访问 添加完MIME类型后,重启一下IIS,来测试下是否可以成功了,Blazor的网站配置的端口为8027,由于是本机,所以网址直接是localhost 测试检测升级信息...# 整体介绍 1 网络通讯用的retrofit2 2 类的JSON用的GSON 3 下载时的状态显示更新用的kotlin Flow,这也是我第一次用Flow排坑也用了些时间,不过使用起来确实感觉简单好多...封装类 一个retrofitAPIManager类,基于retrofit2的http通讯类,这个是很久前用JAVA写的,就直接复制过来了 package dem.vaccae.autoupgradedemo.net

    1K30

    你真的会用Retrofit2吗?Retrofit2完全教程

    当然你也可以自己借助 json-server 或 最新开源的Parse 搭建一个REST API,不过都需要安装Node.js,有兴趣的可以去试试。 接口列表: ?...当然本篇文章会介绍得详细一点,不能写一篇水文,毕竟我给它命名为《你真的会用Retrofit2吗?Retrofit2完全教程》。...BlogService service = retrofit.create(BlogService.class); 拿到代理对象之后,就可以调用该方法啦。...1.3、接口调用 Call call = service.getFirstBlog(2); // 用法和OkHttp的call如出一辙, // 不同的是如果是Android系统回调方法执行在主线程...以上表格中的除HTTP以外都对应了HTTP标准中的请求方法,而HTTP注解则可以代替以上方法中的任意一个注解,有3个属性:method、path,hasBody,下面是用HTTP注解实现上面 Example01.java

    2.4K70

    Retrofit解析2之使用简介

    : A type-safe HTTP client for Android and Java 我简单翻译一下就是: 一个类型安全的、Android或者Java的客户端 通过使用注解去描述一个HTTP...在Retrofit2之前,OkHttp是一个可选的客户端。二Retrofit2中,Retrofit与OkHttp强耦合,使得更好地利用OkHttp,包括使用OkHttp解决一些棘手的问题。...(二)、application/json application/json 这个Content-Type作为响应头大家肯定不陌生。...(一)、如何使用Retrofit和okHttp封装multipart/form-data 1、在retrofit2中: 使用** @retrofit2.http.Multipart : 标记一个请求是...3、Service接口定义 假设服务器上传接口返回数据类型为application/json,字段如下 { data: {}, msg: "上传成功", code: 200 } 因此需要对返回数据封装成一个对象

    4.9K30

    Retrofit2与服务端实例讲解

    这样就造成了在学习 Retrofit2 的过程中,对某些参数的作用并不能直观感受到,所以这里我就尝试着用 Nodejs 搭建了一个本地服务器,提供了几个接口用于支持 Get、Post 模式访问调用,支持文件上传和文件下载功能...,返回的数据格式有 Json 对象和 Json 数组,需要的参数格式可以由使用者来自由定义 本篇文章不会对 Retrofit2 的用法进行过多介绍,重点在于介绍服务端接口的搭建以及 Retrofit2...name=leavesC&age=24 2.5、指定访问路径 还有一种在链接中加上访问参数的方式,即将访问参数做为链接实际的一部分 对应的客户端方法是 @GET("Get/getString/{...数组 之前的几种请求方式获取到的都是 Json 对象,此处来写一个返回的数据格式是 Josn 数组的接口,每个 Json 对象对应的是如下的 Java Bean /** * 作者:chenZY *...对象,则使用 EntityResponse,通过泛型传入实际的 Java Bean /** * 作者:chenZY * 时间:2018/5/26 15:11 * 描述: */ public class

    2K30

    Android 开发者应该知道的 Kotlin 技巧 | 码云周刊第 72 期

    虽然 Kotlin 正处于发展的初始阶段,但是它天生能与Java 100%互通,而且 Kotlin 自身也在不断成长与进步。在日新月异的互联网时代,开发者只有拥抱变化,才能走得更远。...而值得一提的是 Twobbble 完全使用 Kotlin 开发,并使用了 RxJava,Retrofit2,EventBus,Fresco,等多个常用第三方项目,会充分的证明了 Kotlin 在实际生产中的可靠与...Java to Kotlin 的过渡之平滑,如果你是初学 Kotlin,Twobbble 会是一个不错的学习对象。...Kotlin 的微服务框架 Cloudopt Next 项目简介:Cloudopt Next 是基于 Kotlin、Vertx 的一个面向下一代的极其轻量级的微服务框架,您可以处理 Url 的解析,数据的封装,Json...UI 布局,网络请求,数据解析,等各种 java 语言使用 kotlin 语言的写法,对 kotlin 语言开发 android 进行了一个初步总结....

    86040

    Android单元测试框架Robolectric3.0(二):数据篇

    (4)当你在写Android代码(比如网络请求和DB操作)的时候,是如何测试的?跑起来整个App,点了好几步操作后,终于到达要测试的功能,然后巨慢无比的Debug?...3 网络请求篇 关于网络请求,笔者采用的是retrofit2的2.0.0-beta4版本,api调用有很大的变化,请参考官方文档(http://square.github.io/retrofit/)。...相应的resonse json的文件可以存放在test/resources/json/下,如下图 ? 再次,定义Http Client,并添加拦截器: ?...的单例对象,测试代码如下: ?...另外有一点要注意的是,当我们测试多个test时,会抛出一个类似于这样的异常: java.lang.RuntimeException: java.lang.IllegalStateException:

    1.3K20

    Java 对象到底是如何创建的?类加载机制是什么?对象的内存布局和访问方式有哪些?

    本章基于类加载机制的深入解析,将详细讲解对象的创建、内存布局、访问方式及分配策略,帮助你从理论到实践全面掌握 JVM 对象管理的底层逻辑。...③ 在内存中生成一个代表这个类的 java.lang.Class 对象,作为方法区中这个类的各种数据的访问入口。...对象头结构示意图 对象访问方式 JVM 提供了两种对象访问模式:句柄池 和 直接指针。...句柄池 句柄:如果使用句柄访问对象,JAVA 堆中将会划分一块内存作为句柄池,reference 中存储的就是对象的句柄地址,句柄中包含对象实例数据与类型数据。...优点:对象内存地址变化时,只需更新句柄,而无需修改引用。 直接指针 如果使用直接指针访问,则 reference 存储对象地址。优点:访问速度快,少了一次间接访问。

    10710
    领券