当前位置: 首页 > 知识库问答 >
问题:

改装2.0.0-Beta4:无法为类创建转换器

海宁
2023-03-14
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.google.code.gson:gson:2.6.1'
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
    compile 'com.squareup.okhttp3:logging-interceptor:3.0.1'
    compile 'com.android.databinding:baseLibrary:2.0.0-beta2'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
}
@Table(name = "ModelTableName")
public class DataEntity extends Model {

    @Column(name = "_id")
    private String _id;

    @Expose
    @Column(name = "imageUri")
    private String uri;

    @Expose
    @Column(name = "title")
    private String title;

    public DataEntity() {
        super();
    }

    public void set_id(String _id) {
        this._id = _id;
    }

    public void setUri(String uri) {
        this.uri = uri;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String get_id() {
        return _id;
    }

    public String getUri() {
        return uri;
    }

    public String getTitle() {
        return title;
    }
}
protected Retrofit build() {
        if (null == retrofit) {
            HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
            interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
            OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();

            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .client(client)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        }
        return retrofit;
    }

我在使用ActiveAndroid对API调用和数据库进行修改。在Pre6.0的Android设备上,一个应用程序可以很好地工作。无法确定根本原因。

改装2 Beta-4。Android6。无法创建转换器

我不明白为什么要使用gson或gsonbuilder?

感谢任何帮助。

共有1个答案

苍恩
2023-03-14

他们现在已经发布了一个稳定版本的改装。尝试使用这个

compile 'com.squareup.retrofit2:retrofit:2.0.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'

另外,如果您使用的是ActiveAndroid,那么您应该像下面这样创建您的改装对象

Retrofit retrofit = new new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .client(client)
            .addConverterFactory(
                    GsonConverterFactory.create(new GsonBuilder()
                            .serializeNulls()
                            .excludeFieldsWithModifiers(Modifier.FINAL, Modifier.TRANSIENT, Modifier.STATIC)
                            .create()))
            .build();

因为Model类包含一些静态和瞬态字段。希望这有帮助。

 类似资料: