Einzelnen Beitrag anzeigen
Alt 15.01.2010, 08:54   #3 (permalink)
Android-Jeck
Android Guru
 
Benutzerbild von Android-Jeck

Modell: Nexus One & Galaxy S & S2

Registriert seit: 21.09.2009
Beiträge: 2.138
Abgegebene Danke: 347
Erhielt 477 Danke für 218 Beiträge
Standard AW: TUT Sammlung/Linksammlung [SPL/Goldcard/Recovery/...]

[1.0.]
ALLGEMEIN:




ANDROID-SDK, ECLIPSE, ADT Plug-In [deutsche Anleitung]


Vorbereitung

Um starten zu können, muss man sich erstmal folgende Dateien auf seinen Rechner laden:

- Android SDK Android SDK | Android Developers
- Eclipse Plugin* Eclipse Downloads
- ADT-Plugin für Eclipse Installing and Updating ADT | Android Developers

*Installiert wird das Android Plugin wie jedes andere Eclipse Plugin über die Update Funktionen:

Help > Software Updates > Find and Install….
Optioen “Search for new features to install” auswählen
Klick “New Remote Site

url eingeben:
https://dl-ssl.google.com/android/eclipse/


Alle Packete auswählen, dann den Nutzngsbediengungen zustimmen und “Install All” klicken

Danach muss noch der Pfad zum Android SDK in den Preferences angegeben werden:

Window > Preferences..
In der Treeview links Android Suchen
dann unter SDK Location den Pfad wo es liegt angeben


Hello World Applikation
Neues Android Projekt anlegen

New Project → Android → Android Project
Name, Package etc. wie bei normalen Java Applikation
Es wird automatisch folgende Hello World App erstellt (Klasse ist wie gewohnt im src Ordner)

public class HelloAndroid extends Activity {

@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
}
}



Dieses einfache Beispiel besteht grob gesagt aus der HelloWorld Klasse und der R Klasse. Die R Klasse ist dabei die Repräsendation des XML Layouts, das in res/layouts/main.xml. Diese Klasse aktualisiert sich selbst sobald sich in den Layouts etwas ändert. Händisches editieren ist nicht empfohlen.


Ordnerstruktur


src (Source Klassen analog zu tradtionellen Java App)
assets
bin (kompiliertes Dalvik Executable (.dex) File
res
drawable (Grafiken, etc)
layout (xml Dateien mit View Informationen)
values (String Properties)
AndroidManifest.xml



Erstellen eines AVD

Wer mehr darüber erfahren möchte, wie man AVD´s nutzt und welche Optionen zur Verfügung stehen, schaut hier nach:
Android Virtual Devices | Android Developers

Um eure APPs im Android-Emulator starten zu können, müsst ihr ein Android Virtual Device (AVD) erstellen. Eine AVD definiert das System-Image und die Geräte-Einstellungen, die von dem Emulator verwendet werden.

So erstellt ihr eine AVD:
benutzt die "Android Tools", die mit dem Android SDK zur Verfügung gestellt. Öffnet eine Eingabeaufforderung oder Terminal, navigiert zu dem tools / Verzeichnis im SDK-Paket und gebt folgendes ein:

android create avd --target 2 --name my_avd

Das Tool fragt nun, ob ihr ein eigenes "Hardware-Profil" erstellen möchtet. Hier könnt ihr erstmal die Eingabetaste drücken, ud das überspringen ( "nein" ist die Standard-Antwort). Dies konfiguriert eine AVD namens "my_avd", dass die Android 1.5 Plattform verwendet. Die AVD ist nun bereit für den Einsatz im Emulator.

Im obigen Befehl ist die --target-Option erforderlich und gibt den Ort/Ziel an, unter dem es auf dem Emulator läuft. Die --name-Option ist auch erforderlich, diese legt die Namen für die neue AVD fest.


Erstellen eines neuen Android-Projektes

Nachdem man eine AVD erstellt hat, kann man den nächsten Schritt angehen, ein neues Android-Projekt in Eclipse zu starten.

1) In Eclipse, wählt ihr File > New > Project.
Wenn die ADT-Plugin für Eclipse erfolgreich installiert wurde, sollte einen Ordner "Android" markiert sein, der "Android Project" enthalten sollte. (Wenn man bereits einen oder mehrere mehrere Projekte erstellt hat, steht auch noch ein Eintrag für "Android XML-File" zur Verfügung.)
2) Wählt ein ein "Android Project" und klickt auf "Weiter".


[TUT Sammlung] [HOW TO] ROOT/Danger-SPL/Recovery/Launcher/SDK/...-hello_world_0_bild-1.png



3) Füllt die Einzelheiten des Projekts mit den folgenden Werten aus:

Project name: HelloAndroid
Application name: Hello, Android
Package name: com.example.helloandroid
(oder beliebigen Namen)
Create Activity: HelloAndroid
Min SDK Version: 2


Klicken Sie auf Fertig stellen.


[TUT Sammlung] [HOW TO] ROOT/Danger-SPL/Recovery/Launcher/SDK/...-hello_world_1_bild-2.png



Hier ist eine Beschreibung der einzelnen Felder:

Project Name
Dies ist das Eclipse-Projekt - der Name des Verzeichnisses, das die Projektdateien enthält.
[I]Application Name[/I]
Dies ist der spätere Titel für die Anwendung - der Name, der auf dem Android-Gerät erscheint
Package Name
Dies ist der "package namespace" (nach den gleichen Regeln, wie für Pakete in der Programmiersprache Java) wo alle deine Source-Coders abgelegt werden. Dies setzt auch den Namen des Pakets, unter denen die Ausgangs-Aktivität generiert wird. (hoffe, das ist richtig übersetzt...)
Ihr Paket Name muss eindeutig über alle Pakete auf dem Android-System installiert stehen. Aus diesem Grund ist es sehr wichtig, eine "Standard Domain-Style Package" für Ihre Anwendungen zu nutzen. Das obige Beispiel verwendet den "com.example"-Namespace, der einen Namensraum z.B. "Dokumentation" vorbehalten ist - wenn man anfängt seine eigenen Anwendungen zu entwickeln, sollten man einen Namespace nutzen, der seiner Organisation oder Institution entspricht.
Create Activity
Dies ist der Name für die "Class Stub", die vom Plugin generiert wird. Dies ist eine Unterklasse von "Android's Activity class". Eine "Activity" ist einfach eine Klasse, die ausgeführt wird und arbeiten kann. Es kann eine Benutzeroberfläche (UI) schaffen, wenn das gewünscht ist. Wie das Kontrollkästchen andeutet, ist dies optional. Aber in der Regel wird eine "Activity" fast immer als Grundlage für eine Anwendung verwendet.
Min SDK Version
Dieser Wert legt das Minimum des API Level fest, die von deiner Anwendung/APP benötigt wird. Wenn die der hier eingegebene API-Level einem der verfügbaren Ziele entspricht, dann wird dieses "Built Target" automatisch ausgewählt werden (in diesem Fall wird die Eingabe von "2" als der "API-Level" das Android 1,1 Ziel wählen). Mit jeder neuen Version des Android-System-Image und Android SDK werden Ergänzungen oder Änderungen an der API vorgenommen. Wenn dies geschieht, wird ein neuer "API-Level" dem System-Image zugewiesen, welches regelt, was ausgeführt werden darf. Wenn eine Anwendung/APP einen "API-Level" besitzt, der höher ist als das Niveau, das vom Gerät unterstützt wird, dann kann die APP nicht installiert werden.

Hinweis: Mit der Option "Use default location" können Sie den Speicherort auf der Festplatte verändern, wo die Projekt-Dateien erzeugt und gespeichert werden soll. "Build Target" ist das Plattform Ziel, wo dein APP kompiliert wird (dies sollte automatisch ausgewählt werden, basierend auf deiner Min SDK Version).
Beachtet, dass die "Build Target", die man ausgewählt hat, die Android 1,1-Plattform nutzt. Dies bedeutet, dass das APP auf die Android 1,1-Plattform-Bibliothek kompiliert wird. Zur Erinnerung: die AVD, die man oben erstellt hat, läuft auf der Android 1.5 Plattform. Diese müssen nicht übereinstimmen; Android-Anwendungen sind "Zukunft/Aufwärtskompatibel", so dass ein APP, das auf der Android 1,1-Plattform Bibliothek basiert, in der Regel auf der Android 1,5-Plattform läuft. Umgekehrt ist das nicht möglich (die APP´s sind nicht "Abwärts-kompatibel").
Ihre Android-Projekt ist nun fertig. Es sollte im Package Explorer auf der linken Seite sichtbar sein. Öffnet die Datei HelloAndroid.java die sich in HelloAndroid> src> com.example.helloandroid) befindet. Es sollte so aussehen:

Hello, World | Android Developers


Komponenten einer Applikation

Activities repräsentieren Screen auf dem Handsets. Eine Activity kann auf User Inputs reagieren und besteht aus Views (UI). Eine abgeleitete Klasse extends Activity und man muss mit
import android.app.Activity;
importieren. Activities müssen im manifest definiert werden:

<activity class=".MapSearch" android:label="@string/search"></activity>


Soll eine Activity beim Starten des Programms ausgeführt werden kann man sie als Main mit einem Intent-Filter definieren:

<activity class=".MapSearch" android:label="@string/search"></activity>
<intent-filter></intent-filter>
<action android:value="android.intent.action.MAIN"></action>
<category android:value="android.intent.category.LAUNCHER"></category>

- Intent definiert Ablauf einer Applikation. Stelle Action zur Verfügung/ URI. Beispiele: VIEW; EDIT. Request + Data Handling
- Intent Filter Filtert die Weiterleitung eines Intent an eine spezielle Activity.
- Intent Reciever Lauschen auf Ereignisse des Endgerätes. zb. Starten einer Applikation wenn Anruf eingeht. Ist unabhängig von der Applikation und wir im androidmanifest.xml definiert.
- Service Stellt Funktionalität bereit die nicht umittelbar mit User-Interaktionen zu tun haben. zb. MP3 abspielen im Hintergrund. In diesem Fall ist die Activity das UI und das Service der MP3 Decoder und Player
- Content Provider Interface für Standard Datenmanagements-Operationen



EDIT v. 26.02. Ausführung von LordSeth:

Zitat:
Zitat von LordSeth Beitrag anzeigen
Also, erstmal das Hello Kitti Projekt was bei der anleitung angegeben wurde, dafür existiert keine Apk, ich will damit sagen um eine Apk aus Eclipse exportieren u können braucht man eine Apk - in diesem Fall wäre es Hello kitti.apk... (Vergisst das Einfach außer ihr wollt sie Entwickel!)

Das heißt, mal angenommen ihr holt von dieser Seite euch die Source Projekt Datein (der link ist von Cyanogen!) die Settings.apk (es gibt Donut & Eclair Branche) braucht ihr auch eine fertige Settings.apk. Die Source Datein werden in die SDk /plattform/android 1.6/samplers/ kopiert! Da findet ihr auch die Demo Projekte! Wenn nun die Settings Projekt (Source von Cyan) dort hinterlegt wurde, gehts nun in Eclipse und es wird Ein Projekt gestartet, dass scho existiert (kein neues Projekt auswählen!) Erst wenn das Projekt in Eclipse geladen wurde (siehe Eclipse linke Spalte), wird nun diese fertig signierte Settings.apk aus der Rom von Cyan in den Ordner SDk /plattform/android 1.6/samplers/"Projekt Settings"/bin hinein kopiert! Wichtig sonst könnt ihr die APK nicht exportieren! diese Weg wird auch immer durch geführt, wenn z.B. Eure .9.png mit draw9patch gepatch wurden (mann erkennt dies an den Pixelgrenzen) werden die in Eclipse in das Projekt "Settings" in den Ordner res/drawable-mdpi (für Donut apps) importiert! Für Eclair Grafikdatein res/drawable-hdpi! Nicht in den Ordner res/drawable!

So sind die Datein fertig importiert geht ihr nun mit der Maus in die linke Spalte (siehe Bild) mit rechts Klick auf Settings/Android Tool/ Export Unsigned Application Package und speichert diese Settings.apk z.B. auf dem Desktop.

Nun entpackt ihr die Setting.apk und geht in den Ordner res/drawable-mdpi und entnehmt Eure Grafikdatein und könnt sie nun in Eurem Theme etc. importieren!

Wenn ihr .9.png`s für die Framework-res.apk oder andere Apps entwickelt, könnt ihr sie auch in Settings Projekt in den Richtigen Ornder einfügen!

Wichtig ist nur Ihr braucht ein Projekt das auch diese Ornder res/drawable etc. besitzt! Ist ja wohl KLAR!!! Aber mann kann nur eine bestimmte Anzahl an .9.pngs in einem Projekt einfügen so ca. 20-25 Datein (Grafik).

Ich selber habe leider noch nicht geschafft Cyanogen`s Framework Base in Eclipse zu starten, Fehlermeldung Mainfest... fehlt! Vielleicht kann mir da mal einer Helfen oder nen Tip geben wie das geht - wäre Echt klasse.

Ich Hab von nem guten Kolegen hier aus unserem Forum "Android-Hilfe" @Schmalzstulle nen Link bekommen, für ein Tool um Video`s zu gestalten. Will damit sagen ich werde für das, was ich in diesem Post beschrieben hab, Eine Video mal zu Verfügung stellen, damit kleine Ursachen wo anscheinden noch bei vielen Probleme verursachen, bildlich Verständlich weiter zugeben!

Ich hoffe das das erst mal euch weiter Hilft

EDIT: Das Bild zeigt den export der APK!

Name:  Eclips-Projekt.PNG
Hits: 31628
Größe:  35,1 KB

mfg LordSeth

So, für´s erste muss das reichen
Ihr solltet jetzt ein funktionierendes SDK installiert haben.


Quellen:
Android Tutorial - Erich Holzbauer – web and mobile professional
Android SDK | Android Developers
Hello, World | Android Developers
__________________
蘋果過敏 / التفاح الحساسية / Apple алергия / Apple alèji / עפּל אַלערגיע ;-)

Geändert von Android-Jeck (26.02.2010 um 18:40 Uhr) Grund: Durchnummeriert
Android-Jeck ist offline   Mit Zitat antworten
Folgende Benutzer bedanken sich bei Android-Jeck für diesen Beitrag:
=DWD=Speederxx (30.05.2011), Android bum (19.08.2010), anime (30.12.2011), Dark_Rudolf (20.01.2010), FraddyG (25.03.2010), lomycess (11.03.2010), LordSeth (13.02.2010), Mobile surfer (06.04.2010), RealRauch (13.02.2010), ThE_GaMeR (03.02.2010), ThRiLL_KiLL (05.04.2010)