2017-04-27 3 views
1

Warum ich das frage ist, weil die Größe meiner APK riesig ist. Ich möchte es kleiner machen.Wie kann ich die strings.xml dynamisch laden? Kann ich die Datei auf einem Server ablegen?

Im moment gibt es viele Saiten in strings.xml. Unser Produktmanager zwingt uns, alle Sprachen auf der Erde zu unterstützen.

Ich möchte wissen, kann ich nur einige Sprachen von strings.xml lokal, andere auf einen Server setzen, dann, wenn der Benutzer die App startet, lädt die strings.xml daraus dynamisch nach der Sprache der Benutzer.

Ich bin nicht ganz klar über den Prozess, wie Android die strings.xml-Datei lädt. Irgendeine Idee darüber?

Dank ~~

Antwort

3

kann ich einige Sprachen von strings.xml setzen nur lokal, setzen andere in einem Server, dann, wenn der Benutzer die App startet, lädt die strings.xml von dynamisch entsprechend der Sprache des Benutzers.

Sie können Ressourcen zur Laufzeit nicht ändern. Sie können XML-Dateien zur Laufzeit herunterladen und verarbeiten. Diese XML-Dateien enthalten möglicherweise Zeichenfolgen, die Sie dem Benutzer anzeigen möchten. Sie können jedoch nicht das Android-Ressourcensystem verwenden, um diese Zeichenfolgen einzufügen. Sie müssten Ihren eigenen Java-Code schreiben, der diese Werte verwendet, einschließlich der Entscheidung, welche Übersetzung für ein bestimmtes Gerät zu verwenden ist (unter Berücksichtigung der Unterstützung für mehrere Länder, die in Android 7.0 angeboten wird).

0

Sie können leicht einige Web-Service auf Ihrer Anwendung starten und holen Sie die Zeichenfolgen der gewünschten/ausgewählten Sprache in Form von sagen JsonArray. analysieren dann diese Daten zu einem gewissen Datenmodell wie ArrayList des Zeichenfolge in Ihrer App zu verwalten

Verwandte Themen