0% ont trouvé ce document utile (0 vote)
14 vues6 pages

TP3 Androidstudio

Le document présente un TP sur le développement d'une application Android utilisant Java, incluant la création d'interfaces avec des boutons, des cases à cocher, un bouton bascule, des boutons radio et une barre de progression. Chaque section fournit des instructions détaillées sur le code nécessaire pour gérer les interactions utilisateur et afficher des notifications via la classe Toast. Il met également en garde contre le blocage du thread principal lors de l'utilisation de la barre de progression.

Transféré par

lilofree789
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues6 pages

TP3 Androidstudio

Le document présente un TP sur le développement d'une application Android utilisant Java, incluant la création d'interfaces avec des boutons, des cases à cocher, un bouton bascule, des boutons radio et une barre de progression. Chaque section fournit des instructions détaillées sur le code nécessaire pour gérer les interactions utilisateur et afficher des notifications via la classe Toast. Il met également en garde contre le blocage du thread principal lors de l'utilisation de la barre de progression.

Transféré par

lilofree789
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Carthage

FSEG Nabeul
3ème LF/LA IAG

TP3_ AndroidStudio
Code Java de l’interface d’une application Android

1. Code Java pour les Buttons:

Créez un nouveau projet android nommé Test_interface. Dans ce projet, créez une nouvelle
layout linéaire et insérez dans ce layout deux TexteView nommés respectivement Login et
Password et deux EditText pour la saisie de ces deux valeurs. Ajouter à ce layout un bouton
intitulé ‘Show_Login’. Pour programmer le fonctionnement du bouton, dans le fichier
MainActivity.java, nous devons importer les classes suivantes :
import android.view.View.OnClickListener;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.Button;
import android.widget.Toast;

Pour chaque bouton créé, il y a deux méthodes pour la gestion du clic :


1. Au niveau de layout et dans l’attribut du bouton il faut ajouter android.onClick= ‘nom de
la méthode’ et implémenter cette méthode au niveau du code java de l’activité.
2. nous devons définir un Listener (écouteur). Cet écouteur va avoir un comportement
lorsque le bouton est cliqué. Ce comportement est défini par la fonction Onclick. Ainsi,
nous devons ajouter au contenu de la fonction OnCreate de l’activité le code suivant :

final EditText login;


final Button b1;

login = (EditText) findViewById(R.id.editText1); Récupération de


L’identificateur du champ
Éditable

b1=(Button) findViewById(R.id.button1); Récupération de


L’identificateur du bouton

L’affectation d’un écouteur au bouton

Création de l’écouteur
b1.setOnClickListener( new OnClickListener() {

@Override
public void onClick(View v) {
Toast msg = Toast.makeText(getBaseContext(), login.getText().toString(),comportement
Toast.LENGTH_LONG); ecouteur

1
Affichage du message de notification msg.show();} });

Le message affiché contiendra le contenu de la variable login.


Le comportement réalisé ci-dessus est simple, il s’agit d’afficher un message à titre de
notification contenant la valeur de Login. La classe qui permet de gérer ces notifications est la
classe Toast. La fonction makeText permet de créer la notification, elle a besoin du contexte
d’affichage (ici obtenu moyennant la fonction getBaseContext()), d’une chaine de caractères à
afficher et de la durée d’’affichage (ici la durée est courte mais on peut avoir aussi des durées
longues pour ceci il suffit de changer la valeur a Toast.LENGTH_LONG).

2. Code Java pour les checkBox

Revenez a votre fichier layout et insérer deux checkBox. Le premier est intitulé Linux et le
deuxième est Windows. Insérer un bouton intitulé « Show_result_checkbox ». Dans votre code
java importer le package suivant :
import android.widget.CheckBox;

Dans la fonction Oncreate(), ajouter le code suivant :

b2=(Button) findViewById(R.id.button2);
b2.setOnClickListener( new OnClickListener () {
@Override
public void onClick(View v)
{
CheckBox cb, cb1 ;
cb = (CheckBox) findViewById(R.id.checkBox1);
cb1 = (CheckBox) findViewById(R.id.checkBox2);
if (cb.isChecked())
{
Toast msg = Toast.makeText(getBaseContext(),"la case Linux est
cochée", Toast.LENGTH_SHORT);
msg.show();
}
else
if (cb1.isChecked())
{

Toast msg = Toast.makeText(getBaseContext(),"la case Windows est


cochée", Toast.LENGTH_SHORT);
msg.show();
}
}
Si on veut qu’une seule case soit cochée à la fois il faut mettre ces deux checkBox dans un
groupe identiquement comme les RadioButton.

3. Code Java pour le ToggleButton


Ajoutez un ToggleButton dans votre layout. Revenez dans le code de et ajoutez dans la partie
import les deux lignes suivantes :
import android.widget.CompoundButton ;
import android.widget.ToggleButton ;
2
Dans la fonction Oncreate(), ajoutez le code suivant :
//traitement du Bouton ToggleButton

final ToggleButton tb;

tb= (ToggleButton) findViewById(R.id.toggleButton1);

tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
if (isChecked) {
Toast msg = Toast.makeText(getBaseContext(),"Toggle Button is
checked",Toast.LENGTH_SHORT);
msg.show();

}
}});

4. Code Java du Groupe de boutons Radio

Ajouter un groupe de boutons Radio dans le layout du projet. Maintenant, basculez dans le code
java du projet et modifiez la définition du code de la classe, comme suit:
public class MainActivity extends ActionBarActivity implements
RadioGroup.OnCheckedChangeListener

Dans la fonction OnCreate(), ajoutez les lignes suivantes :

// traitement du groupe de RadioButtom


RadioGroup radioGroup=(RadioGroup)findViewById(R.id.radioGroup1);
// On pose notre listener sur le radio group

radioGroup.setOnCheckedChangeListener(this);

maintenant en dehors de la fonction OnCreate(), on va redéfinir la fonction onCheckedChanged


qu’on a hérité de l’interface via la commande implements pour l’adapter au traitement qu’ on
souhaite faire pour chaque bouton radio. Ci-dessous, notre traitement consiste à afficher des
notifications pour indiquer quel bouton est sélectionné.
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.radio0:
Toast msg = Toast.makeText(getBaseContext(),"Radio Button rouge
is checked", Toast.LENGTH_SHORT);
msg.show();
break;

case R.id.radio1:
Toast msg1 = Toast.makeText(getBaseContext(),"Radio Button vert
is checked", Toast.LENGTH_SHORT);
msg1.show();
break;
case R.id.radio2:
Toast msg2 = Toast.makeText(getBaseContext(),"Radio Button bleu

3
is checked",Toast.LENGTH_SHORT);
msg2.show();
break;

}}

5. Code java du ProgressBar

Le widget ProgressBar rend compte de l’avancement d’une tache qui dure un certain temps. La
barre de progression fonctionne en utilisant les Threads. Attention, il ne faut pas bloquer le
thread par l’exécution d’un traitement long et il en résulterait qu’ Android va freezer l’activité.

Creez un nouveau projet appelee test_BP et inserez une barre de progression horizontale dans
son layout. Dans le code Java de l’activite copier le code suivant :

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.os.Handler;
import android.os.Message;

public class MainActivity extends ActionBarActivity {


ProgressBar bar;

// declaration du Handler

Handler handler = new Handler() {

@Override

// On implement la méthode hadlemessage afin de definir le traitement

// pour chaque message recu

public void handleMessage(Message msg) {

// on incremente la barre de progression de 5

bar.incrementProgressBy(5);

};

boolean isRunning = false;

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.activity_main);

4
bar = (ProgressBar) findViewById(R.id.progressBar1);

public void onStart() {

super.onStart();

bar.setProgress(0);

// declaration du thread en arriere plan

Thread background = new Thread(new Runnable() {public void run() {

try {

for (int i = 0; i < 20 && isRunning; i++) {

// pause de 1000ms=1s

Thread.sleep(1000);

// envoi du message (contenant le

// bar.incrementProgressBy(5)

handler.sendMessage(handler.obtainMessage());

} catch (Throwable t) {

// Termine le thread en arrière–plan

} }

});

isRunning = true;

// lancement du thread

background.start();

public void onStop() {

super.onStop();

5
isRunning = false;

Vous aimerez peut-être aussi