Неожиданный сбой при использовании API неофициальных металлических архивов - PullRequest
0 голосов
/ 27 февраля 2019

Поэтому я использую внешнюю (неофициальную) библиотеку, которая просматривает различные группы на сайте https://www.metal -archives.com / и позволяет вам получать из нее информацию, такую ​​как записи и треклисты.

Проблема, с которой я сталкиваюсь, заключается в том, что, когда я запрашиваю поиск, что-то идет не так с подключением к сайту (?), А затем происходит сбой приложения. ADB Logcat показал, что он генерирует некоторые исключения IllegalStateException, но я не уверен, как их исправить.

(Неофициальный) API, который я использую: https://github.com/Loki-Afro/metalarchives

Я добавил его в свое приложение с помощью Gradle, и все функции отображаются в моем коде, поэтому он был правильно добавлен в проект:

implementation 'com.github.loki-afro:metalarchives-api:0.5.0'

В API есть несколько примеров классов, которые я пытался выполнить как этот (не работает подтверждение), но использование примера использования в readme.md на github также вызывает у меня такие же сбои.

Мой код получает строку из EditText и передаетэто функция getBand (), которая отвечает за поиск.Это выполняется с помощью кнопки onClick.

public void doSearchAndUpdateResults(View view){
    EditText searchMetalArchivesBar = findViewById(R.id.searchMetalArchives);
    TextView resultView = findViewById(R.id.queryResult);
    String search = searchMetalArchivesBar.getText().toString();

    try {
        resultView.setText(getBand(search));
    } catch (MetallumException e){
        e.printStackTrace();
    }
}

public String getBand(String bandToSearchFor) throws MetallumException{
    BandSearchService bandSearchService = new BandSearchService();
    bandSearchService.setLoadSimilar(true);
    BandSearchQuery bandSearchQuery = new BandSearchQuery();
    bandSearchQuery.setBandName(bandToSearchFor, true);
    bandSearchQuery.setGenre("Black Metal");
    bandSearchQuery.setLabel("*", false);
    bandSearchQuery.setYearOfFormationFrom(1970);
    bandSearchQuery.setProvince("*", "*");
    bandSearchQuery.setLyricalThemes("*");
    bandSearchService.performSearch(bandSearchQuery);
    if (!bandSearchService.isResultEmpty()) {
        return bandSearchService.getResultAsList().get(0).getName();
    }
    return "no band found";
}

Я уже пытался добавить apache в мой файл сборки Gradle, но он выдал мне двойную ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...