UE NT (Nouvelles Technologies) - TP #2 : Configuration de l'environnement de développement Eclipse et ADT
Les environnements Eclipse et son plug-in ADT (Android Development Tools) sont pré-installés sur les postes des salles TPR2 et TPR3. Pour accéder au profil de TP dédié à Android, sélectionnez l'onglet « Les TP » et choisissez le profil nommé TP_ANDROID.
Pour lancer l'environnement de développement, ouvrez un terminal et exécutez la commande suivante :
./adt-bundle-linux-x86_60_20131030/eclipse/eclipse
Exercice 1 : MyBirthDay
Créez une application qui affiche le jour de la semaine (Lundi, Mardi, etc.) en fonction d'une date sélectionnée par l'utilisateur. La saisie de la date se fera via trois composants NumberPicker (un pour le jour, un pour le mois et un pour l'année). Associez à chaque NumberPicker un OnValueChangeListener pour capturer les modifications.
Pour obtenir le nom du jour à partir d'une date, utilisez le code suivant :
SimpleDateFormat dayFormat = new SimpleDateFormat("EEEE", Locale.FRANCE);
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
String weekDay = dayFormat.format(calendar.getTime());
Exercice 2 : MyDownloadImage
Développez une application qui récupère une image depuis Internet (par exemple depuis une webcam) et l'affiche chaque fois que vous cliquez sur un bouton Update. Avant de télécharger l'image, vérifiez la disponibilité du réseau. Utilisez une AsyncTask pour gérer le téléchargement en arrière-plan, afin de ne pas bloquer l'interface utilisateur.
Ajoutez explicitement les permissions suivantes dans le fichier AndroidManifest.xml :
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
Affichez un message à l'écran via un Toast pour indiquer si le téléchargement a réussi ou si le réseau n'est pas disponible.
FAQ
Comment configurer un NumberPicker dans Android ?
Utilisez le code suivant pour initialiser un NumberPicker dans votre activité :
NumberPicker numberPicker = (NumberPicker) findViewById(R.id.numberPicker);
numberPicker.setMinValue(1);
numberPicker.setMaxValue(31); // Pour un jour
numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
// Logique à exécuter quand la valeur change
}
});
Comment vérifier la disponibilité du réseau en Java ?
Utilisez le code suivant pour vérifier si une connexion Internet est disponible :
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
Qu'est-ce qu'une AsyncTask dans Android ?
Une AsyncTask permet d'exécuter des tâches longues en arrière-plan sans bloquer l'interface utilisateur. Elle fonctionne en trois étapes : doInBackground (traitement), onPostExecute (mise à jour de l'UI) et onPreExecute (préparation).