Я пытаюсь распечатать некоторые данные, которые я получаю из API RiotApi
, используя ASyncTask
, а затем зарегистрировать их в logcat, используя Log.d
для данных и Log.i
, если выдается исключение RiotApiException
по методу printSummonerData()
.Однако, когда я запускаю приложение, оно компилируется и работает просто отлично, и я не получаю RiotApiExceptions
, но данные не регистрируются.Кто-нибудь может помочь мне выяснить, почему это происходит?
PS: я не уверен, должен ли я использовать ASyncTask
в первую очередь (я совершенно новичок в потоках, синхронных и асинхронных задачах и т. Д.) но из того, что я прочитал в документации Android, я не должен блокировать основной поток пользовательского интерфейса с помощью сетевых запросов и т. д., поэтому я подумал, что должен использовать ASyncTask
.Пожалуйста, поправьте меня, если мои предположения были неверны.
public class MainActivity extends AppCompatActivity {
private final static String API_KEY = "MYKEY";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new DownloadSummonerData();
}
private static class DownloadSummonerData extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... urls) {
try {
printSummonerData();
} catch (RiotApiException e) {
e.printStackTrace();
Log.i("LOL","Something went wrong!");
}
return null;
}
protected void onProgressUpdate(Void... progress) {
}
protected void onPostExecute(Void result) {
}
}
private static void printSummonerData() throws RiotApiException {
ApiConfig config = new ApiConfig().setKey(API_KEY);
RiotApi api = new RiotApi(config);
Summoner summoner = api.getSummonerByName(Platform.EUNE, "XmaxUniverse");
Log.d("LOL","Name: " + summoner.getName());
Log.d("LOL","Summoner ID: " + summoner.getId());
Log.d("LOL","Account ID: " + summoner.getAccountId());
Log.d("LOL","PUUID: " + summoner.getPuuid());
Log.d("LOL","Summoner Level: " + summoner.getSummonerLevel());
Log.d("LOL","Profile Icon ID: " + summoner.getProfileIconId());
}
}