<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=79.240.89.137</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=79.240.89.137"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/79.240.89.137"/>
	<updated>2026-05-06T22:35:53Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19619</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19619"/>
		<updated>2013-02-27T08:22:07Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: /* Intent Binding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stichworte:&lt;br /&gt;
Activity, Text Widget View Objekt, Intent&lt;br /&gt;
&lt;br /&gt;
Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Als oft wieder kehrende Grundfunktionen lernen wir wie man eine &amp;#039;&amp;#039;&amp;#039;neue Activity&amp;#039;&amp;#039;&amp;#039; aufruft und über ein &amp;#039;&amp;#039;&amp;#039;Intent&amp;#039;&amp;#039;&amp;#039; an diese &amp;#039;&amp;#039;&amp;#039;Daten überträgt&amp;#039;&amp;#039;&amp;#039; und dort eine &amp;#039;&amp;#039;&amp;#039;Ausgabe über ein View Objekt&amp;#039;&amp;#039;&amp;#039; macht.&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== Neue Activity aufrufen und anlegen ==&lt;br /&gt;
=== onClick Event für den Send Button ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;activity_main.xml&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;src/MainActivity.java&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wichtig&amp;#039;&amp;#039;&amp;#039; zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;public&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;void&amp;#039;&amp;#039;&amp;#039; als Rückgabewert hat&lt;br /&gt;
* Einen &amp;#039;&amp;#039;&amp;#039;View als einzigen Parameter&amp;#039;&amp;#039;&amp;#039; hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die &amp;#039;&amp;#039;&amp;#039;Intents&amp;#039;&amp;#039;&amp;#039;. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel - eine &amp;#039;&amp;#039;&amp;#039;Verbindung zwischen Komponenten&amp;#039;&amp;#039;&amp;#039; vorstellen, mit denen man beabsichtigt etwas zu tun (Intent, Intention). So gehts:&lt;br /&gt;
&lt;br /&gt;
in &amp;#039;&amp;#039;sendMessage()&amp;#039;&amp;#039; erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein &amp;#039;&amp;#039;&amp;#039;Context&amp;#039;&amp;#039;&amp;#039; (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die &amp;#039;&amp;#039;&amp;#039;Klasse der App Komponente&amp;#039;&amp;#039;&amp;#039;, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der &amp;#039;&amp;#039;&amp;#039;putExtra&amp;#039;&amp;#039;&amp;#039; Methode kann der Intent verschiedene Typen von &amp;#039;&amp;#039;&amp;#039;Daten als Key-Value Paare&amp;#039;&amp;#039;&amp;#039; übermitteln. &amp;#039;&amp;#039;putExtra(key,value)&amp;#039;&amp;#039; Die Konstante &amp;#039;&amp;#039;EXTRA_MESSAGE&amp;#039;&amp;#039; definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;#039;&amp;#039;&amp;#039;findViewById&amp;#039;&amp;#039;&amp;#039; können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Konstante&amp;#039;&amp;#039;&amp;#039; definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Überblick:&lt;br /&gt;
* Activity aus Main Activity starten&lt;br /&gt;
* Activity Klasse anlegen&lt;br /&gt;
* Fehlermeldungen für alte Plattformen verhindern&lt;br /&gt;
* onCreate Funktion &lt;br /&gt;
* Titel der neuen Activity und diese zum Manifest hinzufügen&lt;br /&gt;
* Informationen aus dem Intent holen&lt;br /&gt;
* Layout der neuen Activity&lt;br /&gt;
&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein. In der Methode &amp;#039;&amp;#039;startActivity()&amp;#039;&amp;#039; wird der Intend übergeben und das System startet eine Instanz der in Intent definierten Activity.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an. sie sollte im gleichen Package liegen wie die MainActivity.&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;br /&gt;
&lt;br /&gt;
Man kann die Datei &amp;#039;&amp;#039;src/DisplayMessageActivity.java&amp;#039;&amp;#039; natürlich auch von Hand anlegen. Eclipse legt allerdings schon vorab das Grundgerüst mit imports und einigen Funktionen (onCreate, onCreateOptionsMenu, onOptionsItemSelected() an.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Jede Subklasse von Activity benötigt die Funktion &amp;#039;&amp;#039;onCreate()&amp;#039;&amp;#039;. Sie wird beim Start vom System aufgerufen. Darin wird über die Funktion &amp;#039;&amp;#039;setcontentView()&amp;#039;&amp;#039; das &amp;#039;&amp;#039;&amp;#039;Layout initialisiert&amp;#039;&amp;#039;&amp;#039; (die xml Datei) und man kann diverse Initialisierungen vornehmen. Eclipse legt von sich aus schon eine Layout-Datei an (activity_display_message.xml) und initialisiert sie:&lt;br /&gt;
 setContentView(R.layout.activity_display_message);&lt;br /&gt;
Das passen wir aber noch an.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onCreateOptionsMenu() brauchen wir nicht und löschen diese.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onOptionsItemSelected() behandelt die Android Zurück-Taste. Diese lassen wir erst mal.&lt;br /&gt;
&lt;br /&gt;
==== ActionBar ====&lt;br /&gt;
In der onCreate funktion finden wir eine ActionBar Funktion um den Software Zurück-Button (engl. Up Button) zu setzen. Die ActionBar API ist jedoch erst ab Honeycomb (API Level 11) Verfügbar. Deshalb fragen wir vorher die Version ab und setzen ein SuppressLint Tag (siehe [[Android Development - Referenz]] ) um Fehlermeldungen von Lint zu verhindern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Titel der neuen Activity ===&lt;br /&gt;
Eclipse macht dies automatisch und legt in der stings.xml die Zeile &lt;br /&gt;
 &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
an.&lt;br /&gt;
=== Activity zum Manifest hinzufügen ===&lt;br /&gt;
Auch das hat Eclipse schon erledigt. Man kann im Nachhinein natürlich noch Anpassungen machen.&lt;br /&gt;
Datei: AndroidManifest.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das android:parentActivityName definiert die übergeordnete Seite für die neueren Apis, damit der Up Button richtig funktioniert. Vor Android 4.1 (Api 16) benötigt man das meta-data Element.&lt;br /&gt;
&lt;br /&gt;
== Information aus dem Intent holen ==&lt;br /&gt;
Wir können in der neuen Activity mit getIntent() auf den Intent und die enthaltenen Daten Zugreifen. Das machen wir in der onCreate() Funktion:&lt;br /&gt;
&lt;br /&gt;
 Intent intent = getIntent();&lt;br /&gt;
 String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
&lt;br /&gt;
Nicht vergessen die notwendigen Imports zu machen. (&amp;#039;&amp;#039;import android.content.Intent;&amp;#039;&amp;#039; Eclipse: Strg + Shift + O)&lt;br /&gt;
&lt;br /&gt;
== Nachricht anzeigen ==&lt;br /&gt;
Um den Text in der neuen Activity darzustellen nehmen wir ein TextView Widget (wieder ein View Objekt) und nutzen die setText() Funktion. Das TextView Objekt hängen mit der setContentView() Funktion als oberstes root-objekt in die Activity.&lt;br /&gt;
&lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
&lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kompletter Programmcode ==&lt;br /&gt;
===MainActivity.java===&lt;br /&gt;
Aus dem Layout Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package de.webmynet.firstapp;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.Menu;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.activity_main);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
		// Inflate the menu; this adds items to the action bar if it is present.&lt;br /&gt;
		getMenuInflater().inflate(R.menu.activity_main, menu);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
		startActivity(intent);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===activity_main.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;horizontal&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;EditText android:id=&amp;quot;@+id/edit_message&amp;quot;&lt;br /&gt;
	    android:layout_weight=&amp;quot;1&amp;quot;&lt;br /&gt;
	    android:layout_width=&amp;quot;0dp&amp;quot;&lt;br /&gt;
	    android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:hint=&amp;quot;@string/edit_message&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;Button &lt;br /&gt;
	    android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:text=&amp;quot;@string/button_send&amp;quot;&lt;br /&gt;
	    android:onClick=&amp;quot;sendMessage&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DisplayMessageActivity.java===&lt;br /&gt;
Ohne die nicht benötigte von Eclipse angelegte onOptionsItemSelected(MenuItem item) Funktion &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package de.webmynet.firstapp;&lt;br /&gt;
&lt;br /&gt;
import android.annotation.SuppressLint;&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Build;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.support.v4.app.NavUtils;&lt;br /&gt;
import android.view.MenuItem;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
&lt;br /&gt;
public class DisplayMessageActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	@SuppressLint(&amp;quot;NewApi&amp;quot;)&lt;br /&gt;
    @Override&lt;br /&gt;
    protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
        super.onCreate(savedInstanceState);&lt;br /&gt;
        &lt;br /&gt;
        // Get the message from the intent&lt;br /&gt;
        Intent intent = getIntent();&lt;br /&gt;
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
        &lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
        &lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;br /&gt;
        &lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===activity_display_message.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RelativeLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;.DisplayMessageActivity&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;TextView&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_centerHorizontal=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:layout_centerVertical=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;@string/hello_world&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/RelativeLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strings.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;string name=&amp;quot;app_name&amp;quot;&amp;gt;First App&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;menu_settings&amp;quot;&amp;gt;Settings&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;button_send&amp;quot;&amp;gt;Absenden&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;edit_message&amp;quot;&amp;gt;Gib was ein&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;hello_world&amp;quot;&amp;gt;Hello world!&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/resources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AndroidManifest.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;manifest xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    package=&amp;quot;de.webmynet.firstapp&amp;quot;&lt;br /&gt;
    android:versionCode=&amp;quot;1&amp;quot;&lt;br /&gt;
    android:versionName=&amp;quot;1.0&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-sdk&lt;br /&gt;
        android:minSdkVersion=&amp;quot;8&amp;quot;&lt;br /&gt;
        android:targetSdkVersion=&amp;quot;17&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;application&lt;br /&gt;
        android:allowBackup=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:icon=&amp;quot;@drawable/ic_launcher&amp;quot;&lt;br /&gt;
        android:label=&amp;quot;@string/app_name&amp;quot;&lt;br /&gt;
        android:theme=&amp;quot;@style/AppTheme&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/app_name&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
                &amp;lt;action android:name=&amp;quot;android.intent.action.MAIN&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;category android:name=&amp;quot;android.intent.category.LAUNCHER&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
    &amp;lt;/application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19618</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19618"/>
		<updated>2013-02-27T08:20:35Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stichworte:&lt;br /&gt;
Activity, Text Widget View Objekt, Intent&lt;br /&gt;
&lt;br /&gt;
Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Als oft wieder kehrende Grundfunktionen lernen wir wie man eine &amp;#039;&amp;#039;&amp;#039;neue Activity&amp;#039;&amp;#039;&amp;#039; aufruft und über ein &amp;#039;&amp;#039;&amp;#039;Intent&amp;#039;&amp;#039;&amp;#039; an diese &amp;#039;&amp;#039;&amp;#039;Daten überträgt&amp;#039;&amp;#039;&amp;#039; und dort eine &amp;#039;&amp;#039;&amp;#039;Ausgabe über ein View Objekt&amp;#039;&amp;#039;&amp;#039; macht.&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== Neue Activity aufrufen und anlegen ==&lt;br /&gt;
=== onClick Event für den Send Button ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;activity_main.xml&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;src/MainActivity.java&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wichtig&amp;#039;&amp;#039;&amp;#039; zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;public&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;void&amp;#039;&amp;#039;&amp;#039; als Rückgabewert hat&lt;br /&gt;
* Einen &amp;#039;&amp;#039;&amp;#039;View als einzigen Parameter&amp;#039;&amp;#039;&amp;#039; hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent Binding ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die &amp;#039;&amp;#039;&amp;#039;Intents&amp;#039;&amp;#039;&amp;#039;. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel - eine &amp;#039;&amp;#039;&amp;#039;Verbindung zwischen Komponenten&amp;#039;&amp;#039;&amp;#039; vorstellen, mit denen man beabsichtigt etwas zu tun (Intent, Intention). So gehts:&lt;br /&gt;
&lt;br /&gt;
in &amp;#039;&amp;#039;sendMessage()&amp;#039;&amp;#039; erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein &amp;#039;&amp;#039;&amp;#039;Context&amp;#039;&amp;#039;&amp;#039; (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die &amp;#039;&amp;#039;&amp;#039;Klasse der App Komponente&amp;#039;&amp;#039;&amp;#039;, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der &amp;#039;&amp;#039;&amp;#039;putExtra&amp;#039;&amp;#039;&amp;#039; Methode kann der Intent verschiedene Typen von &amp;#039;&amp;#039;&amp;#039;Daten als Key-Value Paare&amp;#039;&amp;#039;&amp;#039; übermitteln. &amp;#039;&amp;#039;putExtra(key,value)&amp;#039;&amp;#039; Die Konstante &amp;#039;&amp;#039;EXTRA_MESSAGE&amp;#039;&amp;#039; definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;#039;&amp;#039;&amp;#039;findViewById&amp;#039;&amp;#039;&amp;#039; können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Konstante&amp;#039;&amp;#039;&amp;#039; definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Überblick:&lt;br /&gt;
* Activity aus Main Activity starten&lt;br /&gt;
* Activity Klasse anlegen&lt;br /&gt;
* Fehlermeldungen für alte Plattformen verhindern&lt;br /&gt;
* onCreate Funktion &lt;br /&gt;
* Titel der neuen Activity und diese zum Manifest hinzufügen&lt;br /&gt;
* Informationen aus dem Intent holen&lt;br /&gt;
* Layout der neuen Activity&lt;br /&gt;
&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein. In der Methode &amp;#039;&amp;#039;startActivity()&amp;#039;&amp;#039; wird der Intend übergeben und das System startet eine Instanz der in Intent definierten Activity.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an. sie sollte im gleichen Package liegen wie die MainActivity.&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;br /&gt;
&lt;br /&gt;
Man kann die Datei &amp;#039;&amp;#039;src/DisplayMessageActivity.java&amp;#039;&amp;#039; natürlich auch von Hand anlegen. Eclipse legt allerdings schon vorab das Grundgerüst mit imports und einigen Funktionen (onCreate, onCreateOptionsMenu, onOptionsItemSelected() an.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Jede Subklasse von Activity benötigt die Funktion &amp;#039;&amp;#039;onCreate()&amp;#039;&amp;#039;. Sie wird beim Start vom System aufgerufen. Darin wird über die Funktion &amp;#039;&amp;#039;setcontentView()&amp;#039;&amp;#039; das &amp;#039;&amp;#039;&amp;#039;Layout initialisiert&amp;#039;&amp;#039;&amp;#039; (die xml Datei) und man kann diverse Initialisierungen vornehmen. Eclipse legt von sich aus schon eine Layout-Datei an (activity_display_message.xml) und initialisiert sie:&lt;br /&gt;
 setContentView(R.layout.activity_display_message);&lt;br /&gt;
Das passen wir aber noch an.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onCreateOptionsMenu() brauchen wir nicht und löschen diese.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onOptionsItemSelected() behandelt die Android Zurück-Taste. Diese lassen wir erst mal.&lt;br /&gt;
&lt;br /&gt;
==== ActionBar ====&lt;br /&gt;
In der onCreate funktion finden wir eine ActionBar Funktion um den Software Zurück-Button (engl. Up Button) zu setzen. Die ActionBar API ist jedoch erst ab Honeycomb (API Level 11) Verfügbar. Deshalb fragen wir vorher die Version ab und setzen ein SuppressLint Tag (siehe [[Android Development - Referenz]] ) um Fehlermeldungen von Lint zu verhindern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Titel der neuen Activity ===&lt;br /&gt;
Eclipse macht dies automatisch und legt in der stings.xml die Zeile &lt;br /&gt;
 &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
an.&lt;br /&gt;
=== Activity zum Manifest hinzufügen ===&lt;br /&gt;
Auch das hat Eclipse schon erledigt. Man kann im Nachhinein natürlich noch Anpassungen machen.&lt;br /&gt;
Datei: AndroidManifest.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das android:parentActivityName definiert die übergeordnete Seite für die neueren Apis, damit der Up Button richtig funktioniert. Vor Android 4.1 (Api 16) benötigt man das meta-data Element.&lt;br /&gt;
&lt;br /&gt;
== Information aus dem Intent holen ==&lt;br /&gt;
Wir können in der neuen Activity mit getIntent() auf den Intent und die enthaltenen Daten Zugreifen. Das machen wir in der onCreate() Funktion:&lt;br /&gt;
&lt;br /&gt;
 Intent intent = getIntent();&lt;br /&gt;
 String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
&lt;br /&gt;
Nicht vergessen die notwendigen Imports zu machen. (&amp;#039;&amp;#039;import android.content.Intent;&amp;#039;&amp;#039; Eclipse: Strg + Shift + O)&lt;br /&gt;
&lt;br /&gt;
== Nachricht anzeigen ==&lt;br /&gt;
Um den Text in der neuen Activity darzustellen nehmen wir ein TextView Widget (wieder ein View Objekt) und nutzen die setText() Funktion. Das TextView Objekt hängen mit der setContentView() Funktion als oberstes root-objekt in die Activity.&lt;br /&gt;
&lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
&lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kompletter Programmcode ==&lt;br /&gt;
===MainActivity.java===&lt;br /&gt;
Aus dem Layout Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package de.webmynet.firstapp;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.Menu;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.activity_main);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
		// Inflate the menu; this adds items to the action bar if it is present.&lt;br /&gt;
		getMenuInflater().inflate(R.menu.activity_main, menu);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
		startActivity(intent);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===activity_main.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;horizontal&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;EditText android:id=&amp;quot;@+id/edit_message&amp;quot;&lt;br /&gt;
	    android:layout_weight=&amp;quot;1&amp;quot;&lt;br /&gt;
	    android:layout_width=&amp;quot;0dp&amp;quot;&lt;br /&gt;
	    android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:hint=&amp;quot;@string/edit_message&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;Button &lt;br /&gt;
	    android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:text=&amp;quot;@string/button_send&amp;quot;&lt;br /&gt;
	    android:onClick=&amp;quot;sendMessage&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DisplayMessageActivity.java===&lt;br /&gt;
Ohne die nicht benötigte von Eclipse angelegte onOptionsItemSelected(MenuItem item) Funktion &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package de.webmynet.firstapp;&lt;br /&gt;
&lt;br /&gt;
import android.annotation.SuppressLint;&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Build;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.support.v4.app.NavUtils;&lt;br /&gt;
import android.view.MenuItem;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
&lt;br /&gt;
public class DisplayMessageActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	@SuppressLint(&amp;quot;NewApi&amp;quot;)&lt;br /&gt;
    @Override&lt;br /&gt;
    protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
        super.onCreate(savedInstanceState);&lt;br /&gt;
        &lt;br /&gt;
        // Get the message from the intent&lt;br /&gt;
        Intent intent = getIntent();&lt;br /&gt;
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
        &lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
        &lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;br /&gt;
        &lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===activity_display_message.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RelativeLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;.DisplayMessageActivity&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;TextView&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_centerHorizontal=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:layout_centerVertical=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;@string/hello_world&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/RelativeLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strings.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;string name=&amp;quot;app_name&amp;quot;&amp;gt;First App&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;menu_settings&amp;quot;&amp;gt;Settings&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;button_send&amp;quot;&amp;gt;Absenden&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;edit_message&amp;quot;&amp;gt;Gib was ein&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;hello_world&amp;quot;&amp;gt;Hello world!&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/resources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AndroidManifest.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;manifest xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    package=&amp;quot;de.webmynet.firstapp&amp;quot;&lt;br /&gt;
    android:versionCode=&amp;quot;1&amp;quot;&lt;br /&gt;
    android:versionName=&amp;quot;1.0&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-sdk&lt;br /&gt;
        android:minSdkVersion=&amp;quot;8&amp;quot;&lt;br /&gt;
        android:targetSdkVersion=&amp;quot;17&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;application&lt;br /&gt;
        android:allowBackup=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:icon=&amp;quot;@drawable/ic_launcher&amp;quot;&lt;br /&gt;
        android:label=&amp;quot;@string/app_name&amp;quot;&lt;br /&gt;
        android:theme=&amp;quot;@style/AppTheme&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/app_name&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
                &amp;lt;action android:name=&amp;quot;android.intent.action.MAIN&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;category android:name=&amp;quot;android.intent.category.LAUNCHER&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
    &amp;lt;/application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19617</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19617"/>
		<updated>2013-02-27T08:16:48Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== Neue Activity aufrufen und anlegen ==&lt;br /&gt;
=== onClick Event für den Send Button ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;activity_main.xml&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;src/MainActivity.java&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wichtig&amp;#039;&amp;#039;&amp;#039; zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;public&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;void&amp;#039;&amp;#039;&amp;#039; als Rückgabewert hat&lt;br /&gt;
* Einen &amp;#039;&amp;#039;&amp;#039;View als einzigen Parameter&amp;#039;&amp;#039;&amp;#039; hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent Binding ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die &amp;#039;&amp;#039;&amp;#039;Intents&amp;#039;&amp;#039;&amp;#039;. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel - eine &amp;#039;&amp;#039;&amp;#039;Verbindung zwischen Komponenten&amp;#039;&amp;#039;&amp;#039; vorstellen, mit denen man beabsichtigt etwas zu tun (Intent, Intention). So gehts:&lt;br /&gt;
&lt;br /&gt;
in &amp;#039;&amp;#039;sendMessage()&amp;#039;&amp;#039; erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein &amp;#039;&amp;#039;&amp;#039;Context&amp;#039;&amp;#039;&amp;#039; (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die &amp;#039;&amp;#039;&amp;#039;Klasse der App Komponente&amp;#039;&amp;#039;&amp;#039;, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der &amp;#039;&amp;#039;&amp;#039;putExtra&amp;#039;&amp;#039;&amp;#039; Methode kann der Intent verschiedene Typen von &amp;#039;&amp;#039;&amp;#039;Daten als Key-Value Paare&amp;#039;&amp;#039;&amp;#039; übermitteln. &amp;#039;&amp;#039;putExtra(key,value)&amp;#039;&amp;#039; Die Konstante &amp;#039;&amp;#039;EXTRA_MESSAGE&amp;#039;&amp;#039; definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;#039;&amp;#039;&amp;#039;findViewById&amp;#039;&amp;#039;&amp;#039; können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Konstante&amp;#039;&amp;#039;&amp;#039; definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Überblick:&lt;br /&gt;
* Activity aus Main Activity starten&lt;br /&gt;
* Activity Klasse anlegen&lt;br /&gt;
* Fehlermeldungen für alte Plattformen verhindern&lt;br /&gt;
* onCreate Funktion &lt;br /&gt;
* Titel der neuen Activity und diese zum Manifest hinzufügen&lt;br /&gt;
* Informationen aus dem Intent holen&lt;br /&gt;
* Layout der neuen Activity&lt;br /&gt;
&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein. In der Methode &amp;#039;&amp;#039;startActivity()&amp;#039;&amp;#039; wird der Intend übergeben und das System startet eine Instanz der in Intent definierten Activity.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an. sie sollte im gleichen Package liegen wie die MainActivity.&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;br /&gt;
&lt;br /&gt;
Man kann die Datei &amp;#039;&amp;#039;src/DisplayMessageActivity.java&amp;#039;&amp;#039; natürlich auch von Hand anlegen. Eclipse legt allerdings schon vorab das Grundgerüst mit imports und einigen Funktionen (onCreate, onCreateOptionsMenu, onOptionsItemSelected() an.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Jede Subklasse von Activity benötigt die Funktion &amp;#039;&amp;#039;onCreate()&amp;#039;&amp;#039;. Sie wird beim Start vom System aufgerufen. Darin wird über die Funktion &amp;#039;&amp;#039;setcontentView()&amp;#039;&amp;#039; das &amp;#039;&amp;#039;&amp;#039;Layout initialisiert&amp;#039;&amp;#039;&amp;#039; (die xml Datei) und man kann diverse Initialisierungen vornehmen. Eclipse legt von sich aus schon eine Layout-Datei an (activity_display_message.xml) und initialisiert sie:&lt;br /&gt;
 setContentView(R.layout.activity_display_message);&lt;br /&gt;
Das passen wir aber noch an.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onCreateOptionsMenu() brauchen wir nicht und löschen diese.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onOptionsItemSelected() behandelt die Android Zurück-Taste. Diese lassen wir erst mal.&lt;br /&gt;
&lt;br /&gt;
==== ActionBar ====&lt;br /&gt;
In der onCreate funktion finden wir eine ActionBar Funktion um den Software Zurück-Button (engl. Up Button) zu setzen. Die ActionBar API ist jedoch erst ab Honeycomb (API Level 11) Verfügbar. Deshalb fragen wir vorher die Version ab und setzen ein SuppressLint Tag (siehe [[Android Development - Referenz]] ) um Fehlermeldungen von Lint zu verhindern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Titel der neuen Activity ===&lt;br /&gt;
Eclipse macht dies automatisch und legt in der stings.xml die Zeile &lt;br /&gt;
 &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
an.&lt;br /&gt;
=== Activity zum Manifest hinzufügen ===&lt;br /&gt;
Auch das hat Eclipse schon erledigt. Man kann im Nachhinein natürlich noch Anpassungen machen.&lt;br /&gt;
Datei: AndroidManifest.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das android:parentActivityName definiert die übergeordnete Seite für die neueren Apis, damit der Up Button richtig funktioniert. Vor Android 4.1 (Api 16) benötigt man das meta-data Element.&lt;br /&gt;
&lt;br /&gt;
== Information aus dem Intent holen ==&lt;br /&gt;
Wir können in der neuen Activity mit getIntent() auf den Intent und die enthaltenen Daten Zugreifen. Das machen wir in der onCreate() Funktion:&lt;br /&gt;
&lt;br /&gt;
 Intent intent = getIntent();&lt;br /&gt;
 String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
&lt;br /&gt;
Nicht vergessen die notwendigen Imports zu machen. (&amp;#039;&amp;#039;import android.content.Intent;&amp;#039;&amp;#039; Eclipse: Strg + Shift + O)&lt;br /&gt;
&lt;br /&gt;
== Nachricht anzeigen ==&lt;br /&gt;
Um den Text in der neuen Activity darzustellen nehmen wir ein TextView Widget (wieder ein View Objekt) und nutzen die setText() Funktion. Das TextView Objekt hängen mit der setContentView() Funktion als oberstes root-objekt in die Activity.&lt;br /&gt;
&lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
&lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kompletter Programmcode ==&lt;br /&gt;
===MainActivity.java===&lt;br /&gt;
Aus dem Layout Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package de.webmynet.firstapp;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.Menu;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.activity_main);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
		// Inflate the menu; this adds items to the action bar if it is present.&lt;br /&gt;
		getMenuInflater().inflate(R.menu.activity_main, menu);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
		startActivity(intent);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===activity_main.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;horizontal&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;EditText android:id=&amp;quot;@+id/edit_message&amp;quot;&lt;br /&gt;
	    android:layout_weight=&amp;quot;1&amp;quot;&lt;br /&gt;
	    android:layout_width=&amp;quot;0dp&amp;quot;&lt;br /&gt;
	    android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:hint=&amp;quot;@string/edit_message&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;Button &lt;br /&gt;
	    android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:text=&amp;quot;@string/button_send&amp;quot;&lt;br /&gt;
	    android:onClick=&amp;quot;sendMessage&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DisplayMessageActivity.java===&lt;br /&gt;
Ohne die nicht benötigte von Eclipse angelegte onOptionsItemSelected(MenuItem item) Funktion &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package de.webmynet.firstapp;&lt;br /&gt;
&lt;br /&gt;
import android.annotation.SuppressLint;&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Build;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.support.v4.app.NavUtils;&lt;br /&gt;
import android.view.MenuItem;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
&lt;br /&gt;
public class DisplayMessageActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	@SuppressLint(&amp;quot;NewApi&amp;quot;)&lt;br /&gt;
    @Override&lt;br /&gt;
    protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
        super.onCreate(savedInstanceState);&lt;br /&gt;
        &lt;br /&gt;
        // Get the message from the intent&lt;br /&gt;
        Intent intent = getIntent();&lt;br /&gt;
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
        &lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
        &lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;br /&gt;
        &lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===activity_display_message.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RelativeLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;.DisplayMessageActivity&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;TextView&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_centerHorizontal=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:layout_centerVertical=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;@string/hello_world&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/RelativeLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strings.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;string name=&amp;quot;app_name&amp;quot;&amp;gt;First App&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;menu_settings&amp;quot;&amp;gt;Settings&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;button_send&amp;quot;&amp;gt;Absenden&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;edit_message&amp;quot;&amp;gt;Gib was ein&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;hello_world&amp;quot;&amp;gt;Hello world!&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/resources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AndroidManifest.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;manifest xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    package=&amp;quot;de.webmynet.firstapp&amp;quot;&lt;br /&gt;
    android:versionCode=&amp;quot;1&amp;quot;&lt;br /&gt;
    android:versionName=&amp;quot;1.0&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-sdk&lt;br /&gt;
        android:minSdkVersion=&amp;quot;8&amp;quot;&lt;br /&gt;
        android:targetSdkVersion=&amp;quot;17&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;application&lt;br /&gt;
        android:allowBackup=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:icon=&amp;quot;@drawable/ic_launcher&amp;quot;&lt;br /&gt;
        android:label=&amp;quot;@string/app_name&amp;quot;&lt;br /&gt;
        android:theme=&amp;quot;@style/AppTheme&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/app_name&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
                &amp;lt;action android:name=&amp;quot;android.intent.action.MAIN&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;category android:name=&amp;quot;android.intent.category.LAUNCHER&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
    &amp;lt;/application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19616</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19616"/>
		<updated>2013-02-27T08:08:29Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: /* Nachricht anzeigen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== onClick Event für den Send Button ==&lt;br /&gt;
&lt;br /&gt;
 activity_main.xml&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. (src/MainActivity.java)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
Wichtig zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* public&lt;br /&gt;
* void als Rückgabewert hat&lt;br /&gt;
* Einen View als einzigen parameter hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent Binding ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die Intents. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel zwischen Komponenten vorstellen. So gehts:&lt;br /&gt;
&lt;br /&gt;
in sendMessage() erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein Context (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die Klasse der App Komponente, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der putExtra Methode kann der Intent verschiedene Typen von Daten als Key-Value Paare übermitteln. putExtra(key,value) Die Konstante EXTRA_MESSAGE definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit findViewById können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die Konstante definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Überblick:&lt;br /&gt;
* Activity aus Main Activity starten&lt;br /&gt;
* Activity Klasse anlegen&lt;br /&gt;
* Fehlermeldungen für alte Plattformen verhindern&lt;br /&gt;
* onCreate Funktion &lt;br /&gt;
* Titel der neuen Activity und diese zum Manifest hinzufügen&lt;br /&gt;
* Informationen aus dem Intent holen&lt;br /&gt;
* Layout der neuen Activity&lt;br /&gt;
&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein. In der Methode &amp;#039;&amp;#039;startActivity()&amp;#039;&amp;#039; wird der Intend übergeben und das System startet eine Instanz der in Intent definierten Activity.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an. sie sollte im gleichen Package liegen wie die MainActivity.&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;br /&gt;
&lt;br /&gt;
Man kann die Datei &amp;#039;&amp;#039;src/DisplayMessageActivity.java&amp;#039;&amp;#039; natürlich auch von Hand anlegen. Eclipse legt allerdings schon vorab das Grundgerüst mit imports und einigen Funktionen (onCreate, onCreateOptionsMenu, onOptionsItemSelected() an.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Jede Subklasse von Activity benötigt die Funktion &amp;#039;&amp;#039;onCreate()&amp;#039;&amp;#039;. Sie wird beim Start vom System aufgerufen. Darin wird über die Funktion &amp;#039;&amp;#039;setcontentView()&amp;#039;&amp;#039; das &amp;#039;&amp;#039;&amp;#039;Layout initialisiert&amp;#039;&amp;#039;&amp;#039; (die xml Datei) und man kann diverse Initialisierungen vornehmen. Eclipse legt von sich aus schon eine Layout-Datei an (activity_display_message.xml) und initialisiert sie:&lt;br /&gt;
 setContentView(R.layout.activity_display_message);&lt;br /&gt;
Das passen wir aber noch an.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onCreateOptionsMenu() brauchen wir nicht und löschen diese.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onOptionsItemSelected() behandelt die Android Zurück-Taste. Diese lassen wir erst mal.&lt;br /&gt;
&lt;br /&gt;
==== ActionBar ====&lt;br /&gt;
In der onCreate funktion finden wir eine ActionBar Funktion um den Software Zurück-Button (engl. Up Button) zu setzen. Die ActionBar API ist jedoch erst ab Honeycomb (API Level 11) Verfügbar. Deshalb fragen wir vorher die Version ab und setzen ein SuppressLint Tag (siehe [[Android Development - Referenz]] ) um Fehlermeldungen von Lint zu verhindern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Titel der neuen Activity ===&lt;br /&gt;
Eclipse macht dies automatisch und legt in der stings.xml die Zeile &lt;br /&gt;
 &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
an.&lt;br /&gt;
=== Activity zum Manifest hinzufügen ===&lt;br /&gt;
Auch das hat Eclipse schon erledigt. Man kann im Nachhinein natürlich noch Anpassungen machen.&lt;br /&gt;
Datei: AndroidManifest.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das android:parentActivityName definiert die übergeordnete Seite für die neueren Apis, damit der Up Button richtig funktioniert. Vor Android 4.1 (Api 16) benötigt man das meta-data Element.&lt;br /&gt;
&lt;br /&gt;
== Information aus dem Intent holen ==&lt;br /&gt;
Wir können in der neuen Activity mit getIntent() auf den Intent und die enthaltenen Daten Zugreifen. Das machen wir in der onCreate() Funktion:&lt;br /&gt;
&lt;br /&gt;
 Intent intent = getIntent();&lt;br /&gt;
 String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
&lt;br /&gt;
Nicht vergessen die notwendigen Imports zu machen. (&amp;#039;&amp;#039;import android.content.Intent;&amp;#039;&amp;#039; Eclipse: Strg + Shift + O)&lt;br /&gt;
&lt;br /&gt;
== Nachricht anzeigen ==&lt;br /&gt;
Um den Text in der neuen Activity darzustellen nehmen wir ein TextView Widget (wieder ein View Objekt) und nutzen die setText() Funktion. Das TextView Objekt hängen mit der setContentView() Funktion als oberstes root-objekt in die Activity.&lt;br /&gt;
&lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
&lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kompletter Programmcode ==&lt;br /&gt;
===MainActivity.java===&lt;br /&gt;
Aus dem Layout Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package de.webmynet.firstapp;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.Menu;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.activity_main);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
		// Inflate the menu; this adds items to the action bar if it is present.&lt;br /&gt;
		getMenuInflater().inflate(R.menu.activity_main, menu);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
		startActivity(intent);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===activity_main.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;horizontal&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;EditText android:id=&amp;quot;@+id/edit_message&amp;quot;&lt;br /&gt;
	    android:layout_weight=&amp;quot;1&amp;quot;&lt;br /&gt;
	    android:layout_width=&amp;quot;0dp&amp;quot;&lt;br /&gt;
	    android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:hint=&amp;quot;@string/edit_message&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;Button &lt;br /&gt;
	    android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
	    android:text=&amp;quot;@string/button_send&amp;quot;&lt;br /&gt;
	    android:onClick=&amp;quot;sendMessage&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DisplayMessageActivity.java===&lt;br /&gt;
Ohne die nicht benötigte von Eclipse angelegte onOptionsItemSelected(MenuItem item) Funktion &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package de.webmynet.firstapp;&lt;br /&gt;
&lt;br /&gt;
import android.annotation.SuppressLint;&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Build;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.support.v4.app.NavUtils;&lt;br /&gt;
import android.view.MenuItem;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
&lt;br /&gt;
public class DisplayMessageActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	@SuppressLint(&amp;quot;NewApi&amp;quot;)&lt;br /&gt;
    @Override&lt;br /&gt;
    protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
        super.onCreate(savedInstanceState);&lt;br /&gt;
        &lt;br /&gt;
        // Get the message from the intent&lt;br /&gt;
        Intent intent = getIntent();&lt;br /&gt;
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
        &lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
        &lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;br /&gt;
        &lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===activity_display_message.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RelativeLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;.DisplayMessageActivity&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;TextView&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_centerHorizontal=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:layout_centerVertical=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;@string/hello_world&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/RelativeLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strings.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;string name=&amp;quot;app_name&amp;quot;&amp;gt;First App&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;menu_settings&amp;quot;&amp;gt;Settings&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;button_send&amp;quot;&amp;gt;Absenden&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;edit_message&amp;quot;&amp;gt;Gib was ein&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;hello_world&amp;quot;&amp;gt;Hello world!&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/resources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AndroidManifest.xml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;manifest xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    package=&amp;quot;de.webmynet.firstapp&amp;quot;&lt;br /&gt;
    android:versionCode=&amp;quot;1&amp;quot;&lt;br /&gt;
    android:versionName=&amp;quot;1.0&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-sdk&lt;br /&gt;
        android:minSdkVersion=&amp;quot;8&amp;quot;&lt;br /&gt;
        android:targetSdkVersion=&amp;quot;17&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;application&lt;br /&gt;
        android:allowBackup=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:icon=&amp;quot;@drawable/ic_launcher&amp;quot;&lt;br /&gt;
        android:label=&amp;quot;@string/app_name&amp;quot;&lt;br /&gt;
        android:theme=&amp;quot;@style/AppTheme&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/app_name&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
                &amp;lt;action android:name=&amp;quot;android.intent.action.MAIN&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;category android:name=&amp;quot;android.intent.category.LAUNCHER&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
    &amp;lt;/application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19615</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19615"/>
		<updated>2013-02-27T07:54:39Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: /* Zweite Activity starten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== onClick Event für den Send Button ==&lt;br /&gt;
&lt;br /&gt;
 activity_main.xml&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. (src/MainActivity.java)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
Wichtig zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* public&lt;br /&gt;
* void als Rückgabewert hat&lt;br /&gt;
* Einen View als einzigen parameter hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent Binding ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die Intents. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel zwischen Komponenten vorstellen. So gehts:&lt;br /&gt;
&lt;br /&gt;
in sendMessage() erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein Context (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die Klasse der App Komponente, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der putExtra Methode kann der Intent verschiedene Typen von Daten als Key-Value Paare übermitteln. putExtra(key,value) Die Konstante EXTRA_MESSAGE definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit findViewById können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die Konstante definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Überblick:&lt;br /&gt;
* Activity aus Main Activity starten&lt;br /&gt;
* Activity Klasse anlegen&lt;br /&gt;
* Fehlermeldungen für alte Plattformen verhindern&lt;br /&gt;
* onCreate Funktion &lt;br /&gt;
* Titel der neuen Activity und diese zum Manifest hinzufügen&lt;br /&gt;
* Informationen aus dem Intent holen&lt;br /&gt;
* Layout der neuen Activity&lt;br /&gt;
&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein. In der Methode &amp;#039;&amp;#039;startActivity()&amp;#039;&amp;#039; wird der Intend übergeben und das System startet eine Instanz der in Intent definierten Activity.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an. sie sollte im gleichen Package liegen wie die MainActivity.&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;br /&gt;
&lt;br /&gt;
Man kann die Datei &amp;#039;&amp;#039;src/DisplayMessageActivity.java&amp;#039;&amp;#039; natürlich auch von Hand anlegen. Eclipse legt allerdings schon vorab das Grundgerüst mit imports und einigen Funktionen (onCreate, onCreateOptionsMenu, onOptionsItemSelected() an.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Jede Subklasse von Activity benötigt die Funktion &amp;#039;&amp;#039;onCreate()&amp;#039;&amp;#039;. Sie wird beim Start vom System aufgerufen. Darin wird über die Funktion &amp;#039;&amp;#039;setcontentView()&amp;#039;&amp;#039; das &amp;#039;&amp;#039;&amp;#039;Layout initialisiert&amp;#039;&amp;#039;&amp;#039; (die xml Datei) und man kann diverse Initialisierungen vornehmen. Eclipse legt von sich aus schon eine Layout-Datei an (activity_display_message.xml) und initialisiert sie:&lt;br /&gt;
 setContentView(R.layout.activity_display_message);&lt;br /&gt;
Das passen wir aber noch an.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onCreateOptionsMenu() brauchen wir nicht und löschen diese.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onOptionsItemSelected() behandelt die Android Zurück-Taste. Diese lassen wir erst mal.&lt;br /&gt;
&lt;br /&gt;
==== ActionBar ====&lt;br /&gt;
In der onCreate funktion finden wir eine ActionBar Funktion um den Software Zurück-Button (engl. Up Button) zu setzen. Die ActionBar API ist jedoch erst ab Honeycomb (API Level 11) Verfügbar. Deshalb fragen wir vorher die Version ab und setzen ein SuppressLint Tag (siehe [[Android Development - Referenz]] ) um Fehlermeldungen von Lint zu verhindern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Titel der neuen Activity ===&lt;br /&gt;
Eclipse macht dies automatisch und legt in der stings.xml die Zeile &lt;br /&gt;
 &amp;lt;string name=&amp;quot;title_activity_display_message&amp;quot;&amp;gt;My message&amp;lt;/string&amp;gt;&lt;br /&gt;
an.&lt;br /&gt;
=== Activity zum Manifest hinzufügen ===&lt;br /&gt;
Auch das hat Eclipse schon erledigt. Man kann im Nachhinein natürlich noch Anpassungen machen.&lt;br /&gt;
Datei: AndroidManifest.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;activity&lt;br /&gt;
            android:name=&amp;quot;de.webmynet.firstapp.DisplayMessageActivity&amp;quot;&lt;br /&gt;
            android:label=&amp;quot;@string/title_activity_display_message&amp;quot;&lt;br /&gt;
            android:parentActivityName=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;meta-data&lt;br /&gt;
                android:name=&amp;quot;android.support.PARENT_ACTIVITY&amp;quot;&lt;br /&gt;
                android:value=&amp;quot;de.webmynet.firstapp.MainActivity&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/activity&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das android:parentActivityName definiert die übergeordnete Seite für die neueren Apis, damit der Up Button richtig funktioniert. Vor Android 4.1 (Api 16) benötigt man das meta-data Element.&lt;br /&gt;
&lt;br /&gt;
== Information aus dem Intent holen ==&lt;br /&gt;
Wir können in der neuen Activity mit getIntent() auf den Intent und die enthaltenen Daten Zugreifen. Das machen wir in der onCreate() Funktion:&lt;br /&gt;
&lt;br /&gt;
 Intent intent = getIntent();&lt;br /&gt;
 String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);&lt;br /&gt;
&lt;br /&gt;
Nicht vergessen die notwendigen Imports zu machen. (&amp;#039;&amp;#039;import android.content.Intent;&amp;#039;&amp;#039; Eclipse: Strg + Shift + O)&lt;br /&gt;
&lt;br /&gt;
== Nachricht anzeigen ==&lt;br /&gt;
Um den Text in der neuen Activity darzustellen nehmen wir ein TextView Widget (wieder ein View Objekt) und nutzen die setText() Funktion. Das TextView Objekt hängen mit der setContentView() Funktion als oberstes root-objekt in die Activity.&lt;br /&gt;
&lt;br /&gt;
        // Create the text view object&lt;br /&gt;
        TextView textView = new TextView(this);&lt;br /&gt;
        textView.setTextSize(40);&lt;br /&gt;
        textView.setText(message);&lt;br /&gt;
&lt;br /&gt;
        // Set the Text view as the root activity layout&lt;br /&gt;
        setContentView(textView);&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19614</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19614"/>
		<updated>2013-02-27T07:19:54Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: /* ActionBar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== onClick Event für den Send Button ==&lt;br /&gt;
&lt;br /&gt;
 activity_main.xml&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. (src/MainActivity.java)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
Wichtig zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* public&lt;br /&gt;
* void als Rückgabewert hat&lt;br /&gt;
* Einen View als einzigen parameter hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent Binding ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die Intents. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel zwischen Komponenten vorstellen. So gehts:&lt;br /&gt;
&lt;br /&gt;
in sendMessage() erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein Context (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die Klasse der App Komponente, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der putExtra Methode kann der Intent verschiedene Typen von Daten als Key-Value Paare übermitteln. putExtra(key,value) Die Konstante EXTRA_MESSAGE definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit findViewById können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die Konstante definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein. In der Methode startActivity wird der Intend übergeben und das System startet eine Instanz der in Intent definierten Activity.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an. sie sollte im gleichen Package liegen wie die MainActivity.&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;br /&gt;
&lt;br /&gt;
Man kann die Datei src/DisplayMessageActivity.java natürlich auch von Hand anlegen. Eclipse legt allerdings schon vorab das Grundgerüst mit imports und einigen Funktionen (onCreate, onCreateOptionsMenu, onOptionsItemSelected() an.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onCreateOptionsMenu() brauchen wir nicht und löschen diese.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onOptionsItemSelected() behandelt die Android Zurück-Taste. Diese lassen wir erst mal.&lt;br /&gt;
&lt;br /&gt;
==== ActionBar ====&lt;br /&gt;
In der onCreate funktion finden wir eine ActionBar Funktion um den Software Zurückbutton zu setzen. Die ActionBar API ist jedoch erst ab Honeycomb (API Level 11) Verfügbar. Deshalb fragen wir vorher die Version ab und setzen ein SuppressLint Tag (siehe [[Android Development - Referenz]] ) um Fehlermeldungen von Lint zu verhindern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19613</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19613"/>
		<updated>2013-02-27T07:19:05Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: /* Zweite Activity starten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== onClick Event für den Send Button ==&lt;br /&gt;
&lt;br /&gt;
 activity_main.xml&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. (src/MainActivity.java)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
Wichtig zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* public&lt;br /&gt;
* void als Rückgabewert hat&lt;br /&gt;
* Einen View als einzigen parameter hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent Binding ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die Intents. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel zwischen Komponenten vorstellen. So gehts:&lt;br /&gt;
&lt;br /&gt;
in sendMessage() erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein Context (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die Klasse der App Komponente, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der putExtra Methode kann der Intent verschiedene Typen von Daten als Key-Value Paare übermitteln. putExtra(key,value) Die Konstante EXTRA_MESSAGE definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit findViewById können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die Konstante definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein. In der Methode startActivity wird der Intend übergeben und das System startet eine Instanz der in Intent definierten Activity.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an. sie sollte im gleichen Package liegen wie die MainActivity.&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;br /&gt;
&lt;br /&gt;
Man kann die Datei src/DisplayMessageActivity.java natürlich auch von Hand anlegen. Eclipse legt allerdings schon vorab das Grundgerüst mit imports und einigen Funktionen (onCreate, onCreateOptionsMenu, onOptionsItemSelected() an.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onCreateOptionsMenu() brauchen wir nicht und löschen diese.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onOptionsItemSelected() behandelt die Android Zurück-Taste. Diese lassen wir erst mal.&lt;br /&gt;
&lt;br /&gt;
==== ActionBar ====&lt;br /&gt;
In der onCreate funktion finden wir eine ActionBar Funktion um den Software Zurückbutton zu setzen. Die ActionBar API ist jedoch erst ab Honeycomb (API Level 11) Verfügbar. Deshalb fragen wir vorher die Version ab und setzen ein SuppressLint Tag (siehe [[Android - Referenz]] ) um Fehlermeldungen von Lint zu verhindern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        // Show the Up button in the action bar.&lt;br /&gt;
        if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.HONEYCOMB){&lt;br /&gt;
        	getActionBar().setDisplayHomeAsUpEnabled(true);&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_-_Lint&amp;diff=19612</id>
		<title>Android - Lint</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_-_Lint&amp;diff=19612"/>
		<updated>2013-02-27T07:11:03Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: Die Seite wurde neu angelegt: „Code Analyse Tool zum Debugging.  Konfiguration: * Abschalten in einer Java Klasse mit dem Tag @SuppressLint   @SuppressLint(&amp;quot;NewApi&amp;quot;) * Lint Checking in einem Be…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Code Analyse Tool zum Debugging.&lt;br /&gt;
&lt;br /&gt;
Konfiguration:&lt;br /&gt;
* Abschalten in einer Java Klasse mit dem Tag @SuppressLint &lt;br /&gt;
 @SuppressLint(&amp;quot;NewApi&amp;quot;)&lt;br /&gt;
* Lint Checking in einem Bereich eines XML Files abschalten mit dem Attribut tools:ignore .&lt;br /&gt;
* Globale Konfiguration im lint.xml File&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Referenz&amp;diff=19611</id>
		<title>Android Development - Referenz</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Referenz&amp;diff=19611"/>
		<updated>2013-02-27T07:07:05Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Android Glossar ==&lt;br /&gt;
&lt;br /&gt;
=== adb ===&lt;br /&gt;
&lt;br /&gt;
=== ant ===&lt;br /&gt;
&lt;br /&gt;
=== Lint ===&lt;br /&gt;
Lint ist ein Tool zur Analyse des Source Code eines Projekts. [[Android - Lint]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wichtige Dateien und Ordner Struktur ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 AndroidManifest.xml&lt;br /&gt;
Enthält Infos zur App wie z.B. Kompatibilität, SDK etc.&lt;br /&gt;
 android:targetSdkVersion &lt;br /&gt;
sollte möglichst hoch gewählt werden.&lt;br /&gt;
&lt;br /&gt;
 src/ &lt;br /&gt;
Der Hauptordner der die Quellcode Dateien enthält. Normalerweise enthält er eine &amp;#039;&amp;#039;&amp;#039;Activity&amp;#039;&amp;#039;&amp;#039; Klasse, die aktiviert wird wenn die App gestartet wird.&lt;br /&gt;
&lt;br /&gt;
 res/&lt;br /&gt;
Enthält die meisten Resourcen. Sie werden meist auf Unterordner verteilt. Gängige sind:&lt;br /&gt;
    drawable-hdpi/&lt;br /&gt;
für grafische Objekte wie Bitmaäs für hdpi Screens.&lt;br /&gt;
&lt;br /&gt;
    layout/&lt;br /&gt;
für Bildschirm-Layout Dateien&lt;br /&gt;
    values/&lt;br /&gt;
für verschiedene xml-Dateien die Werte enthalten (z.B. Farbdefinitionen oder Strings)&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19610</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19610"/>
		<updated>2013-02-27T07:02:27Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: /* Zweite Activity starten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== onClick Event für den Send Button ==&lt;br /&gt;
&lt;br /&gt;
 activity_main.xml&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. (src/MainActivity.java)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
Wichtig zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* public&lt;br /&gt;
* void als Rückgabewert hat&lt;br /&gt;
* Einen View als einzigen parameter hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent Binding ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die Intents. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel zwischen Komponenten vorstellen. So gehts:&lt;br /&gt;
&lt;br /&gt;
in sendMessage() erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein Context (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die Klasse der App Komponente, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der putExtra Methode kann der Intent verschiedene Typen von Daten als Key-Value Paare übermitteln. putExtra(key,value) Die Konstante EXTRA_MESSAGE definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit findViewById können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die Konstante definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein. In der Methode startActivity wird der Intend übergeben und das System startet eine Instanz der in Intent definierten Activity.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an. sie sollte im gleichen Package liegen wie die MainActivity.&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;br /&gt;
&lt;br /&gt;
Man kann die Datei src/DisplayMessageActivity.java natürlich auch von Hand anlegen. Eclipse legt allerdings schon vorab das Grundgerüst mit imports und einigen Funktionen (onCreate, onCreateOptionsMenu, onOptionsItemSelected() an.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onCreateOptionsMenu() brauchen wir nicht und löschen diese.&lt;br /&gt;
&lt;br /&gt;
Die Funktion onOptionsItemSelected() behandelt die Android Zurück-Taste. Diese lassen wir erst mal.&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19609</id>
		<title>Android Development - Grundfunktionen Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Grundfunktionen_Programmieren&amp;diff=19609"/>
		<updated>2013-02-27T06:44:49Z</updated>

		<summary type="html">&lt;p&gt;79.240.89.137: /* Intent Binding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Baut auf diesem Artikel auf:&lt;br /&gt;
&lt;br /&gt;
[[Android Development - User Interface programmieren]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein kleines Layout mit einem Textfeld und einem Button. Im Folgenden wollen wir das ganze mit einer zweiten Activity verbinden, die auf die Eingabe reagiert.&lt;br /&gt;
&lt;br /&gt;
== onClick Event für den Send Button ==&lt;br /&gt;
&lt;br /&gt;
 activity_main.xml&lt;br /&gt;
Attribut hinzufügen:&lt;br /&gt;
 android:onClick=&amp;quot;sendMessage&amp;quot;&lt;br /&gt;
Bei Klick auf den Button soll die Methode sendMessage aufgerufen werden. Diese fügen wir in der MainActivity Klasse hinzu. (src/MainActivity.java)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/** Called when the user clicks the send button **/&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		// Do something&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dazu muß noch die View Klasse importiert werden. &lt;br /&gt;
 import android.view.View;&lt;br /&gt;
In Eclipse kann man fehlende Klassen einfach mit&lt;br /&gt;
 Ctrl + Shift + O (PC)&lt;br /&gt;
 Cmd + Shift + O (Mac)&lt;br /&gt;
&lt;br /&gt;
Wichtig zu wissen ist das die Methode für onClick folgende Eigenschaften hat:&lt;br /&gt;
* public&lt;br /&gt;
* void als Rückgabewert hat&lt;br /&gt;
* Einen View als einzigen parameter hat (dieser enthält das View Objekt, das geklickt wurde)&lt;br /&gt;
&lt;br /&gt;
=== Intent Binding ===&lt;br /&gt;
Wir möchten als Reaktion auf den Klick eine zweite Activity starten. Dafür gibt es die Intents. die Intention eines Intent ist es einzelne Komponenten zu verbinden. Am häufigsten werden sie dazu eingesetzt eine weitere Activity zu starten. &lt;br /&gt;
&lt;br /&gt;
Man kann sich eine Intent quasi als Kabel zwischen Komponenten vorstellen. So gehts:&lt;br /&gt;
&lt;br /&gt;
in sendMessage() erzeugen wir einen Intent.&lt;br /&gt;
 Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
Der Konstruktor hat zwei Parameter, es sind quasi die Anschlüsse des Intent. &lt;br /&gt;
* Parameter 1 ist ein Context (Klasse). Quasi der Startpunkt des Intent. Hier können wir this nehmen (die Activity) weil Activity eine Subklasse von Context ist.&lt;br /&gt;
* Parameter 2 ist die Klasse der App Komponente, an die der Intent liefern soll. Quasi der Endpunkt des Kabels. hier ist es die Activity die gestartet werden soll.&lt;br /&gt;
&lt;br /&gt;
Die Klasse DisplayMessageActivity.class gibt es noch nicht. Deshalb meckert Eclipse noch (...cannot be resolved...) Das holen wir gleich nach, aber zuerst erweitern wir die Funktion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	public void sendMessage(View view) {&lt;br /&gt;
		Intent intent = new Intent(this, DisplayMessageActivity.class);&lt;br /&gt;
		EditText editText = (EditText) findViewById(R.id.edit_message);&lt;br /&gt;
		String message = editText.getText().toString();&lt;br /&gt;
		intent.putExtra(EXTRA_MESSAGE, message);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu brauchen wir noch zwei imports:&lt;br /&gt;
 import android.content.Intent;&lt;br /&gt;
 import android.widget.EditText;&lt;br /&gt;
&lt;br /&gt;
Mit der putExtra Methode kann der Intent verschiedene Typen von Daten als Key-Value Paare übermitteln. putExtra(key,value) Die Konstante EXTRA_MESSAGE definieren wir gleich.&lt;br /&gt;
&lt;br /&gt;
Mit findViewById können wir das Text-View-Objekt holen und danach die Textnachricht auslesen.&lt;br /&gt;
&lt;br /&gt;
Die Konstante definieren wir in der MainActivity Klasse&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class MainActivity extends Activity {&lt;br /&gt;
	public final static String EXTRA_MESSAGE = &amp;quot;de.webmynet.firstapp.MESSAGE&amp;quot;;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist gut den Package Prefix der App für die intent extras zu nehmen. Das sorgt dafür, daß sie nur einmal vorkommen und nicht mit andern Apps interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Zweite Activity starten ===&lt;br /&gt;
Wir fügen in sendMessage noch die Zeile:&lt;br /&gt;
 startActivity(intent); &lt;br /&gt;
ein.&lt;br /&gt;
&lt;br /&gt;
Mit Eclipse legen wir ganz einfach eine neue Activity an:&lt;br /&gt;
 New (das Icon) &amp;gt; Android &amp;gt; Android Activity&lt;br /&gt;
 Blank Activity&lt;br /&gt;
 Project: FirstApp (oder wie die App heißt)&lt;br /&gt;
 Activity Name: DisplayMessageActivity (s.o.)&lt;br /&gt;
 Layout Name: activity_display_message&lt;br /&gt;
 Title: My message&lt;br /&gt;
 Hierarchial Parent: de.webmynet.firstapp.MainActivity&lt;br /&gt;
 Navigation Type: None&lt;/div&gt;</summary>
		<author><name>79.240.89.137</name></author>
	</entry>
</feed>