Делаю тестовое задание на Android. Нужно получить от сайта данные с API. Использую retrofit. Вроде как данные приходят, но ответ никак не выводится. Подскажите, что не так?
Интерфейс API:
public interface APIService {
@GET("rest/v2/all")
Call<Country> countriesResponse();}
класс, где происходит запрос:
public class CountriesRequest {
private String url = "https://restcountries.eu/";
private APIService mApi;
private Retrofit mRetrofit;
private OnCountriesFetchedListener mListener;
private CountryName result;
public void setListener(OnCountriesFetchedListener listener) {
this.mListener = listener;
}
public void getResponse(){
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException {
Request request = chain.request()
.newBuilder()
.addHeader("Accept", "application/json; charset=utf-8")
.addHeader("Accept-Encoding", "identity")
.build();
return chain.proceed(request);
}
});
mRetrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.baseUrl(url)
.client(httpClient.build())
.build();
mApi = mRetrofit.create(APIService.class);
Call<Country> call = mApi.countriesResponse();
call.enqueue(new Callback<Country>() {
@Override
public void onResponse(Call<Country> call, retrofit2.Response<Country> response) {
if (response.isSuccessful()) {
if(mListener!=null) {
mListener.getResult(response.body());
}
}
}
@Override
public void onFailure(Call<Country> call, Throwable t) {
//заглушка
}
});
}
}
MainActivity:
public class MainActivity extends AppCompatActivity {
private RecyclerAdapter mRecyclerAdapter;
private CountriesRequest mCountriesRequest;
private void Init() {
mCountriesRequest = new CountriesRequest();
RecyclerView resultRecyclerView = findViewById(R.id.countriesRecyclerView);
resultRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerAdapter = new RecyclerAdapter();
resultRecyclerView.setAdapter(mRecyclerAdapter);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Init();
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCountriesRequest.getResponse();
mCountriesRequest.setListener(new OnCountriesFetchedListener() {
@Override
public void getResult(Country country) {
if(country !=null) {
List<String> names = new ArrayList<>();
names.add(country.getName());
mRecyclerAdapter.setItem(names);
}
}
});
}
});
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Вопрос заключается в следующем: я создаю калькулятор (это моя первая практика, прошу не судите строго), создал несколько кнопок и хотелось...
заполняю Excel файл, не хватает размера ячейки, вот такой формат данных: