App meteo est une tres simple application qui consommer un API, ce dernier est un API de meteo gratuit pour une limite utilisation, et cette application se fait en cadre de projet evalue au sein de l'ecole.
Premièrement, les dépendances de Volley et Picasso.
implementation 'com.android.volley:volley:1.1.1'
implementation 'com.squareup.picasso:picasso:2.71828'
Deuxièmement, la permission pour access a l'internet
android.permission.INTERNET
est une
Normal permissions.
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<application><activity android:name=".MainActivity"></activity></application>
</manifest>
Volley initialisation (dans le main activity). Ensuite, nous pouvons ajouter des tâches pour le faire
et tous les tâches sont executent dans un autre thread,c'est-à-dire, la tache va fait indépendamment
du UI THREAD
.
RequestQueue requestQueue = Volley.newRequestQueue(this); // this : context
le premier URL pour les donnees, et le deuxieme pour demande l'image de etat de meteo. documentation
final String URL = "https://api.openweathermap.org/data/2.5/weather?q=%s&units=metric&appid=key";
final String URL_ICON = "http://openweathermap.org/img/wn/%s@2x.png";
Creation une demande du donnees de meteo. Simple Request
StringRequest getData = new StringRequest(Request.Method.GET, URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// met les données à son place sur le layout
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// traiter l'erreur
}
});
Comme on peut l'utiliser le JsonObjectRequest
pour analyser et traduire les donnees à se formes des objets dans un thread séparer.
L'objet StringRequest
il me donne une resultat à se forme d'un String, alors on a besoin de Parsing Responses
.
et parfois le parsing des donnees besoin d'un temps, alors c'est obligé pour le faire ca dans un thread separer.