1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Tutorials für SDK 1.5

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von ensacom, 15.05.2009.

  1. ensacom, 15.05.2009 #1
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    68
    Erhaltene Danke:
    5
    Registriert seit:
    15.05.2009
    Hallo, ich möchte jetzt mit der Android-Programmierung beginnen und habe auch schon einige Tutorials gefunden. Leider sind die meisten für die alte SDK und nicht für 1.5 und funktionieren daher nicht.

    Was mich brennend interessieren würde ist folgendes.

    Wie kann ich von meiner ersten activity eine zweite aufrufen.
    Wie kann ich, wenn viele Controls auf meiner activity sind und ich das Handy horizontal halte, scrollen dass ich alle Controls erreichen kann?

    Vielleicht kann mir ja einer hier den Einstieg erleichtern.

    Ich benutze übrigens Eclipse und mein G2 direkt und nicht den Emulator.

    Danke
     
  2. feri, 15.05.2009 #2
    feri

    feri Junior Mitglied

    Beiträge:
    27
    Erhaltene Danke:
    8
    Registriert seit:
    09.05.2009
    schau dir mal die beiden Methoden startActivity und startActivityWithResult an.

    Code:
    class MyActivity {
      ...
       Intent intent = new Intent(this, MyOtherActivity.class);
       startActivity(intent);
      ...
    }
    
    Und nicht vergessen einen Eintrag ins Manifest zu machen:
    Code:
            <activity android:name="MyOtherActivity" />
    
     
  3. ensacom, 15.05.2009 #3
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    68
    Erhaltene Danke:
    5
    Registriert seit:
    15.05.2009
    Hm ich steige da noch nicht ganz durch.
    Also ich habe jetzt folgendes

    Meine Hauptactivity
    Code:
    package com.ensacom.android.ensacom1;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    
    public class ensacom1 extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            
            Intent intent = new Intent(this, settings.class);
            startActivity(intent);
    
        }
    }
    

    die Manifest.xml
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.ensacom.android.ensacom1"
          android:versionCode="1"
          android:versionName="1.0">
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".ensacom1"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
        <uses-sdk android:minSdkVersion="3" />
        <activity android:name="settings" />
    </manifest> 
    
    die settings.class
    Code:
    package com.ensacom.android.ensacom1;
    
    
    public class settings {
        
    }
    

    Beim starten der Anwendung bekomme ich immer den Fehler

    Tut uns Leid!

    Die Anwendung ensacom1
    (Prozess com.ensacom.android.ensacom1) wurde unerwartet
    beendet. Versuchen Sie es erneut.


    Was ist da falsch?
     
  4. ensacom, 15.05.2009 #4
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    68
    Erhaltene Danke:
    5
    Registriert seit:
    15.05.2009
    Ok, den Fehler konnte ich beheben.
    Nur wieso wird nun wenn ich das Gerät drehe, die activity gewechselt?
    Ich möchte das die nur gewechselt wird wenn ich einen Button klicke.

    Das ist jetzt mein Code


    Code:
    package com.ensacom.android.ensacom1;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    
    public class ensacom1 extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            
            Intent intent = new Intent(this, settings.class);
            startActivity(intent);
    
        }
    }
    Code:
    package com.ensacom.android.ensacom1;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    
    public class settings extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.settings);
        }
    }
    
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.ensacom.android.ensacom1"
          android:versionCode="1"
          android:versionName="1.0">
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".ensacom1"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".settings" />
        </application>
        <uses-sdk android:minSdkVersion="3" />
    </manifest> 
    

    Vielleicht kann mir auch einer sagen ob an dem Code oben alles korrekt ist oder was nicht stimmt.
    Ich fange eben erst mit Java und Android an.

    Danke
     
  5. feri, 15.05.2009 #5
    feri

    feri Junior Mitglied

    Beiträge:
    27
    Erhaltene Danke:
    8
    Registriert seit:
    09.05.2009
    Die Klasse settings muss von Activity vererbt sein, also
    Code:
    public class SettingsActivity extends Activity { ...
    
     
  6. ensacom, 15.05.2009 #6
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    68
    Erhaltene Danke:
    5
    Registriert seit:
    15.05.2009
    Ja danke, das habe ich dann auch gemerkt und geändert.
    Jetzt muss ich nur noch herausfinden wie ich eine Aktivity über einen Button starten kann.

    Kann man einfach von aktivity zu activity ohne diese wieder schließen zu müssen?
    Also einfach zum aufrufen der activity immer so wie du es mir geschrieben hast?
     
  7. feri, 16.05.2009 #7
    feri

    feri Junior Mitglied

    Beiträge:
    27
    Erhaltene Danke:
    8
    Registriert seit:
    09.05.2009
    Android verwaltet einen Activity-Stack. D.h. startest Du eine neue Activity, so wird diese aktiv und sichtbar. Die vorherige Activity ist nicht mehr sichtbar (kann aber immer noch im Hintergrund laufen).

    Ist mit Beispiel im SDK beschrieben:
    android-sdk-windows-1.5_r1/docs/reference/android/app/Activity.html
     
  8. ensacom, 16.05.2009 #8
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    68
    Erhaltene Danke:
    5
    Registriert seit:
    15.05.2009
    Habe es gelesen, Danke.

    Ich habe es jetzt geschafft ein Menü zu erstellen, eins in der Haupt-activity und eins im Settings-activity.

    Über diese Menüs kann ich nun die gewünschte activity starten.

    Echt klasse, endlich geht mal was voran, dank deiner Hilfe.

    Vielen Dank nochmal.
     

Diese Seite empfehlen