Dienstag, 10. Juli 2012

Android SDK Tutorial

Dieses Tutorial soll einen ersten Einblick in die Software Entwicklung mit dem Android-Framework aufzeigen. Es ist als erster Wurf bewusst sehr knapp gehalten. Das Tutorial wird laufend erweitert.

Das unten stehende Projekt ist schlicht einfach gehalten und es soll aufzeigen, wie intuitiv zu einer Lösung gefunden werden kann.

Installation der Entwicklungsumgebung
Dazu muss erstmal Java, Eclipse und das Android SDK heruntergeladen und installiert werden.
  • Schritt 1:  Download und Installation von Java: http://www.java.com/de/download/  Java wird mit den Standard - Einstellungen des Setup Installationsassistenten installiert
  • Schritt 2:  Download und Installation von Eclipse: http://www.eclipse.org/  Eclipse wird mit den Standard – Einstellungen des Setup Installationsassistenten installiert
  • Schritt 3:  Download und Installation der Android SDK: http://developer.android.com/tools/index.html  Android wird mit den Standard – Einstellungen des Setup Installationsassistenten installiert  Allerdings empfiehlt es sich, alle Packages zu installieren, damit alle Android Plattformen bis  Android 4 installiert werden.
  • Schritt 4: SDK in Eclipse integrieren


Starten der Entwicklungsumgebung

Nach der Installation kann Eclipse gestartet werden.

Neues Projekt anlegen

Wir wählen „File“ - „New“ - „Project“.

Wichtig ist hier, dass wir nicht ein Java Projekt wählen, sondern einfach nur Project, da unser Projekt - Typ später festgelegt wird.
Die Android SDK wird ja quasi als PlugIn in Eclipse eingebettet.


Unter  „New Project“ wählen wir Android > Android Project aus und klicken auf „Next >“




Im nächsten Schritt unter „Create Android Project“ geben wir unter „Project Name“
à AndroidClock ein.





Im nächsten Schritt unter „New Android Project“ à „Select Build Target“ geben wir bekannt, welche Android Version wir verwenden wollen. In unserem Beispiel wählen wir Android 2.1 oder 2.2 aus, können aber auch eine höhere Version verwenden. Dadurch kann aber auch unten stehender Code anders aussehen.





Im nächsten Schritt unter „New Android Project“
à „Application Info“ geben wir bekannt, wie unser Package benannt wird, in unserem Fall „android.Clock“ und hier legen wir auch bereits die „Create Activity“ fest, welche bestimmt, wo der Einsprung in unser Programm stattfindet.

Für unsere erste Anwendung benötigen wir kein Test Projekt.

Mit „Finish“ wird schlussendlich unser Projekt angelegt.


Überblick über die Eclipse SDK Android Entwicklungsumgebung
Im linken Bereich befindet sich der Package Explorer

Dieser beinhaltet sämtliche dem Projekt zugeordneten Dateien. 

Im mittleren Bereich ist der Code Editor
Sämtliche Code-Dateien können hier betrachtet werden:

  - Source  Code
  - Ressourcen Dateien
  - Projekt Dateien
  - Andere

Im rechten Bereich sieht man die Struktur der angezeigten Dateien
Wenn hier zum Beispiel eine Source Code Datei mit der Erweiterung .java geöffnet ist, wird die Programmstruktur gegliedert angezeigt


Anpassen der AndroidClock - Oberfläche

Öffnen wir jetzt im „Package Explorer“ den Reiter à res à Layout à main.xml, wird die Ressource des Startbildschirms im „Code Fenster“ geöffnet mit den Vorgabeeinstellungen unseres neuen Projekts.
Zuerst entfernen wir den TextView von „Hello World, ….“, indem wir die TextView mit der Maustaste selektieren und danach mit der Taste delete  oder entfernen auf unserer Tastatur das Widget entfernen.
Danach wählen wir aus den „Form Widgets“ links oben den TextView aus und ziehen dies auf unser schwarzes Fenster, welches den Workbereich unserer Android – App darstellt und benennen das Widget um, indem wir es wieder selektieren und mit rechter Maustaste im Dropdown Menu Edit Menu auswählen und danach im Fenster „New Id:“ „lblTime“ reinschreiben. Damit kann dieses Control – Widget im Programm – Code unter der Bezeichnung lblTime angesprochen werden.

Wenn wir jetzt auch noch ein ImageView von „Images & Media“ in den Workbereich unserer Android App einfügen, sieht unser Workbereich dann folgendermassen aus:


Einfügen des Programmcodes

Jetzt pasten wir folgenden Code in den AndroidClockActivity.java Code:

package android.Clock;

import java.text.DecimalFormat;
import java.util.Calendar;
import java.util.Date;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class AndroidClockActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Thread myThread = null;
       
        Runnable runnable = new ClockTimer();
        myThread= new Thread(runnable);  
        myThread.start();
    }
       
    public void doWork() {
        runOnUiThread(new Runnable() {
            public void run() {
                try{
                    TextView txtCurrentTime= (TextView)findViewById(R.id.lblTime);
                        Date dt = new Date();
                                              
                        final Calendar c = Calendar.getInstance();
                        int year = c.get(Calendar.YEAR);
                        int month = c.get(Calendar.MONTH) + 1;
                        int day = c.get(Calendar.DAY_OF_MONTH);
                       
                        int hours = dt.getHours();
                        int minutes = dt.getMinutes();
                        int seconds = dt.getSeconds();
                       
                        DecimalFormat formatter2 = new DecimalFormat("00");
                        DecimalFormat formatter4 = new DecimalFormat("0000");
                        String curDay = formatter2.format(day) + "." + formatter2.format(month) + "." + formatter4.format(year);
                        String curTime = formatter2.format(hours) + ":" + formatter2.format(minutes) + ":" + formatter2.format(seconds);
                        txtCurrentTime.setText(curDay + " - " + curTime);
                }catch (Exception e) {}
            }
        });
    }


    class ClockTimer implements Runnable{
        // @Override
        public void run() {
                while(!Thread.currentThread().isInterrupted()){
                    try {
                    doWork();
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                    }catch(Exception e){
                    }
                }
        }
    }
}


Starten der Anwendung

Wird die Uhr jetzt via “Run andoidClock” (grüner / weisser Pfeil) aus der IDE gestartet via den Android Emulator oder direkt auf ein Android Gerät, sieht die Anwendung folgendermassen aus:


Wird die Anwendung direkt auf ein Android Device gestartet, bleibt die Anwendung auf dem Gerät bestehen, kann aber jederzeit wieder deinstalliert werden.

Dies ist ein erster Einblick in die Android Entwicklungsumgebung. Anregungen sind herzlich willkommen.

0 Kommentare:

Kommentar veröffentlichen