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

Zeiger auf eigene Activity

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Gibbsnich, 08.11.2010.

  1. Gibbsnich, 08.11.2010 #1
    Gibbsnich

    Gibbsnich Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    56
    Erhaltene Danke:
    0
    Registriert seit:
    22.06.2010
    Hallo,

    ich möchte bestimmte Aktivitäten in Klassen auslagern, um das Projekt übersichtlich zu halten.
    Aktuell möchte ich ein paar Dateioperationen machen.

    Wenn ich eine einfache Klasse erstelle, kann ich aber z.B. fileList() nicht aufrufen, da die Klasse diese Methode nicht kennt.
    Natürlich könnte ich bei den Methoden die eigene Activity übergeben und dann myActivity.fileList() aufrufen, aber das finde ich auf Dauer auch nicht prickelnd.

    Gibt es keinen permanent vorhandenen Zeiger auf die laufedne Activity ?

    Oder habe ich den falschen Denkansatz ??:crying:
     
    Zuletzt bearbeitet: 08.11.2010
  2. funcoder, 08.11.2010 #2
    funcoder

    funcoder Erfahrener Benutzer

    Beiträge:
    218
    Erhaltene Danke:
    38
    Registriert seit:
    15.08.2009
    Mh, weiß nicht genau worauf du hinaus willst. Aber wenn du in deiner Klasse Methoden verwenden möchtest die die Activity Klasse bereitstellt, brauchst du nur von ihr erben? Quasi: public class DeineKlasse extends Activity{

    Oder verstehe ich dich falsch? :)
     
    Autarkis bedankt sich.
  3. Gibbsnich, 08.11.2010 #3
    Gibbsnich

    Gibbsnich Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    56
    Erhaltene Danke:
    0
    Registriert seit:
    22.06.2010
    Ach so...
    ...ich dachte mit extends Activity würde ich eine richtige Applikation generieren mit allem Ballast, den ich gar nicht will.

    Das heißt, der Linker packt nur das mit rein, was ich auch tatsächlich nutze ?
     
  4. Fr4gg0r, 08.11.2010 #4
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    naja, also zb für eine FileList muss deine Klasse ja nicht von Activity erben..
     
  5. mietzekater, 08.11.2010 #5
    mietzekater

    mietzekater Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    1
    Registriert seit:
    06.11.2010
    Du könntest, statt mit deiner konkrete Aktivity in der Klasse, welche die Dateioperationen handelt einfach mit der einfacheren Klasse Context arbeiten.

    Deine konkrete Aktivity erbt sowieso von Context und du kannst also z.B. im Konstruktor deiner FileHandler Klasse so zugreiffen:

    Code:
    import android.content.Context;
    
    public class FileHandler {
    	
    	public FileHandler(Context ctx) {
    		ctx.fileList();
    	}
    
    }
    als Context übergibst du einfach deine Activity. Aber hast so nur ein Context Objekt und deine FileHandler Klasse kannst du mit jeder deiner Apps benutzen ohne sie zu ändern, denn sie hängt nicht von deiner konkreten Activity ab sondern verlässt sich auf das Context Interface, welches für jede Activity gleich ist.

    Hoff das hilft dir weiter...
     
    Autarkis bedankt sich.

Diese Seite empfehlen