Zasadniczo na wielu platformach piszę moje ciągi znaków do pliku .resx lub .xml, a następnie otrzymuję je stosując podejście zależne od platformy.
To znaczy, na iOS, otrzymuję je przez NSBundle.MainBundle
i Context.Resources
na Androidzie.
Jakie są zalety tego podejścia i dlaczego nie ma go bezpośrednio dostępnego w kodzie, więc na przykład:
W projekcie międzyplatformowym każda platforma może uzyskać do niej bezpośredni dostęp, bez integracji.
Podczas budowania nie ma obaw, czy dobrze zbudowane zasoby.
- Koder może korzystać z takich funkcji, jak obsługa wielu języków
Krótko mówiąc: jaki jest powód, dla którego zasoby łańcuchowe mają taką strukturę?
[Edytować]
Powiedzmy, że mój plik jest częścią „podstawowego” projektu współdzielonego przez inny projekt. (Pomyśl o PCL, wieloplatformowej strukturze plików projektu).
Załóżmy, że mój plik jest całkowicie podobny do pliku .resx / .xml i wygląda następująco (nie jestem profesjonalistą w xml, przepraszam!): Parametry Paramètres
Jest to więc w zasadzie niestandardowy plik XML, w którym wskazujesz klucz / język, aby uzyskać odpowiedni ciąg.
Plik byłby częścią aplikacji, tak jak dodajesz dowolny dostępny plik w aplikacji, a system uzyskuje dostęp do zasobów ciągu, kodowany przy użyciu PCL. Czy spowodowałoby to dodatkowe obciążenie aplikacji?