J'essaie donc d'utiliser Retrofit pour mon projet. Comme le site l'indique, j'ai inclus compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
dans build.gradle
. Je lisais les tutoriels de ce link . Je veux faire quelque chose de semblable comme ça
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);
}
dans mon projet, c’est-à-dire faire des appels à une API. Mais restadapter n’obtient tout simplement pas resolved
. En survolant dessus, il indique simplement symbol can't be resolved
. Que se passe-t-il ici ?
Vous avez deux options:
Cela a la classe RestAdapter
dont vous avez besoin.
compile 'com.squareup.retrofit:retrofit:1.9.0'
La classe RestAdapter
a été renommée en Retrofit
et l'API a été complètement refaite. Lire la suite dans La présentation de Jake Wharton .
compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
Au 30 juin 2016, la dernière version est la 2.1.0 obtenue par
compile 'com.squareup.retrofit2:retrofit:2.1.0'
Veuillez vérifier http://square.github.io/retrofit/ pour les mises à jour.
Il y a un changement dans l'API dans la version 2. Voici comment procéder dans cette version:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.github.com")
.build();
GitHubService service = retrofit.create(GitHubService.class);
Veuillez vous référer ici pour plus d'informations: Page d'accueil de Retrofit 2
et ces diapositives: Présentation de Retrofit 2
Si vous voulez exécuter votre code, vous devez utiliser une version plus ancienne de Retrofit.
compile 'com.squareup.retrofit:retrofit:1.9.0'
Mais vous utilisez
compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
Donc, vous devez changer votre code comme ça.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.github.com")
.build();`
pour une documentation complète, veuillez vérifier Square RetroFit
Dans Retrofit 2.0, Converter n'est plus inclus dans le package. Vous devez connecter un convertisseur en vous-même ou Retrofit ne pourra accepter que le résultat String. En conséquence, Retrofit 2.0 ne dépend plus de Gson.
Si vous voulez accepter json result et le faire analyser dans DAO, vous devez appeler Gson Converter en tant que dépendance séparée.
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
Et branchez-le via addConverterFactory. Veuillez noter que RestAdapter est désormais renommé Retrofit.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.nuuneoi.com/base/")
.addConverterFactory(GsonConverterFactory.create())
.build();
service = retrofit.create(APIService.class);
plus d'infos: https://inthecheesefactory.com/blog/retrofit-2.0/fr