kramann.info
© Guido Kramann

Login: Passwort:










1 Getting Started - Erste Schritte zur Entwicklung und zum Testen einer eigenen App

1 Getting Started - Getting started with developing and testing your own app (EN google-translate)

1 Pierwsze kroki - Pierwsze kroki z rozwijaniem i testowaniem własnej aplikacji (PL google-translate)

Geeignetes Testgerät: ASUS NEXUS7 2012er mit 3G (Sim-Schacht)

Suitable test device: ASUS NEXUS7 2012er with 3G (Sim-slot)

Odpowiednie urządzenie testowe: ASUS NEXUS7 2012er z 3G (Sim-slot)

ASUS NEXUS7 2012er mit 3G (Sim-Schacht) bei Amazon

Die 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.

The Nexus_reihe is commissioned by Google to various manufacturers and is characterized by an unadulterated operating system, which is useful in the development.

The Nexus_reihe jest zlecany przez Google różnym producentom i charakteryzuje się niezmodyfikowanym systemem operacyjnym, która jest przydatna w rozwoju.

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. #pi Tablet NEXUS 7 für die Entwicklung freigeben:

In addition, a developer mode can be set very easily with these devices, which allows self-developed apps directly from the PC via the USB cable to the device to transmit and test there.

Ponadto tryb dewelopera można bardzo łatwo ustawić za pomocą tych urządzeń, co pozwala na samodzielne tworzenie aplikacji bezpośrednio z komputera za pośrednictwem Kabel USB do urządzenia do przesyłania i testowania.

  • Settings - > About Tablet (ganz unten) - > Build Number (ganz unten)
  • Mindestens sieben mal auf Build Number drücken.
  • Es erscheint dann "You are now developer" und es exisitert ab dann der Menüpunkt:
  • Settings - > Developer Options

Java6 installieren

Settings - Press bBuild Number / b at least seven times. It then appears You Settings -

Ustawienia - Naciśnij bBuild Number / b co najmniej siedem razy. Wtedy pojawia się Ty Ustawienia -

Für Knoppix 6.7.1 wird das Development-Kit OpenJava 6 installiert.

Install Java6

Zainstaluj Java6

120_jdk.zip - Development-Kit OpenJava 6.

ADT-Eclipse-bundle installieren und einrichten

120_jdk.zip 120_jdk.zip - Development-Kit OpenJava 6.

120_jdk.zip 120_jdk.zip - Development-Kit OpenJava 6.

Es gibt eine Eclipse-Variante, die die notwendigen Entwicklertools für Android-App-Entwicklung bereits enthält:

Install and set up the ADT Eclipse bundle

Zainstaluj i skonfiguruj pakiet Eclipse ADT

adt-bundle-linux-x86-20131030_2.zip - ADT-Eclipse-bundle für Linux i386, 32-Bit-Version.
  • Verzeichnis erstellen: /mnt-system/ANDROID_ADT_APP
  • Bundle entpacken nach /mnt-system/ANDROID_ADT_APP (Es gibt dann /mnt-system/ANDROID_ADT_APP/adt-bundle-linux-x86-20131030)
  • Erstmaliger Start von Eclipse (Doppelclick auf /mnt-system/ANDROID_ADT_APP/adt-bundle-linux-x86-20131030/eclipse/eclipse)
  • Sinnvolles Anlegen des Workspace, z.B. in /mnt-system/ANDROID_ADT_APP/adt_workspace.

Erste App erstellen

Create directory: / mnt-system / ANDROID_ADT_APP Unpack the bundle to / mnt-system / ANDROID_ADT_APP (There is then / mnt-system / ANDROID_ADT_APP / adt-bundle-linux-x86-20131030) First start of Eclipse (double-click on / mnt-system / ANDROID_ADT_APP / adt-bundle-linux-x86-20131030 / eclipse / eclipse) Sinnvolles Anlegen des Workspace, z.B. in /mnt-system/ANDROID_ADT_APP/adt_workspace.

Utwórz katalog: / mnt-system / ANDROID_ADT_APP Rozpakuj pakiet do / mnt-system / ANDROID_ADT_APP (Istnieje wtedy / mnt-system / ANDROID_ADT_APP / adt-bundle-linux-x86-20131030) Pierwsze uruchomienie Eclipse (dwukrotne kliknięcie na / mnt-system / ANDROID_ADT_APP / adt-bundle-linux-x86-20131030 / eclipse / eclipse) Sinnvolles Anlegen des Workspace, z.B. in / mnt-system / ANDROID_ADT_APP / adt_workspac

Neues

Bild 1-1: Neues "Android Application Project" anlegen.

Einstellungen

Bild 1-2: Einstellungen

  • Application Name: Ordnername des projektes
  • Package Name: Eindeutige Identifizierung der App, wichtig für App-shop, typisch: Website der Organisation rückwärts.
  • Minimum Required SDK: Mindest-Anfordrung (möglichst tief wählen, damit es auf älteren Geräten auch läuft)
  • Target SDK: Mindestens Level 14 (IceCreamSandwich), wg. neuerer Features
Mit eigenem Icon, mit activity (Interaktion) und Ordner im Workspace.

Bild 1-3: Mit eigenem Icon, mit activity (Interaktion) und Ordner im Workspace.

Icon wählen.

Bild 1-4: Icon wählen.

Blank Activity (default) wählen.

Bild 1-5: Blank Activity (default) wählen.

Name für Activity- und Layout-Datei festlegen.

Bild 1-6: Name für Activity- und Layout-Datei festlegen.

Sicht auf Projekt öffnen.

Bild 1-7: Sicht auf Projekt öffnen.

Erste App erstellen - Layout anpassen in activity_main.xml anpassen

app7b.png Open view on project.

app7b.png Otwórz widok na projekt.

Java-Browsing-Perspective wählen.

Bild 1-8: Java-Browsing-Perspective wählen.

Datei layout - > res - > activity_main.xml öffnen und

Bild 1-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:

app8.png File layout -

app8.png Układ pliku -

Zielgerät wegen Auflösung auswählen.

Bild 1-10: Zielgerät wegen Auflösung auswählen.

  • Gerät: Nexus 7
  • Auflösung: WXGA 800x1280
ID für den schon vorhandenen Hinweistext (Label) vergeben: Rechte Maustaste auf Textfeld, Assign ID, Beispiel hier: id_hinweistext.

Bild 1-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.

app10.png Assign ID for existing text (label): Right mouse button on text field, Assign ID, example here: id_hinweistext.

app10.png Przypisz identyfikator istniejącego tekstu (etykiety): Prawy przycisk myszy na polu tekstowym, Przypisz identyfikator, przykład tutaj: id_hinweistext.

Erste App erstellen - Funktionalität in MainActivity.java anpassen

Add further GUI elements: Text input, Button Text output, see Form Widgets.

Dodaj kolejne elementy GUI: Wprowadzanie tekstu, Wyjście tekstu przycisku, zobacz Widżety formularzy.

Wie die verwendeten Klassen importiert werden können, läßt sich an ihrer Package-Zugehörigkeit in der API nachschlagen:

Create first app - customize functionality in MainActivity.java

Stwórz pierwszą aplikację - dostosuj funkcjonalność w MainActivity.java

http://developer.android.com/reference/android/view/View.html - Referenz.

Im folgenden wird einfach der Quelltext der XML-Datei und der Java-Datei gezeigt:

http://developer.android.com/reference/android/view/View.html http://developer.android.com/reference/android/view/View.html http://developer.android.com/reference/android/view/View.html - Reference.

http://developer.android.com/reference/android/view/View.html http://developer.android.com/reference/android/view/View.html http://developer.android.com/reference/android/view/View.html - Odsyłacz.

<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 1-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 1-2: Datei MainActivity.java (Nicht ganz das gleiche Projekt wie oben besprochen!)

App auf einer Emulation laufen lassen

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); // register Listener at the button: 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); } } File MainActivity.java (Not quite the same project as discussed above!)

pakiet com.example.hallo; importować android.os.Bundle; importować android.app.Activity; importować android.view.Menu; import android.view.View.OnClickListener; import android.widget.EditText; importować android.view.View; importować android.widget.Button; public class MainActivity extends Activity implementuje OnClickListener { @Nadpisanie protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // zarejestruj odbiorcę za pomocą przycisku: Przycisk knopf = (Button) findViewById (R.id.button1); knopf.setOnClickListener (this); } @Nadpisanie public boolean onCreateOptionsMenu (menu menu) { // Napełnij menu; to dodaje elementy do paska działań, jeśli jest obecn getMenuInflater (). inflate (R.menu.main, menu); return true; } public void onClick (View v) { EditText text1 = (EditText) findViewById (R.id.editText1); text1.setText (Hallo); } } Plik MainActivity.java (Nie całkiem ten sam projekt, o którym mowa powyżej!)

  • Menü Auswahl "Window - > Android Virtual Device Manager"
  • Neuen AVD erzeugen und Vorlage Nexus7 zuweisen bei Device.
Erzeugen eines

Bild 1-12: Erzeugen eines "Android Virtual Device" als Emulator für die neue App.

AVD starten.

Bild 1-13: AVD starten.

  • Auf Käfer klicken und "Android Application" auswählen (default).
Starten der Emulation

Bild 1-14: Starten der Emulation