Ein Androidprojekt für mehrere Apps

Z

zblack

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.
 
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).
 
aso, ich muss dann das Projekt in ein anderes workspace kopieren und da den Packagename ändern.
gibt es noch weitere Möglichkeiten ?
 
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.
 
Google mal nach Mandantenfähigkeit.
 
was wäre denn die saubere lösung ?
und wie konnte man die Mandantenfähigkeit programmtechnisch realisieren ?
 
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.
 
zblack schrieb:
was wäre denn die saubere lösung ?
und wie konnte man die Mandantenfähigkeit programmtechnisch realisieren ?

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.
 
strider schrieb:
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.

Nein, Mandantenfähigkeit wird meist auf Datenbankebene realisiert.
 
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.
 
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 ;-)
 
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.
 

Ähnliche Themen

netfreak
  • netfreak
Antworten
10
Aufrufe
460
netfreak
netfreak
wernho
Antworten
11
Aufrufe
692
wernho
wernho
5
Antworten
0
Aufrufe
1.150
586920
5
Zurück
Oben Unten