首先导入需要的包,retrofit基于okhttp,而okhttp又要基于okio(我没有okio他提示缺少包,我去maven下载包导入libs目录后又提示我retrofit2.call已经有了,balabala什么玩意),后来我又查到好像只能远程导入(但是编译器自己同步很慢)。converter-gson是json对象和类的转化,同时还需要导入gson包。(如下图,红框是libs目录下的,黄框是远程导入的)。
自己android第一次尝试retrofit,还遇到了很多其他的奇葩问题,以下进行列举:
<一>
我第一次写完一个get请求,就报了这个错误,我不知道为什么他需要kotlin,这个问题我找了一天,终于找到了:
尝试之后果然好了,这个错误就没有了。(不知所以。。。。。)
这是原文链接:http://www.androidchina.net/9698.html
<二>
如下错误:
Static interface methods are only supported starting with Android N (--min-api 24): okhttp3.Request okhttp3.Authenticator.lambda$static$0(okhttp3.Route, okhttp3.Response)
解决办法:在gradle的android{}加入下面这个(恕我直言,我不知道为什么)
compileOptions {
targetCompatibility = "8"
sourceCompatibility = "8"
}
<三>
就是包的问题,,我看了好多教程,都只说导入retrofit和okhttp就行(我目前怀疑是因为我是自己本地导入包的,说不定全部全程就行,我不确定)但还是需要,因为okhttp需要okio。
converter-gson还需要gson包。对于包版本的问题可能导致上面第一个叙述的错误,因此尽可能建议直接implement包,而不要自己导入到libs下。