Tutorials für SDK 1.5

ensacom

ensacom

Ambitioniertes Mitglied
6
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
 
ensacom schrieb:
Wie kann ich von meiner ersten activity eine zweite aufrufen.
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" />
 
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?
 
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
 
Die Klasse settings muss von Activity vererbt sein, also
Code:
public class SettingsActivity extends Activity { ...
 
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?
 
ensacom schrieb:
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?
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
 
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.
 

Ähnliche Themen

netfreak
  • netfreak
Antworten
10
Aufrufe
455
netfreak
netfreak
5
Antworten
0
Aufrufe
1.142
586920
5
R
Antworten
1
Aufrufe
1.091
Tiefkuehlpizza
Tiefkuehlpizza
Zurück
Oben Unten