栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android Retrofit实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android Retrofit实例

文章目录
  • 一、概念
  • 二、使用步骤
    • 1.添加Retrofit库的依赖
    • 2. 添加网络权限(AndroidManifest.xml)
    • 3.创建接收服务器返回数据的类
    • 4.创建用于描述网络请求的接口
    • 5.创建Retrofit对象
    • 6.创建网络请求接口 的实例
    • 7.发送网络请求
  • 总结


一、概念

Retrofit 是一个RESTful 的http 网路请求框架的封装,网络请求的工作本质是OKHttp完成,而Retrofit仅仅负责网络请求接口的封装。

二、使用步骤 1.添加Retrofit库的依赖
implementation 'com.squareup.retrofit2:retrofit:2.0.2'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
2. 添加网络权限(AndroidManifest.xml)


3.创建接收服务器返回数据的类

Retrofit将 Http请求 抽象成 Java接口:采用 注解 描述网络请求参数 和配置网络请求参数

public class Myenty {
    private String type;
    private int errorCode;
    private int elapsedTime;
    private List> translateResult;
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public int getErrorCode() {
        return errorCode;
    }
    public void setErrorCode(int errorCode) {
        this.errorCode = errorCode;
    }
    public int getElapsedTime() {
        return elapsedTime;
    }
    public void setElapsedTime(int elapsedTime) {
        this.elapsedTime = elapsedTime;
    }
    public List> getTranslateResult() {
        return translateResult;
    }
    public void setTranslateResult(List> translateResult) {
        this.translateResult = translateResult;
    }
    public static class TranslateResultBean {
        
        public String src;
        public String tgt;
        public String getSrc() {
            return src;
        }
        public void setSrc(String src) {
            this.src = src;
        }
        public String getTgt() {
            return tgt;
        }
        public void setTgt(String tgt) {
            this.tgt = tgt;
        }
    }
}
4.创建用于描述网络请求的接口

(MyRequest.Java)

public interface MyRequest {
    @POST("translate?doctype=json&jsonversion=&type=&keyfrom=&model=&mid=&imei=&vendor=&screen=&ssid=&network=&abtest=")
    @FormUrlEncoded
    CallgetCall(@Field("i") String targetSentence);}
5.创建Retrofit对象

在mainActivity中

         Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://fanyi.youdao.com/") //设置网络请求的Url地址
                .addConverterFactory(GsonConverterFactory.create()) //设置数据解析器
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build();
6.创建网络请求接口 的实例
 MyRequest myRequest=retrofit.create(MyRequest.class);
  Call call=myRequest.getCall("I love you");//对发送请求进行封装
7.发送网络请求
call.enqueue(new Callback() {
                         @Override
                         public void onResponse(Call call, Response response) {

                             System.out.println(response.body().getTranslateResult().get(0).get(0).getTgt());
                             textView.setText(response.body().getTranslateResult().get(0).get(0).getTgt());
                         }

                         @Override
                         public void onFailure(Call call, Throwable t) {
                             System.out.println("请求失败");
                             System.out.println(t.getMessage());

                         }});
总结

一个例子,能够运行成功,可以进行代码分析

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号