Getting Started - Erste Schritte zur Entwicklung und zum Testen einer eigenen App
(EN google-translate)
(PL google-translate)
Geeignetes Testgerät: ASUS NEXUS7 2012er mit 3G (Sim-Schacht)
ASUS NEXUS7 2012er mit 3G (Sim-Schacht) bei AmazonDie Nexus_reihe wird von Google an verschiedene Hersteller in Auftrag gegeben und zeichnet sich durch ein "unverfälschtes" Betriebssystem aus, was nützlich bei der Entwicklung ist.
Zudem läßt sich bei diesen Geräte sehr leicht ein Entwicklermodus einstellen, der es erlaubt, selber entwickelte Apps direkt vom PC über das USB-Kabel auf das Gerät zu übertragen und dort zu testen.
Tablet NEXUS 7 für die Entwicklung freigeben: |
|
Java6 installieren
Für Knoppix 6.7.1 wird das Development-Kit OpenJava 6 installiert.
ADT-Eclipse-bundle installieren und einrichten
Es gibt eine Eclipse-Variante, die die notwendigen Entwicklertools für Android-App-Entwicklung bereits enthält:
|
Erste App erstellen
Bild 0-1: Neues "Android Application Project" anlegen.
Bild 0-2: Einstellungen
|
Bild 0-3: Mit eigenem Icon, mit activity (Interaktion) und Ordner im Workspace.
Bild 0-4: Icon wählen.
Bild 0-5: Blank Activity (default) wählen.
Bild 0-6: Name für Activity- und Layout-Datei festlegen.
Bild 0-7: Sicht auf Projekt öffnen.
Erste App erstellen - Layout anpassen in activity_main.xml anpassen
Bild 0-8: Java-Browsing-Perspective wählen.
Bild 0-9: Datei layout - > res - > activity_main.xml öffnen und "unser" Gerät einstellen.
Damit das Layout so dargestellt wird, wie es sich beim Zielgerät später ergibt, kann das Zielgerät ausgewählt werden:
Bild 0-10: Zielgerät wegen Auflösung auswählen.
|
Bild 0-11: ID für den schon vorhandenen Hinweistext (Label) vergeben: Rechte Maustaste auf Textfeld, Assign ID, Beispiel hier: id_hinweistext.
Weitere GUI-Elemente hinzufügen: Texteingabe, Button Textausgabe, siehe Form Widgets.
Erste App erstellen - Funktionalität in MainActivity.java anpassen
Wie die verwendeten Klassen importiert werden können, läßt sich an ihrer Package-Zugehörigkeit in der API nachschlagen:
Im folgenden wird einfach der Quelltext der XML-Datei und der Java-Datei gezeigt:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/idvonhallotext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/idvonhallotext" android:layout_alignParentBottom="true" android:layout_marginBottom="155dp" android:layout_marginLeft="60dp" android:ems="10" android:inputType="text" > <requestFocus /> </EditText> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/idvonhallotext" android:layout_centerHorizontal="true" android:layout_marginTop="74dp" android:text="Button" /> </RelativeLayout>
Code 0-1: Datei activity_main.xml (Nicht ganz das gleiche Projekt wie oben besprochen!)
package com.example.hallo; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View.OnClickListener; import android.widget.EditText; import android.view.View; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Listener beim Knopf registrieren: Button knopf = (Button) findViewById(R.id.button1); knopf.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void onClick(View v) { EditText text1 = (EditText) findViewById(R.id.editText1); text1.setText("Hallo"); } }
Code 0-2: Datei MainActivity.java (Nicht ganz das gleiche Projekt wie oben besprochen!)
App auf einer Emulation laufen lassen
|
Bild 0-12: Erzeugen eines "Android Virtual Device" als Emulator für die neue App.
Bild 0-13: AVD starten.
|
Bild 0-14: Starten der Emulation