Pour travailler cet atelier, nous
avons besoin à créer deux activités, chacune est associée à un fichier de
présentation xml. En plus, nous avons besoin à déclarer la deuxième activité
dans le fichier AndroidManifest.xml.
Pour la démonstration, nous pourrons
travailler sur un cas concret. Par exemple, créons une activité sous forme d’un
formulaire qui regroupe les informations suivantes :
- Nom
- Prénom
- Date de naissance
- Numéro GSM
Après le remplissage
de ces informations, il les transmit vers une autre activité pour les afficher.
Dans un premier temps, nous commençons par la mise en forme
du formulaire main.xml sous format graphique comme suit :
le code équivalent de cette présenatation est le suivant :
<?xml version="1.0"
encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="2"
>
<EditText
android:id="@+id/t_nom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/v_prenom"
android:hint="@string/nom"
>
<requestFocus />
</EditText>
<TextView
android:id="@+id/v_nom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/nom"
android:layout_alignBottom="@+id/nom"
android:layout_alignParentLeft="true"
android:text="Nom"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<TextView
android:id="@+id/v_prenom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/t_nom"
android:text="Prénom"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<EditText
android:id="@+id/t_prenom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/t_nom"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/v_prenom"
android:hint="Ecrit
votre prenom" />
<TextView
android:id="@+id/date_naissance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/t_prenom"
android:layout_centerHorizontal="true"
android:text="Date de
naissance"
android:textAppearance="?android:attr/textAppearanceLarge" />
<DatePicker
android:id="@+id/datePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/date_naissance"
android:layout_centerHorizontal="true"
/>
<TextView
android:id="@+id/v_gsm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/datePicker1"
android:layout_marginTop="29dp"
android:text="Numéro
GSM"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<EditText
android:id="@+id/t_gsm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/v_gsm"
android:layout_alignBottom="@+id/v_gsm"
android:layout_toRightOf="@+id/v_gsm"
android:hint="votre numéro
GSM"
android:inputType="number" />
<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/t_gsm"
android:layout_marginTop="23dp"
android:text="Editer"
/>
</RelativeLayout>
Après le fichier de présentation, nous proposons le fichier java récupérant les informations de notre formulaire :
package com.formation.form;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
public class Main extends Activity implements OnClickListener {
/** Called when the activity
is first created. */
// Les
variables réceptrices
Button b;
EditText nom,prenom,gsm;
String s_nom,s_prenom,s_gsm,dt;
DatePicker d;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// La récupération des données à transmettre
nom=(EditText)findViewById(R.id.t_nom);
d=(DatePicker)findViewById(R.id.datePicker1);
prenom=(EditText)findViewById(R.id.t_prenom);
gsm=(EditText)findViewById(R.id.t_gsm);
b=(Button)findViewById(R.id.b1);
b.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent
i;
i=
new Intent(this,Main2.class);
// L’envoi des informations à travers putExtra
i.putExtra("val1",nom.getText().toString());
i.putExtra("val2",prenom.getText().toString());
i.putExtra("val3",gsm.getText().toString());
i.putExtra("val4",d.getYear());
startActivity(i);
}
}
Le fichier de présentation recevant les informations de notre formulaire :
Le format équivalent en xml :
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/b2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Retour"
/>
<EditText
android:id="@+id/largetxt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.30"
android:inputType="textMultiLine"
>
<requestFocus />
</EditText>
</LinearLayout>
Le fichier java récupérant les informations de notre formulaire :
package com.formation.form;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class Main2 extends Activity implements OnClickListener {
// Les
variables réceptrices
Button b;
EditText v;
String s1,s2,s3,s4;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
v=(EditText)findViewById(R.id.largetxt);
b=(Button)findViewById(R.id.b2);
// La récupération des données transmises
Bundle extras = getIntent().getExtras();
if (extras != null) {
s1 =
extras.getString("val1");
s2 = extras.getString("val2");
s3 = extras.getString("val3");
s4 = extras.getString("val4");}
// Affichage
des informations reçus
v.setText("Bonjour "+s1+"-"+s2+" votre numéro de gsm est "+s3+ " votre date de naissance est
"+s4);
b.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent
j;
j=
new Intent(this,Main.class);
startActivity(j);
}
}
Et finalement, il nous reste à déclaré la deuxième activité dans le fichier AndroidManifest.xml comme suit :
Format xml associe :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.formation.form"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8"
/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Main"
android:label="@string/app_name"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name="Main2"
android:label="deuxieme
activité"
>
</activity>
</application>
Voila, notre application est achevée, il nous reste à voir les fruits de notre travail par son exécution sur l’émulateur.
http://www.androiddeveloppement.com/
RépondreSupprimerhttp://www.androiddeveloppement.com
RépondreSupprimer