облачный переводчик показать список языков - PullRequest
0 голосов
/ 26 марта 2020

Поэтому я пытаюсь заполнить listView данными из облачного переводчика IBM, но пример java не создан для показа ниже:

IamAuthenticator authenticator = new IamAuthenticator("{apikey}");
LanguageTranslator languageTranslator = new LanguageTranslator("2018-05-01", authenticator);
languageTranslator.setServiceUrl("{url}");

IdentifiableLanguages languages = languageTranslator.listIdentifiableLanguages()
  .execute().getResult();

System.out.println(languages);

вы можете увидеть то, что я пробовал ниже, я не могу найти причина, по которой я не могу заполнить свой список, кажется, что все хорошо работает с фоном: требуется список языков, который можно использовать. вот ссылка для справки на https://cloud.ibm.com/apidocs/language-translator/language-translator?code=java#list -идентифицируемые языки

import androidx.appcompat.app.AppCompatActivity;
import com.ibm.cloud.sdk.core.security.Authenticator;
import com.ibm.cloud.sdk.core.security.IamAuthenticator;
import com.ibm.watson.language_translator.v3.LanguageTranslator;
import com.ibm.watson.language_translator.v3.model.IdentifiableLanguage;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.TextView;

import java.util.List;

public class MainActivity extends AppCompatActivity {


    private LanguageTranslator  translationService;


    private TextView cv;
    private ListView cc;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        cv = (TextView) findViewById(R.id.hoho);
        cc = (ListView) findViewById(R.id.tv);

        translationService = initLanguageTranslatorService();

    }
    private LanguageTranslator initLanguageTranslatorService() {

        Authenticator authenticator
                = new IamAuthenticator(getString(R.string.mb));

        LanguageTranslator service = new LanguageTranslator("2018-05-01", authenticator);
        service.setServiceUrl(getString(R.string.ab));

        return service;
    }

    private class showLang extends AsyncTask<String, Void, List<IdentifiableLanguage>> {

        @Override
        protected List<IdentifiableLanguage> doInBackground(String... strings) {

            List<IdentifiableLanguage> languages =
                    translationService.listIdentifiableLanguages()
                            .execute().getResult().getLanguages();
            List<IdentifiableLanguage> ne = languages;
            return  ne;
        }

        protected void onPostExecute(List<IdentifiableLanguage>  s) {
            super.onPostExecute(s);
            cc.setAdapter(s);
        }
    }
...