`

retrofit使用SimpleXmlConverterFactory

阅读更多

retrofit 使用 SimpleXmlConverterFactory 解析 xml 格式数据

 

支持格式:

Gson	com.squareup.retrofit2:converter-gson:2.0.2
Jackson	com.squareup.retrofit2:converter-jackson:2.0.2
Moshi	com.squareup.retrofit2:converter-moshi:2.0.2
Protobuf	com.squareup.retrofit2:converter-protobuf:2.0.2
Wire	com.squareup.retrofit2:converter-wire:2.0.2
Simple XML	com.squareup.retrofit2:converter-simplexml:2.0.2
Scalars	com.squareup.retrofit2:converter-scalars:2.0.2

 

 

1配置:

 

    compile 'com.squareup.retrofit2:retrofit:2.0.1'
    compile 'com.squareup.okhttp3:logging-interceptor:3.1.2'
    compile ('com.squareup.retrofit2:converter-simplexml:2.0.1'){
        exclude group:'xpp3',module: 'xpp3'
        exclude group:'stax',module: 'stax-api'
        exclude group:'stax',module: 'stax'
    }

 2:根据对应的xml配置实体类 参考:http://blog.csdn.net/qqyanjiang/article/details/51200108

 

 3:

//配置打印日志
        HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
        httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .addInterceptor(httpLoggingInterceptor)
                .build();

//      String baseUrl = "https://api.douban.com/v2/movie/";
        String baseUrl = "you url!!!";
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(baseUrl)
                .client(okHttpClient)
                .addConverterFactory(SimpleXmlConverterFactory.create())
//                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build();

        MovieService movieService = retrofit.create(MovieService.class);
//      Call<ResponseBody> call = movieService.login(0, 10);
        Call<LoginInfo> call = movieService.login("admin", "123456", "0");
        call.enqueue(new Callback<LoginInfo>() {
            @Override
            public void onResponse(Call<LoginInfo> call, Response<LoginInfo> response) {
                System.out.println(response.body().Table.USERNAME);
            }

            @Override
            public void onFailure(Call<LoginInfo> call, Throwable t) {
                t.printStackTrace();
            }
        });

4:创建类文件

 

 

import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface MovieService {

    @POST("Login")//这个是基于soap的post
    @FormUrlEncoded
    Call<LoginInfo> login(@Field("sLoginID") String start, @Field("sPassWord") String count, @Field("AppID") String AppID);
    //豆瓣电影
    @GET("top250")
    Call<ResponseBody> getMovie(@Query("start") int start, @Query("count") int count);
}

  

@Root(name = "NewDataSet", strict = false)
public class LoginInfo {
    @Element(name = "Table")
    public Table Table;
}

 

@Root(name = "Table", strict = false)
public class Table {
    @Element(name = "ID")
    public String ID;
    @Element(name = "ROLE")
    public String ROLE;
    @Element(name = "USERNAME")
    public String USERNAME;
}

 

 xml格式如下:



 

  • 大小: 53.5 KB
分享到:
评论

相关推荐

    Retrofit2 使用Demo示例

    Retrofit2 使用Demo

    retrofit简单使用

    这个教程将带你了解Retrofit的基础使用,包括GET和POST请求以及JSON数据解析,这对于任何使用Retrofit的初学者来说都是必要的基础知识。 首先,让我们理解Retrofit的基本架构。Retrofit是由Square公司开发的一个...

    RxJava与Retrofit结合使用案例

    RxJava与Retrofit结合使用是Android开发中一种高效、灵活的网络请求处理方式。RxJava是一个响应式编程库,它允许开发者通过观察者模式来处理异步数据流,而Retrofit则是一个简洁的HTTP客户端库,用于将网络接口转换...

    Retrofit 使用Demo

    在 "Retrofit 使用Demo" 中,我们首先会接触到如何设置和初始化 Retrofit。这通常包括创建一个接口,该接口包含你需要调用的 HTTP 方法(如 GET、POST 等)以及相应的 URL 路径。接口方法上的注解 @GET、@POST 等...

    Android Retrofit的简单使用

    **Android Retrofit 简单使用** Retrofit 是一个在 Android 和 Java 平台上广泛使用的网络请求库,它是由 Square 公司开发的。Retrofit 的核心理念是将 HTTP API 转换为 Java 接口,使网络请求变得更加简洁、易用。...

    Flutter_retrofit使用配置.numbers

    Flutter 快速配置retrofit实现后台数据获取,降低独自摸索的各种坑

    retrofit使用的简单demo

    在本教程中,我们将深入探讨Retrofit的基本使用方法,包括其核心概念、配置、接口定义以及如何进行实际的网络请求。 首先,让我们了解Retrofit的核心概念。Retrofit是一个基于注解的HTTP客户端,它允许开发者将HTTP...

    Retrofit2的使用demo

    Retrofit2是Android开发中广泛使用的网络请求库,它提供了简洁、优雅的API设计,使得开发者可以方便地进行网络调用。本示例将详细解释如何在实际项目中使用Retrofit2来请求数据。 首先,我们需要理解Retrofit2的...

    Retrofit 2.0使用详解的例子

    Retrofit 2.0是Android开发中广泛使用的网络请求库,它通过简洁的API设计使得网络请求变得简单易懂。这个例子将详细讲解如何在Android应用中集成并使用Retrofit 2.0,同时结合OkHttp作为网络底层库以及Gson进行数据...

    Android Retrofit2使用Demo

    **Android Retrofit2使用Demo** Retrofit2是Google推出的一个强大的网络请求库,它极大地简化了Android应用中的网络通信。Retrofit2基于OkHttp,提供了一种类型安全的HTTP客户端,使得开发者可以方便地进行RESTful ...

    Retrofit2简单使用1

    【Retrofit2简单使用1】 Retrofit是Square公司推出的一款优秀的网络请求库,它通过注解的方式将HTTP请求与Java方法映射,极大地简化了Android应用中的网络编程。在Android开发中,Retrofit2已经成为了一个不可或缺...

    Android-RxJava和Retrofit结合使用完成基本的登录和注册功能

    在Android应用开发中,使用RxJava和Retrofit的组合已经成为了一种常见的模式,尤其是在处理网络请求和异步操作时。这两个库的结合可以提供一种优雅、灵活的方式来管理复杂的任务流,使得代码更加清晰且易于测试。 ...

    rxjava+retrofit使用小demo

    总的来说,这个"rxjava+retrofit使用小demo"展示了如何在Android应用中高效地处理网络请求,并通过ASimpleCache实现数据缓存,提升了用户体验。通过深入理解RxJava的响应式编程模型和Retrofit的网络请求抽象,开发者...

    MVP+Retrofit+RxAndroid使用

    Retrofit的使用步骤通常包括创建服务接口、实例化Retrofit对象、调用接口方法并处理响应。 **RxAndroid库** RxAndroid是ReactiveX针对Android平台的扩展,它提供了一种基于观察者模式的事件驱动编程方式。RxJava的...

    retrofit使用

    本文将深入探讨Retrofit的使用,包括基本配置、接口定义、数据序列化、错误处理、拦截器和实际应用案例。 1. **基本配置** 在使用Retrofit之前,我们需要创建一个Retrofit实例。首先,需要引入依赖,例如在Gradle...

    Retrofit简单使用的例子

    本示例将详细介绍如何在Android应用中简单使用Retrofit来请求网络数据。 首先,我们需要了解Retrofit的核心概念。Retrofit通过注解的方式将HTTP请求方法(GET、POST等)与服务接口关联起来,使得我们能够以面向对象...

    retrofit的简单使用

    3. **实例化Retrofit**:使用Retrofit.Builder()创建Retrofit实例,并设置基础URL、转换器(如GsonConverterFactory用于JSON解析)等。 ```java Retrofit retrofit = new Retrofit.Builder() .baseUrl(...

    Android实战——Retrofit2的使用和封装

    Android实战——Retrofit2的使用和封装

    Retrofit2.0的学习以及Rxjava与Retrofit2的结合使用

    当Retrofit2与RxJava结合使用时,可以构建出更高效、更灵活的网络请求解决方案。 首先,我们来深入了解Retrofit2.0的基础知识。Retrofit的核心概念是定义一个服务接口,通过注解(@GET、@POST等)来指定HTTP请求方法...

    dataBinding和retrofit的使用

    3. 使用Retrofit.Builder配置Retrofit实例,如设置baseUrl、选择转换器工厂等。 4. 通过Retrofit实例的`create`方法获取接口的实现类,然后调用接口方法发起网络请求。 在示例的"**databindtest**"项目中,可能包含...

Global site tag (gtag.js) - Google Analytics