Подтвердить что ты не робот

RestAdapter (дооснащение) не разрешается в android

Итак, я пытаюсь использовать Retrofit для моего проекта. Поскольку сайт говорит, что я включил compile 'com.squareup.retrofit:retrofit:2.0.0-beta1' в build.gradle. Я читал учебники из этой ссылки. Я хочу сделать что-то подобное.

final RestAdapter restadapter = new RestAdapter.Builder().setEndpoint("http://services.hanselandpetal.com").build();

        api flowerapi = restadapter.create(api.class);

        flowerapi.getData(new Callback<List<Flower>>() {
            @Override
            public void success(List<Flower> flowers, Response response) {
                flowerList = flowers;
                adapter adapt = new adapter(getApplicationContext(),R.layout.item_file,flowerList);
                //ListView listView = (ListView) findViewById(R.id.list);
                setListAdapter(adapt);
            }

в моем проекте, т.е. совершать некоторые вызовы API. Но рестайдер просто не получает resolved. При наведении на него он просто говорит symbol can't be resolved. Что здесь происходит?

4b9b3361

Ответ 1

У вас есть два варианта:

1) Использовать стабильную дооснащение 1

Это класс RestAdapter, который вам нужен.

compile 'com.squareup.retrofit:retrofit:1.9.0'

2) Перенести на дооснащение 2

Класс RestAdapter был переименован в Retrofit, и API был полностью переделан. Подробнее в Презентация Джейка Уортона.

compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'

По состоянию на 30 июня 2016 года последняя версия 2.1.0 получена

compile 'com.squareup.retrofit2:retrofit:2.1.0'

Пожалуйста, проверьте http://square.github.io/retrofit/ на наличие обновлений.

Ответ 2

В API версии 2 есть изменения. Вот как вы это делаете в этой версии:

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.github.com")
    .build();

GitHubService service = retrofit.create(GitHubService.class);

Пожалуйста, обратитесь к нам за дополнительной информацией: Домашняя страница Retrofit 2

и эти слайды: Отладка 2 презентации

Ответ 3

Если вы хотите запустить свой код, вам нужно использовать более старую версию Retrofit.

compile 'com.squareup.retrofit:retrofit:1.9.0'

Но вы используете

compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'

Итак, вам нужно изменить свой код следующим образом.

Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.github.com")
.build();`

для полной документации, пожалуйста, проверьте Квадрат RetroFit

Ответ 4

В Retrofit 2.0 конвертер больше не входит в пакет. Вам нужно подключить конвертер самостоятельно, или Retrofit сможет принимать только результат String. В результате Retrofit 2.0 больше не зависит от Gson.

Если вы хотите принять результат json и заставить его анализировать в DAO, вам необходимо вызвать Gson Converter в качестве отдельной зависимости.

compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

И подключите его через addConverterFactory. Обратите внимание, что RestAdapter теперь также переименован в "Дооснащение".

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("http://api.nuuneoi.com/base/")
        .addConverterFactory(GsonConverterFactory.create())
        .build();

service = retrofit.create(APIService.class);

Дополнительная информация: https://inthecheesefactory.com/blog/retrofit-2.0/en