Ich habe die Android.Application-Klasse erweitert, sodass ich den Status beibehalten kann (mit der Anwendung als Singleton).Verwenden von Sugar ORM bei Verwendung der Singleton-Anwendungsklasse
Ich möchte jetzt die Sugar ORM-Bibliothek verwenden, um meinen Datenbankzugriff zu vereinfachen, aber die Sugar-Dokumentation (http://satyan.github.io/sugar/getting-started.html) erfordert, dass ich 'SugarApp' als meine Anwendungsklasse in AndroidManifest.xml festlege.
Welche Konflikte mit meiner Application-Klasse, die Android-Anwendung erweitert.
Gibt es einen alternativen Ansatz?
Von dem Zucker docs:
Z.B. indem Sie das Attribut android: name des Anwendungs-Tags ändern.
<application android:label="@string/app_name" android:icon="@drawable/icon"
android:name="com.orm.SugarApp">
.
.
<meta-data android:name="DATABASE" android:value="sugar_example.db" />
<meta-data android:name="VERSION" android:value="2" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.example" />
.
.
</application>
Stellen Sie sicher, Android: name = ". MyApplication" anstelle von Android: name = "com.orm.SugarApp" in AndroidManifest – Andrew
Das hat bei mir funktioniert! Doch plötzlich versagten meine Unittests. Eine Lösung dafür finden Sie [hier] (https://stackoverflow.com/questions/27964666/testing-with-sugarorm-and-robolectric/44421666#44421666): Die angenommene Antwort enthält jedoch keine benutzerdefinierte App-Klasse, bitte überprüfen Sie meine zusätzliche Antwort. –