Ich bekomme diesen Fehler
01-14 12: 20: 57.591: E / AndroidRuntime (1825): Verursacht von: android.content.res.Resources $ NotFoundException: String resource ID # 0x7f040003
Der Code, der den Fehler verursacht, ist die einzelne Zeile innerhalb von createProfileTable, insbesondere Resources.getSystem (). getString (R.string.create_profile_table_sql) wenn ich eine Klassenvariable verwende, um einen Kontext zu halten und zu tun context.getString (R.string.create_profile_table_sql) Ich erhalte keine Fehler, aber ich möchte das nicht tun, weil ich Speicherlecks vermeiden möchte und entsprechend dem, was ich weiß, sollte das funktionieren. Irgendeine Idee was passiert?
Gemäß der Android-Dokumentation bietet Resources.getSystem()
nur Ressourcen auf Systemebene, nicht auf Anwendungsebene (wie die Ressourcen in der Datei strings.xml).
Versuchen Sie, den Kontext der Anwendung zu verwenden, wenn Sie Ihre Strings wirklich auf diese Weise abrufen möchten, oder nehmen Sie meinen Vorschlag in dem Kommentar zu Ihrer Frage vor.
Mit Resources.getSystem (). getWhatEver () können Sie nur auf systemweite Ressourcen zugreifen (Sie erhalten den Fehler, da keine systemweite Ressource mit Ihrer ID vorhanden ist). Da die Ressourcen-ID nicht für alle Anwendungen eindeutig ist, müssen Sie die Anwendung beim Zugriff auf eine Ressource bereitstellen. In Android geschieht dies mit Context. Wenn Sie also auf eine Ressource zugreifen wollen, müssen Sie sie so verwenden
%Vor%Abgesehen davon ist Brandons Kommentar korrekt.
Tags und Links eclipse java android sqliteopenhelper