gpt4 book ai didi

java - 如何使用 Retrofit 处理 JSON 响应

转载 作者:行者123 更新时间:2023-11-30 01:04:56 25 4
gpt4 key购买 nike

我正在根据用户在 editText 中输入的搜索词调用 FlickR API。结果将是几个 JSON 对象(或者至少这是我的目标),我最终想在 GridView 中显示它们。

现在,我知道我正在成功调用 FlickR API,因为我正在触发 Retrofit 的 onResponse 方法。但是,我不确定如何查看要在 gridview 中显示的原始响应数据:

public class MainActivity extends AppCompatActivity {

private EditText mSearchTerm;
private Button mRequestButton;
private String mQuery;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mSearchTerm = (EditText) findViewById(R.id.ediText_search_term);
mRequestButton = (Button) findViewById(R.id.request_button);
mRequestButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mQuery = mSearchTerm.getText().toString();
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.flickr.com/services/rest/")
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();


ApiInterface apiInterface = retrofit.create(ApiInterface.class);
Call<List<Photo>> call = apiInterface.getPhotos(mQuery);
call.enqueue(new Callback<List<Photo>>() {
@Override
public void onResponse(Call<List<Photo>> call, Response<List<Photo>> response) {

}

@Override
public void onFailure(Call<List<Photo>> call, Throwable t) {

}
});

}
});



}

//Synchronous vs. Asynchronous
public interface ApiInterface {
@GET("?&method=flickr.photos.search&tags=<Ali>&api_key=1c448390199c03a6f2d436c40defd90e&format=json") //
Call<List<Photo>> getPhotos(@Query("q") String photoSearchTerm);
}

}

最佳答案

您可以使用 Retrofit + Picasso 检索照片并将其提取到适配器中

http://themakeinfo.com/2015/04/android-retrofit-images-tutorial/

关于java - 如何使用 Retrofit 处理 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38965841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com