Android: Gli Intent Parte2

      Nessun commento su Android: Gli Intent Parte2

google-android-mascot

Ciao a tutti cari amici di iProg nel tutorial precedente abbiamo visto cosa sono gli intent e come usarli all’interno di un’ applicazione, oggi invece vi mostrerò come passare dei dati da un Activity A ad un Activity B.  Passiamo subito con un esempio pratico e creiamo un nuovo progetto, una volta fatto ciò  creiamo una nuova Activity. A questo punto all’interno file layout dell’ Activity principale inseriamo un  EditText  e un Button.

2014-10-20 at 18.05

 

 

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:paddingBottom="@dimen/activity_vertical_margin"
 tools:context=".MyActivity">

<EditText
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:id="@+id/editText"
 android:layout_alignParentTop="true"
 android:layout_alignParentLeft="true"
 android:layout_alignParentStart="true" />

<Button
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="Premimi "
 android:id="@+id/button"
 android:layout_below="@+id/editText" />
</RelativeLayout>

 

 

Ora scriviamo il codice all’ interno del file java dell’ Activity principale

 

protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_my);

 Button button = (Button)findViewById(R.id.button);
 final EditText editText =(EditText)findViewById(R.id.editText);

button.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 Intent intent =new Intent(getApplicationContext(),ActivityDue.class);
 intent.putExtra("nome",editText.getText().toString());
 startActivity(intent);
 }
 });
}
//Codice di Default

L’unica cosa nuova che si può notare all’interno del codice di rispetto al tutorial precedente è:

intent.putExtra("nome",editText.getText().toString());
Possiamo considerare ciò come un dizionario dove nome è la chiave e editText.getText().toString() il valore che ricaviamo dalla EditText. Ora rechiamoci all'interno del file layout della seconda Activity e impostiamola nel seguente modo:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:paddingBottom="@dimen/activity_vertical_margin"
 tools:context="com.example.diegocaridei.passaggioinfo.ActivityDue">

 <TextView
 android:text="@string/hello_world"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:id="@+id/textView"
 android:layout_alignParentRight="true"
 android:layout_alignParentEnd="true"
 android:textSize="22dp"
 android:gravity="center_horizontal" />

</RelativeLayout>
Mentre per quanto concerne il codice java della seconda Activity è il seguente
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_activity_due);

 TextView textView=(TextView)findViewById(R.id.textView);
 textView.setText("Ciao "+getIntent().getExtras().getString("nome"));


 }

 //Codice di default

Grazie a questa riga di codice getIntent().getExtras().getString(“nome”) possiamo recuperare i dati passati dalla prima Activity.
Anim

 

 

download_esempio-300x120