1 / 22

Softwareentwicklung für Android Carsten Taubert

Softwareentwicklung für Android Carsten Taubert. Ablauf. installieren der SDK installieren der Entwicklungsumgebung programmieren der Anwendung testen durch Emulatoren deployen der fertigen Anwendung (installieren auf Mobilgerät) (Veröffentlichen im WWW). Ablauf mit Java ME.

wynn
Download Presentation

Softwareentwicklung für Android Carsten Taubert

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Softwareentwicklung für Android Carsten Taubert

  2. Ablauf installieren der SDKinstallieren der Entwicklungsumgebungprogrammieren der Anwendungtesten durch Emulatoren deployen der fertigen Anwendung (installieren auf Mobilgerät) (Veröffentlichen im WWW)

  3. Ablauf mit Java ME SDK: Java ME (Wireless Toolkit)NetBeans oderEclipse mit EclipseME PluginTesten durch Standardemulatoren von Sun <name>.jar Datei exportieren (auf Handy installieren) (im Jamba SparAbo verkaufen)

  4. Ablauf mit Java ME Vorteil: läuft auf fast allen gängigen Mobiltelefonen Ausnahme: • Smartphones mit Windows mobile (Möglichkeit der Installation) • iPhone • Smartphones mit Android

  5. Ablauf mit Android installieren der Android SDKinstallieren des Eclipse Plugin (ADT)programmieren der Anwendungtesten durch Android Emulator deployen der fertigen Anwendung signieren der fertigen Anwendung (installieren auf Mobilgerät) (Veröffentlichen im Android Market)

  6. System - Architektur

  7. Erstes Android Programm • Starter muss von android.app.Activity erben • Keine statische main Methode Beispiel: package net.doncarsten.android; import android.app.Activity; publicclass EmptyClazz extends Activity { }

  8. Hello Android package net.doncarsten.android; import android.app.Activity; publicclass HelloWorld extends Activity { @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } }

  9. Lebenszyklus einer Anwendung public class Activity extends ApplicationContext { protected void onCreate( Bundle savedInstanceState); protected void onStart();protected void onRestart();protected void onResume();   protected void onPause();protected void onStop();protected void onDestroy(); }

  10. public class Activity extends ApplicationContext { protected void onCreate( Bundle savedInstanceState);protected void onStart();protected void onRestart();protected void onResume();protected void onPause();protected void onStop();protected void onDestroy();  } public class Midlet { protected void startApp(); protected void pauseApp();protected void destroyApp();  } Vergleich zu JavaME Android JavaME

  11. Hello Android mit XML Template package net.doncarsten.android; import android.app.Activity; publicclass HelloWorld extends Activity { @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } } setContentView(R.layout.main);

  12. Hello Android mit XML Template XML Datei: res/layout/main.xml <?xmlversion="1.0"encoding="utf-8" ?> <TextViewxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:text="Hello, Android" />

  13. XML - Java Kommunikation <?xmlversion="1.0"encoding="utf-8" ?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"> <TextViewandroid:id="@+id/label"android:text="Hello, Android" /> </RelativeLayout> TextView msgTextView = (TextView) findViewById(R.id.label);msgTextView.setText("Hello, World");

  14. Speichern von Daten • Preferences • meist genutzt • einfaches aufrufen einer Methode • Speichern von Key / Value • Dateien • SQLite Datenbank • Content Provider • Speichern von Daten die in mehreren Anwendungen eingesehen werden • Netzwerk

  15. Speichern durch Preferences Speichern: SharedPreferences settings = this.getPreferences(MODE_PRIVATE); SharedPreferences.Editor editor = settings.edit(); editor.putString("myKey", "myValue"); editor.commit(); Öffnen: SharedPreferences settings = this.getPreferences(MODE_PRIVATE); String elizaText = settings.getString("myKey", "defaultValue");

  16. Kommunikation mit dem Emulator Telnetverbindung telnet localhost <port> Beispiele: SMS: sms send <nummer> <text> Anruf: gsm call <nummer>

  17. Versionierung <?xmlversion="1.0"encoding="utf-8" ?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="net.doncarsten.android" android:versionCode="1" android:versionName="1.0.0"> <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".FormExample" android:label="@string/app_name" > … </activity> </application> </manifest>

  18. Signierung • Jede Anwendung muss signiert werden • Nicht signierte Anwendungen können nicht installiert werden • Selbst erstellte Zertifikate können genuzt werden • Keine Zertifizierungsstelle ( Certificate Authority ) wird benötigt • Zertifizierung durch RSA Verfahren ( private / public Key )

  19. Signierung Exportieren der Anwendung nach <name>.apk Erstellen eines Keys mit keytool

  20. Signierung Signierung der Anwendung mit jarsigner

  21. Veröffentlichen • Android Market ( http://market.android.com ) • registrieren • 25 $ überweisen • Programm uploaden

  22. Danke für die Aufmerksamkeit

More Related