以下是我的文件:
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调用和数据库进行改造。 在Pre 6.0 Android设备上,应用程序运行正常。 无法确定根本原因。
Retrofit 2 beta-4. Android 6. Unable to create convertor
我无法理解使用gson或gsonbuilder需要什么?
任何帮助表示感谢。
答案 0 :(得分:3)
他们现在已经发布了稳定版的Retrofit。 尝试使用此
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类包含一些静态和瞬态字段。 希望这会有所帮助。