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

Ein Androidprojekt für mehrere Apps

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von zblack, 29.01.2012.

  1. zblack, 29.01.2012 #1
    zblack

    zblack Threadstarter Gast

    Hallo Android Freunde,
    ich habe eine Frage:
    ich habe eine App entwickelt die für mehrere Autohäuser verwendet werden soll.
    Die idee war: ich entwickle ein Grundgerüst für alle Fenster und für alle Menüpunkte der App.
    Zusätzlich erstelle ich eine Datenbank mit den Tabellen für die Mitarbeiter des Autohauses ect und dann schreibe ich die Daten in die Datenbank von den Autohäusern, die ich brauche. Zb ich schreibe in die Datenbank die Daten von Mercedes und habe somit die App für Mercedes.
    Das Problem ist, wenn ich die Daten der Datenbank verändere und die App neu installiere, dann habe ich nur eine Version auf dem Handy. D.h, wenn ich davor die App mit Ferrari Daten installiert habe, wird die Ferrari App durch Mercedes App ersetzt.
    Wie konnte man das machen, dass die Daten nicht ersetzt werden, sondern eine neue App installiert wird?
    Ein neues Projekt zu erstellen und darein alle Klassen und alles was dazugehört zu kopieren ist doch doof.
    Bitte Hilfe.
    Mit freundlichen Grüßen.
     
  2. strider, 29.01.2012 #2
    strider

    strider Erfahrener Benutzer

    Beiträge:
    208
    Erhaltene Danke:
    45
    Registriert seit:
    30.09.2011
    Phone:
    Nexus S
    Der Packagename muss unterschiedlich sein, wenn nämlich der Packagename mit einem übereinstimmt der schon auf dem Telefon vorhanden ist wird die alte App überschrieben (wenn auch das Zertifikat übereinstimmt).
     
  3. zblack, 29.01.2012 #3
    zblack

    zblack Threadstarter Gast

    aso, ich muss dann das Projekt in ein anderes workspace kopieren und da den Packagename ändern.
    gibt es noch weitere Möglichkeiten ?
     
  4. strider, 29.01.2012 #4
    strider

    strider Erfahrener Benutzer

    Beiträge:
    208
    Erhaltene Danke:
    45
    Registriert seit:
    30.09.2011
    Phone:
    Nexus S
    Gezwungen wirst du nicht das Projekt zu kopieren du kannst auch bei dem einen Projekt den Packagename immer je nach Marke hin und her ändern. Das ist aber eben keine saubere Lösung.
     
  5. TheDarkRose, 29.01.2012 #5
    TheDarkRose

    TheDarkRose Gewerbliches Mitglied

    Beiträge:
    1,292
    Erhaltene Danke:
    136
    Registriert seit:
    20.08.2010
    Google mal nach Mandantenfähigkeit.
     
  6. zblack, 29.01.2012 #6
    zblack

    zblack Threadstarter Gast

    was wäre denn die saubere lösung ?
    und wie konnte man die Mandantenfähigkeit programmtechnisch realisieren ?
     
  7. Tom299, 30.01.2012 #7
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Du solltest dann eher mal dein Datenbank-Design überdenken. Z.B. könntest du eine Tabelle für den Benutzer oder eine Gruppe anlegen, da könnte z.B. der Name drin stehen (Mercedes, Ferrari, etc.) und in den anderen Tabellen könntest du den Namen / ID als Fremdschlüssel benutzen.

    Select * from Autohauses where Gruppe = 'Ferrari' oder sowas in der Art.
     
  8. strider, 30.01.2012 #8
    strider

    strider Erfahrener Benutzer

    Beiträge:
    208
    Erhaltene Danke:
    45
    Registriert seit:
    30.09.2011
    Phone:
    Nexus S
    Die saubere Lösung wäre für jeden Kunden ein eigenes Projekt zu führen wobei du den Quellcode zentral verwalten kannst mit einem Versionskontrollsystem. Die assets kannst du für jedes Projekt individuell anpassen.
     
  9. TheDarkRose, 30.01.2012 #9
    TheDarkRose

    TheDarkRose Gewerbliches Mitglied

    Beiträge:
    1,292
    Erhaltene Danke:
    136
    Registriert seit:
    20.08.2010
    Nein, Mandantenfähigkeit wird meist auf Datenbankebene realisiert.
     
  10. strider, 30.01.2012 #10
    strider

    strider Erfahrener Benutzer

    Beiträge:
    208
    Erhaltene Danke:
    45
    Registriert seit:
    30.09.2011
    Phone:
    Nexus S
    Wozu denn Mandantenfähigkeit, er will soweit ich das verstanden habe ein Grundgerüst für verschiedene Kunden haben, für die Kunden will er individuell angepasst mit Apps aus diesem Grundgerüst basteln mit anderen Logos etc.
     
  11. Tom299, 30.01.2012 #11
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Er sollte selbst wissen, was er genau machen will und ob sich nur die Daten unterscheiden oder auch irgendwelche Views etc., Infos zu Mandantenfähigkeit hat er jetzt ja ;-)

    Man sollte nur Bedenken, wenn man für 10 Kunden 10 Apps macht und ein Fehler auftaucht, darf man den Fehler auch gleich an 10 Stellen verbessern ;-)
     
  12. deek, 30.01.2012 #12
    deek

    deek Fortgeschrittenes Mitglied

    Beiträge:
    442
    Erhaltene Danke:
    110
    Registriert seit:
    09.03.2011
    Jetzt mal abgesehen von Mandantenfähigkeit (sorry, ich hab jetzt nicht gegooglet), sollte es nicht reichen wenn die Main Activity in einem anderen Package liegt?
    Dann würde ein Projekt bzw VCS reichen. Für die Main einfach jeweils ein Unterpackage mit Kundenname machen, also sowas wie
    de.zblack.blabla.mercedes
    de.zblack.blabla.ferrari
    ...

    Ich bin mir jetzt leider nicht mehr sicher, weil ich länger nichts mehr gemacht habe mit Android, aber imho sollte das reichen.
     

Diese Seite empfehlen