80,351
社区成员
发帖
与我相关
我的任务
分享
public interface MemoryService {
@GET("goodbook/catalog")
Call<String> getBookCatalogQuery(@Query("key") String key);
}
public class MainActivity extends AppCompatActivity {
private String s;
private StringBuffer sb = new StringBuffer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainTv = (TextView) findViewById(R.id.main_tv);
retrofitForQuery();
Log.d("TAG s",s);
Log.d("TAG stringbuilder",sb.toString());
}
private void retrofitForQuery(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(URL)
.addConverterFactory(ScalarsConverterFactory.create())
.build();
MemoryService bookCatalog = retrofit.create(MemoryService.class);
Call call = bookCatalog.getBookCatalogQuery(key);//这里Call填不填加泛型都可以
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, final Response response) {
mainTv.setText(response.body().toString());
s= response.body().toString();//得不到值,s空
sb.append(response.body().toString());//StringBuilder也存不了值。
//我又这样存,试了试
saveResponse(response.body().toString());
}
@Override
public void onFailure(Call call, Throwable t) {
Log.d(TAG + "请求数据", "failure");
}
});
}
private void saveResponse(String str) {
s = str;
sb.append(str);
}//但还是存不住值