Android Can';无法通过改装从服务器获取数据
我有以下代码:Android Can';无法通过改装从服务器获取数据,android,retrofit2,Android,Retrofit2,我有以下代码: private static final String Tag = "DataUtil"; static List<Film> generateFilms(){ Log.i(Tag, "In generate films"); List <Film> films = new ArrayList<>(); String BaseUrl = "http://www.omdbapi.com/
private static final String Tag = "DataUtil";
static List<Film> generateFilms(){
Log.i(Tag, "In generate films");
List <Film> films = new ArrayList<>();
String BaseUrl = "http://www.omdbapi.com/?apikey=956febbc&";
Retrofit.Builder builder = new Retrofit.Builder().baseUrl(BaseUrl)
.addConverterFactory(GsonConverterFactory.create());
OkHttpClient.Builder httpClient = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS);
Retrofit retrofit = builder.build();
APIService apiService = retrofit.create(APIService.class);
final Call<List<Film>> filmsCall = apiService.getFilms();
filmsCall.enqueue(new Callback<List<Film>>() {
@Override
public void onResponse(Call<List<Film>> call, Response<List<Film>> response) {
if (response.isSuccessful()){
Log.i(Tag, response.body().get(0).getTitle());
}
else {
Log.i(Tag, "Response code: "+response.code());
}
}
@Override
public void onFailure(Call<List<Film>> call, Throwable t) {
Log.i(getClass().getSimpleName(), "Error: "+t);
}
});
return films;
}
获取使用查询
@GET(".")
Call<Film> getFilms(@Query("apikey") String apikey, @Query("t") String t);
@GET(“.”)
调用getFilms(@Query(“apikey”)字符串apikey,@Query(“t”)字符串t);
请求数据
apiService.getFilms(“956febbc”,“蝙蝠侠”)
根据我所知,改装中的基本url应该以斜杠结尾。尝试使用类似“omdbapi.com/”的基本url,并将api键移动到接口@GET(“?apikey=956febbc&t=batman”)。希望这能有所帮助。@DanielSpiess不幸的是,当我以String BaseUrl=”的方式进行更改时http://www.omdbapi.com/";代码>和在接口“@GET”(“?apikey=956febbc&t=batman”)中没有任何更改可能是
I/: Error: java.net.UnknownServiceException: CLEARTEXT communication to www.omdbapi.com not permitted by network security policy
String BaseUrl = "http://www.omdbapi.com";
@GET(".")
Call<Film> getFilms(@Query("apikey") String apikey, @Query("t") String t);