Nói chung, trên nhiều nền tảng, tôi đang viết tài nguyên chuỗi của mình vào tệp .resx hoặc .xml, và sau đó tôi sẽ nhận được chúng bằng cách sử dụng một số cách tiếp cận phụ thuộc vào nền tảng.
Đó là, trên iOS, tôi nhận được chúng thông qua NSBundle.MainBundle
và bằng cách sử dụng Context.Resources
trên Android.
Những lợi thế của phương pháp này là gì và tại sao không có nó có thể truy cập trực tiếp trong mã, ví dụ:
Trong một dự án đa nền tảng, bất kỳ nền tảng nào cũng có thể truy cập trực tiếp vào nó mà không cần tích hợp.
Không có mối quan tâm trong quá trình xây dựng về việc liệu các tài nguyên được xây dựng tốt hay không.
- Bộ mã hóa có thể sử dụng các chức năng như xử lý đa ngôn ngữ
Câu chuyện dài: lý do tại sao tài nguyên chuỗi được cấu trúc theo cách đó là gì?
[Biên tập]
Giả sử tập tin của tôi là một phần của dự án "cốt lõi" được chia sẻ giữa các dự án khác. (Hãy nghĩ về PCL, cấu trúc tệp dự án đa nền tảng.)
Và giả sử rằng tệp của tôi hoàn toàn giống với tệp .resx / .xml, trông như thế này (Tôi không phải là chuyên gia trong xml, xin lỗi!): Tham số Paramètres
Vì vậy, về cơ bản, đây là một xml tùy chỉnh, nơi bạn trỏ đến khóa / ngôn ngữ để có được chuỗi thích hợp.
Tệp sẽ là một phần của ứng dụng giống như bạn thêm bất kỳ tệp nào có thể truy cập được trong ứng dụng và hệ thống để truy cập tài nguyên chuỗi, được mã hóa bằng PCL. Điều này sẽ thêm một chi phí cho các ứng dụng?