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

Plugin-Konzept

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von herrlado, 19.12.2009.

  1. herrlado, 19.12.2009 #1
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Hallo.
    Hat jemand sich damit auseinandergesetzt?
    1. Wo werden eigentlich die Dateien eines Apps gespeichert?
    2. Kann man eigentlich irgendwelche Implementierungen einer Klasse später
    Standalone installieren? Quasi reines Data-Package.
    3. Kann man dann diese Klassen laden?


    Ich würde gerne WebSMS modifizieren um Connector Klassen Später einfach nachzuliefern...

    Gruß,
    Lado
     
  2. Shinigami, 22.12.2009 #2
    Shinigami

    Shinigami Fortgeschrittenes Mitglied

    Beiträge:
    436
    Erhaltene Danke:
    69
    Registriert seit:
    08.04.2009
    Hallo.

    Zu Frage 0: Es gibt bereits einige Applikationen, die Plugins verwenden. Mir fällt da z.B. Locale ein, zu der es auch eine Entwickler-Doku gibt, hinsichtlich der Erstellung neuer Plugins:

    Locale - Developer

    Da mein ich konkret diesen Link:
    Intent

    Da könntest Du Dich mal einlesen.

    Zu Frage 2+3: Meines Ermessens wird es nicht möglich sein eine bestehende Applikation um weitere Klassen zu erweitern, so wie Du es angedacht hast. Die Plugins sind nach meinem Verständnis eigenständige Applikationen, wenn man so will (also eine eigene APK-Datei), nur halt ohne Starter-Icon.

    Zu Frage 1: Du meinst sicherlich die Dateien der App an sich oder? Also nicht Daten, welche von der App abgelegt werden. Eine Applikation besteht aus einer APK-Datei, worin alles enthalten ist (class-Files, Resources also Sounds, Bilder, Layout-XML, String-XML). Die APKs liegen je nach dem ob's eine Kauf- oder Gratis-App ist in 2 verschiedenen Verzeichnissen - hab nur gerade keine Lust genau nachzusehen welche ^^

    Gruß,
    Shini
     
  3. herrlado, 22.12.2009 #3
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Danke, werde ich mir mal anschauen.
    Also ich dachte zunächst an einem naiven Ansatz: Man könnte z.b. eine "Plugin-Kasse" auf der /sdcard/myapp/plugins/ hinlegen.
    Beim Starten oder manuell angestoßen wird die Hauptklasse überprüfen ob irgendwelche Klassen dort rumliegen und die Plugin-Schnittstelle implementieren und diese Laden -> Eigener ClassLoader
     
  4. Peter Forstmeier, 22.12.2009 #4
    Peter Forstmeier

    Peter Forstmeier Neuer Benutzer

    Beiträge:
    5
    Erhaltene Danke:
    0
    Registriert seit:
    17.12.2009
    Grüß Dich,

    so naiv ist der Ansatz garnicht, im Prinzp funktionieren fast alle Plugin Konzepte. zumindest in der MS (.net) Welt. Alles hängt hier vom KlassLoader ab.
    Peter
     
  5. Shinigami, 23.12.2009 #5
    Shinigami

    Shinigami Fortgeschrittenes Mitglied

    Beiträge:
    436
    Erhaltene Danke:
    69
    Registriert seit:
    08.04.2009
    Der Vollständigkeit halber:
    Bestehende Applikation = bereits installierte Applikation auf einem Gerät. So ein ClassLoader-Konstrukt funktioniert imho auch in Java, aber man müsste (was ich mit meinem beschränktem Wissen halt so sagen kann) diese Plugin-Klassen bereits zum Zeitpunkt des Erstellens der APK in der Paket-Struktur der App vorliegen haben.

    Das habe ich so verstanden, das man quasi nur die Connector-Plugins installiert deren zugrunde liegenden Dienste man auch verwendet (z.B. nur GMX, oder nur O2). Übrigens ist das ein Punkt in der App, der mich ein wenig stört -> ich bräuchte nur O2. Mag keinen Overhead :)

    Gruß,
    Shini
     
  6. herrlado, 23.12.2009 #6
    herrlado

    herrlado Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Nein, die Klassen kann man später nachladen. Wichtig ist, dass die vordefinierte Schnittstellen implementieren.

    Wegen WebSMS habe ich mich mit dem Entwickler in Verbindung gesetzt und er findet die Idee toll, dass man die Connectoren nachinstallieren kann. Mal gucken wir werden es ausprobieren.


    Gruß,
    Lado
     
  7. Shinigami, 23.12.2009 #7
    Shinigami

    Shinigami Fortgeschrittenes Mitglied

    Beiträge:
    436
    Erhaltene Danke:
    69
    Registriert seit:
    08.04.2009
    Ah sehr gut, wenn das wirklich gehen sollte. Also nachinstallieren über den Market?

    Wäre cool, wenn Du hier mal das Ergebnis eurer Bemühungen postest, damit ich aus meine Fehlern lernen kann :D

    Danke und Gruß,
    Shini
     
  8. Peter Forstmeier, 23.12.2009 #8
    Peter Forstmeier

    Peter Forstmeier Neuer Benutzer

    Beiträge:
    5
    Erhaltene Danke:
    0
    Registriert seit:
    17.12.2009
    Hallo,
    scjaut euch doch mal das Plugin Konzept von SharpDevelop (MonoDevelop) an, das was ich oben geschriebne habe entsprcht diesem Konzept.
    Frohes fest
    Peter
     

Diese Seite empfehlen