Ich habe ein Bibliotheksprojekt, das den Basiscode für eine Reihe von Apps bereitstellt, die alle dieselbe Datenbankstruktur und -funktionalität benötigen, und ich suche nach dem besten Weg, dies zu implementieren. Mein Hauptanliegen ist es, eine nicht-statische Autorität bereitzustellen, damit ich sie mit dem Paketnamen der App überschreiben kann, die die Bibliothek verwendet.
Also dachte ich im Bibliotheksprojekt, ich könnte die folgenden Konstanten in statische Methoden ändern, die einen Kontext akzeptieren, der es mir ermöglicht, die Berechtigung von einer Ressourcen-Zeichenkette oder von der context.getPackageName-Methode
zu erhaltenBibliotheksprojektmodell
%Vor%Bibliothek Projektinhaltsanbieter
%Vor%1) Ich verstehe die statische {URI_MATCHER.addUR} -Deklaration nicht wirklich und habe Mühe zu verstehen, wie ich das umsetzen kann.
2) Ist dies der beste Ansatz, um die gesamte Funktionalität in jeder App wiederverwenden zu können? Wenn nicht, was wäre besser?
Ich habe UriMatcher mit etwas wie diesem subclassiert:
%Vor%Die App, die die Bibliothek verwendet, sollte den Provider im Manifest mit seiner eigenen Autoritätszeichenfolge deklarieren.
Sie können auch die öffentlichen statischen Uri-Objekte in Ihren Modellklassen durch eine getUri(Context c)
-Funktion ersetzen, die die für die THAT-Anwendung geeignete Uri erstellt.
Tags und Links android android-contentprovider