10

string.xmlインターネットにアクセスできるアプリケーションがあり、さまざまな言語のファイルを多数保存したくありません。

私が欲しいもの:

  1. アプリケーションにはstring.xml、英語の文字列が 1 つだけ含まれています。
  2. ユーザーが起動すると、ユーザーの電話ロケールが表示され、自分のサーバーに必要な言語ファイルを要求します。(リソースキーは同じになります)
  3. 新しいリソース ファイルが来ると、すべてのインターフェイスが新しいファイルで動作するはずです。

string.xml問題は、実行時に既存のファイルを変更する方法または新しいファイルを追加する方法です。

4

3 に答える 3

3

strings.xml明らかに、実行時に変更、ダウンロード、または削除することはできません

場所を保存する場合は、SQLite ストレージを使用して翻訳を保存する必要があります。

類似:
実行時にstrings.xmlファイルを変更する方法strings.xmlのランタイム
実行時の変更

于 2012-02-20T17:14:24.000 に答える
3

今、私は唯一の解決策を見ることができます:

  1. string.xml必要なリソース (リソースから、またはダウンロードしたリソース)を返す「ローカリゼーション プロキシ」を作成します。
  2. getString()すべてをgetText()独自の方法に置き換えますgetStringFromLocalization
  3. をオーバーライドしTextViewButtonカスタム ビューを使用してその他のビューをいくつか変更し、init とsetTextメソッドを変更します。
于 2012-02-20T17:18:51.587 に答える
0

コンパイルされたリソースファイルを使用して標準化されたリソース/言語をオーバーライドすると、カスタマイズよりもパフォーマンスが低下します。これが必要な場合にのみ実行してください。

于 2016-03-04T09:50:11.740 に答える