2012-02-01 13 views
5

Ktoś proszę wyjaśnić, co jest głównym pomysłem użycia strings.xml? Myślę, że przydałaby się obsługa wielu języków, ale jak możemy to zorganizować? Czy potrzebuję go, jeśli nie chcę korzystać z obsługi wielu języków w mojej aplikacji na Androida?ANDROID: Jaka jest główna idea wykorzystania pliku strings.xml?

+1

Może nie chcesz konwertować aplikacji na inne języki. Ale Stander jest standerem – Arslan

+1

Jeśli używamy określonego ciągu znaków w więcej niż jednym miejscu, czy naprawdę musimy go zmienić w każdym miejscu, jeśli zmieni się jego wartość? Użyj strings.xml – Piovezan

Odpowiedz

11

Chodzi o to, że reprezentuje pojedynczą lokalizację dla różnych ciągów, więc kod nie jest usiana napisowych. Oprócz tego zyskujesz możliwość łatwej lokalizacji. Organizacja plików do lokalizacji pokryta jest tutaj:

http://developer.android.com/guide/topics/resources/localization.html#creating-alternatives

Czy jest to potrzebne, jeśli nie jesteś lokalizowaniu? Nie. Ale może to ułatwić na dłuższą metę, a ja polecam używanie go tylko z tego powodu.

+0

Jest to przydatna odpowiedź dzięki. –

+0

Używam pliku strings.xml do przechowywania ciągów znaków, ale nie do ich lokalizacji. Używam go, ponieważ łatwiej jest zastąpić te ciągi podczas korzystania z projektów bibliotek Android. Moje pytanie brzmi: ** jak bezpieczne jest ** przechowywanie ważnych łańcuchów, takich jak klucze md5 w pliku strings.xml? Mam klucze md5, które zmieniają się w zależności od Projektu Aplikacji, ale kod, który go używa, znajduje się w Projekcie Bibliotecznym, więc przechowuję Ciąg w pliku strings.xml i zastępuję plik w każdym Projekcie Aplikacji. –

5

Łańcuchy z ciągłym kodowaniem są złe.

Parametry parametryzujące (np. Z ciągami.xml) są dobre.

Będąc w stanie umiędzynarodowienie struny (z językiem i/lub lokalizacji specyficznych wersje strings.xml) jest jeszcze lepiej :)

PS:

Aby skorzystać z internacjonalizacji, wystarczy utworzyć podkatalogi zasobów. Google da Ci wiele referencji/przykładów. Herre jedna:

http://developer.android.com/guide/topics/resources/localization.html

* res/values/strings.xml 
    Contains English text for all the strings that the application 
    uses, including text for a string named title. 

* res/values-fr/strings.xml 
    Contain French text for all the strings, including title. 

* res/values-ja/strings.xml 
    Contain Japanese text for all the strings... 

I tak, należy bezwzględnie uzyskać w zwyczaju korzystania strings.xml (i colors.xml i dimens.xml etc etc), nawet jeśli nie Natychmiast planuj internacjonalizację.

IMHO ....

+0

Dziękuję @ paulsm4 –

+0

Używam strings.xml do przechowywania ciągów, ale nie do celów lokalizacyjnych. Używam go, ponieważ łatwiej jest zastąpić te ciągi podczas korzystania z projektów bibliotek Android. Moje pytanie brzmi: ** jak bezpieczne jest ** przechowywanie ważnych łańcuchów, takich jak klucze md5 w pliku strings.xml? Mam klucze md5, które zmieniają się w zależności od Projektu Aplikacji, ale kod, który go używa, znajduje się w Projekcie Bibliotecznym, więc przechowuję Ciąg w pliku strings.xml i zastępuję plik w każdym Projekcie Aplikacji. –

Powiązane problemy