zoukankan      html  css  js  c++  java
  • Retrofit2设置返回类型是字符串(String)类型

    之前返回的是对象,但是我想看看返回的字符串。

    之前的代码:

    package com.example.z.study;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import com.google.gson.Gson;
    
    import butterknife.BindView;
    import butterknife.ButterKnife;
    import butterknife.OnClick;
    import retrofit2.Call;
    import retrofit2.Callback;
    import retrofit2.Response;
    import retrofit2.Retrofit;
    import retrofit2.converter.gson.GsonConverterFactory;
    import retrofit2.converter.scalars.ScalarsConverterFactory;
    import retrofit2.http.GET;
    import retrofit2.http.Query;
    
    public class MainActivity extends AppCompatActivity {
    
        @BindView(R.id.imageView)
        ImageView imageView;
        Animation animation;
        @BindView(R.id.tv_rx)
        TextView tvRx;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.content_main);
            ButterKnife.bind(this);
            animation = AnimationUtils.loadAnimation(this, R.anim.demo);
        }
    
        @OnClick(R.id.btn_anim)
        public void setBtnAnim() {
            imageView.startAnimation(animation);
        }
    
        @OnClick(R.id.btn_rx)
        public void btn_rx() {
            getString();
        }
    
        public void getString() {
            String baseUrl = "https://api.douban.com/v2/movie/";
    
            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl(baseUrl)
                    .addConverterFactory(GsonConverterFactory.create())//转为对象类型
                    .build();
    
    
            MovieService movieService = retrofit.create(MovieService.class);
            Call<MovieVo> call = movieService.getTopMovie(0, 10);
            call.enqueue(new Callback<MovieVo>() {
                @Override
                public void onResponse(Call<MovieVo> call, Response<MovieVo> response) {
    
    
                    tvRx.setText(response.body().toString());
                    System.out.println("**********" + response.body());
                    Gson gson = new Gson();
                }
    
                @Override
                public void onFailure(Call<MovieVo> call, Throwable throwable) {
                    System.out.println("--------------------");
                    tvRx.setText(throwable.getMessage());
                }
            });
        }
    
        public interface MovieService {
    
            @GET("top250")
            Call<MovieVo> getTopMovie(@Query("start") int start, @Query("count") int count);
        }
    }

    Gradle:

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.3"
        defaultConfig {
            applicationId "com.example.z.study"
            minSdkVersion 18
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile 'com.android.support:appcompat-v7:25.3.1'
        compile 'com.android.support:design:25.3.1'
        compile 'com.android.support.constraint:constraint-layout:1.0.1'
        testCompile 'junit:junit:4.12'
    
    //    // https://mvnrepository.com/artifact/io.reactivex.rxjava2/rxjava
    //    compile group: 'io.reactivex.rxjava2', name: 'rxjava', version: '2.1.0'
    //// https://mvnrepository.com/artifact/io.reactivex.rxjava2/rxandroid
    //    compile group: 'io.reactivex.rxjava2', name: 'rxandroid', version: '2.0.1'
    
    
        compile 'io.reactivex:rxjava:1.1.0'
        compile 'io.reactivex:rxandroid:1.1.0'
    
    // https://mvnrepository.com/artifact/com.squareup.retrofit2/retrofit
        compile group: 'com.squareup.retrofit2', name: 'retrofit', version: '2.3.0'
    // https://mvnrepository.com/artifact/com.squareup.retrofit2/converter-gson
        compile group: 'com.squareup.retrofit2', name: 'converter-gson', version: '2.3.0'
    
    
    // https://mvnrepository.com/artifact/com.squareup.retrofit2/adapter-rxjava
        compile group: 'com.squareup.retrofit2', name: 'adapter-rxjava', version: '2.3.0'
    // https://mvnrepository.com/artifact/com.google.code.gson/gson
        compile group: 'com.google.code.gson', name: 'gson', version: '2.8.1'
    // https://mvnrepository.com/artifact/com.jakewharton/butterknife
        compile group: 'com.jakewharton', name: 'butterknife', version: '8.6.0'
        annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
    
    }

    现在的代码:

    package com.example.z.study;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import com.google.gson.Gson;
    
    import butterknife.BindView;
    import butterknife.ButterKnife;
    import butterknife.OnClick;
    import retrofit2.Call;
    import retrofit2.Callback;
    import retrofit2.Response;
    import retrofit2.Retrofit;
    import retrofit2.converter.gson.GsonConverterFactory;
    import retrofit2.converter.scalars.ScalarsConverterFactory;
    import retrofit2.http.GET;
    import retrofit2.http.Query;
    
    public class MainActivity extends AppCompatActivity {
    
        @BindView(R.id.imageView)
        ImageView imageView;
        Animation animation;
        @BindView(R.id.tv_rx)
        TextView tvRx;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.content_main);
            ButterKnife.bind(this);
            animation = AnimationUtils.loadAnimation(this, R.anim.demo);
        }
    
        @OnClick(R.id.btn_anim)
        public void setBtnAnim() {
            imageView.startAnimation(animation);
        }
    
        @OnClick(R.id.btn_rx)
        public void btn_rx() {
            getString();
        }
    
        public void getString() {
            String baseUrl = "https://api.douban.com/v2/movie/";
    
            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl(baseUrl)
                    .addConverterFactory(ScalarsConverterFactory.create())
                    .build();
    
    
            MovieService movieService = retrofit.create(MovieService.class);
            Call<String> call = movieService.getTopMovie(0, 10);
            call.enqueue(new Callback<String>() {
                @Override
                public void onResponse(Call<String> call, Response<String> response) {
    
    
                    tvRx.setText(response.body().toString());
                    System.out.println("**********" + response.body());
                    Gson gson = new Gson();
                }
    
                @Override
                public void onFailure(Call<String> call, Throwable throwable) {
                    System.out.println("--------------------");
                    tvRx.setText(throwable.getMessage());
                }
            });
        }
    
        public interface MovieService {
    
            @GET("top250")
            Call<String> getTopMovie(@Query("start") int start, @Query("count") int count);
        }
    }

    Gradle:

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.3"
        defaultConfig {
            applicationId "com.example.z.study"
            minSdkVersion 18
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile 'com.android.support:appcompat-v7:25.3.1'
        compile 'com.android.support:design:25.3.1'
        compile 'com.android.support.constraint:constraint-layout:1.0.1'
        testCompile 'junit:junit:4.12'
    
    //    // https://mvnrepository.com/artifact/io.reactivex.rxjava2/rxjava
    //    compile group: 'io.reactivex.rxjava2', name: 'rxjava', version: '2.1.0'
    //// https://mvnrepository.com/artifact/io.reactivex.rxjava2/rxandroid
    //    compile group: 'io.reactivex.rxjava2', name: 'rxandroid', version: '2.0.1'
    
    
        compile 'io.reactivex:rxjava:1.1.0'
        compile 'io.reactivex:rxandroid:1.1.0'
    
    // https://mvnrepository.com/artifact/com.squareup.retrofit2/retrofit
        compile group: 'com.squareup.retrofit2', name: 'retrofit', version: '2.3.0'
    // https://mvnrepository.com/artifact/com.squareup.retrofit2/converter-gson
        compile group: 'com.squareup.retrofit2', name: 'converter-gson', version: '2.3.0'
        // https://mvnrepository.com/artifact/com.squareup.retrofit2/converter-scalars
        compile group: 'com.squareup.retrofit2', name: 'converter-scalars', version: '2.3.0'
    
    // https://mvnrepository.com/artifact/com.squareup.retrofit2/adapter-rxjava
        compile group: 'com.squareup.retrofit2', name: 'adapter-rxjava', version: '2.3.0'
    // https://mvnrepository.com/artifact/com.google.code.gson/gson
        compile group: 'com.google.code.gson', name: 'gson', version: '2.8.1'
    // https://mvnrepository.com/artifact/com.jakewharton/butterknife
        compile group: 'com.jakewharton', name: 'butterknife', version: '8.6.0'
        annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
    
    }
  • 相关阅读:
    提高CRM系统实施成功率
    CRM销售管理软件实施的误区
    ERP、CRM、SCM之间的区别
    选择CRM系统的四个步骤
    [导入]163相册验证码图片的识别手记之一 去除干扰
    [导入]C#中WebService里的回车符"\r"丢失问题
    [导入]文件同步精灵(初版)
    [导入]163相册验证码图片的识别手记之二 识别
    [导入]电信对我们的侵权行为如何能得到法律保护?
    [导入]认父亲的DbParameter!!
  • 原文地址:https://www.cnblogs.com/6324/p/6957491.html
Copyright © 2011-2022 走看看