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

 

 

 

[code lang=”bash”]
<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>
[/code]

 

 

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

 

[code lang=”java”]
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
[/code]

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:

[code lang=”bash”]<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>[/code]

Mentre per quanto concerne il codice java della seconda Activity è il seguente

[code lang=”java”] @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[/code]

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

 

 

download_esempio-300x120