Frau Nerd

Wie du in einer App das aktuelle Datum anzeigen kannst (Android App Tutorial)

In diesem Android Studio Tutorial zeige ich, wie du das aktuelle Datum in einer App anzeigen kannst. Der Einfachheit halber wieder nach dem Klick auf einen Button.

 

Grundsätzliches zur App

Bei dieser App (genannt AktuellesDatum) habe ich mich wieder für API 16 (Android 4.1, Jelly Bean) und eine „Empty Activity“ entschieden.

Erneut ist der Aufbau simpel und soll nur die eine Funktion (aktelles Datum nach Buttonklick) zeigen. Sichtbar sind lediglich zwei TextViews und ein Button. Okay, ein TextView. Erst durch Drücken des Buttons wird das Datum im zweiten TextView angezeigt.

 

Die activity_main.xml

Wir verwenden wieder ein lineares Layout mit vertikaler Ausrichtung. Dort hinein setzen wir zuerst ein TextView.

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Welches Datum ist heute?"
    android:paddingLeft="20dp"
    android:paddingTop="20dp"
    android:id="@+id/textView1"/>

Die Werte von paddingLeft/paddingTop sind für ein etwas besseres Layout auf „20dp“ gesetzt. Der Text – „Welches Datum ist heute?“ entspricht der essentiellen Frage unserer App. 😉 Und die ID ist „textView1“, weil wir noch ein zweites TextView verwenden werden.

Aber darum geht es ein Stück weiter unten. Denn das folgende Element ist  zunächst ein Button:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Datum"
    android:id="@+id/button"
    android:layout_gravity="center_horizontal" />

Die Beschriftung „Datum“ ist wenig originell, das ist aber relativ egal. Aus layouttechnischen Gründen ist der Button wieder horizontal zentriert.

Jetzt kommt das zweite TextView:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textView2"
    android:paddingTop="20dp"
    android:paddingLeft="20dp" />

In meinem Fall hat es die ID „textView2“, es könnte aber auch einen anderen sinnvollen Namen haben, wie zum Beispiel „hierstehtdasdatum“. 😛 Wieder 20dp Padding für Top und Left.

Design-Ansicht der activity_main.xml: TextView, Button, (leeres) TextView

 

 

Die MainActivity.java

Wir brauchen zunächst die Variablen button und textview2.

Button button;
TextView textview2;

In der Methode onCreate ergänzen wir die folgenden drei Zeilen

textview2 = (TextView) findViewById(R.id.textView2);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);

und lassen dann mit Klick auf das unterschlängelte „this“ und Alt+Enter die Methode onClick durch Android Studio implementieren. In dieser neuen Methode machen wir jetzt weiter.

Wir kommen nämlich zum Datum. Dafür verwenden wir die Klasse Calendar. Wir erzeugen zunächst eine Instanz und nennen sie in diesem Fall… „kalender“! Clever, hm? 😉

Calendar kalender = Calendar.getInstance();

Würden wir jetzt Calendar direkt nach der Zeit fragen, bekämen wir folgendes ausgegeben:

Ausgabe von kalender.getTime().toString() in textView2

Wir wollen aber nur das Datum und nicht die aktuelle Zeit plus Zeitzone dazu. Zumindest in diesem Fall. Deshalb benutzen wir zusätzlich die Klasse SimpleDateFormat, erzeugen ein Objekt datumsformat und lassen dieses die Ausgabe von kalender.getTime() formatieren. Schließlich wird der Text von textView2 auf diese formatierte Ausgabe gesetzt.

SimpleDateFormat datumsformat = new SimpleDateFormat("dd.MM.yyyy");
textview2.setText(datumsformat.format(kalender.getTime()));

Das Format „dd.MM.yyyy“ sieht folgendermaßen aus:

Ausgabe im Format „dd.MM.yyyy“

 

 

Zusammenfassung

Insgesamt sind das, in diesem Fall, 6 Zeilen Code für das aktuelle Datum.

3 Zeilen am Ende von onCreate:

textview2 = (TextView) findViewById(R.id.textView2);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);

3 Zeilen in onClick:

Calendar kalender = Calendar.getInstance();
SimpleDateFormat datumsformat = new SimpleDateFormat("dd.MM.yyyy");
textview2.setText(datumsformat.format(kalender.getTime()));

Ziemlich simpel, oder? 🙂



🙂 Klick hier für Bücher zum Thema Android-Programmierung!* 🙂