2012-08-03 40 views
21

Có ai vui lòng giải thích tại sao các chuỗi mã hóa cứng lại quá tệ? Tôi nên mong đợi những vấn đề gì nếu tôi mã hóa các chuỗi? Tại sao có tệp xml chuỗi riêng biệt giải quyết các vấn đề đó?Tại sao sử dụng strings.xml trong Android?

Tạo các phần tử mới trong strings.xml là hoạt động tốn thời gian.

+0

không chỉ địa phương hóa, tập trung cũng là một trong những yếu tố. –

+3

[Android - Tài liệu] (http://developer.android.com/guide/topics/resources/string-resource.html) sẽ giải thích cho bạn tốt hơn .. – user370305

Trả lời

31

Khi thêm chuỗi của bạn vào strings.xml, bạn có thể dễ dàng dịch toàn bộ ứng dụng sang các ngôn ngữ khác.

Vì vậy, trong thư mục values bạn sẽ phải strings.xml với nội dung này:

<string name="hello">Hello</string> 

Trong values-fr một strings.xml với nội dung này:

<string name="hello">Bonjour</string> 

này giúp bạn tiết kiệm rất nhiều công việc thay vì thực hiện điều này theo cách được mã hóa cứng: Android tự động chọn ngôn ngữ chính xác dựa trên tùy chọn của người dùng, và bạn không phải lo lắng về việc chọn và hiển thị ngôn ngữ này.

Vui lòng đọc Localization | Android Developers.

11

Ngoài ra, giả sử bạn có chuỗi, hãy để chuỗi đó là tiêu đề chẳng hạn, được lặp lại trong mọi hoạt động của ứng dụng của bạn. Bây giờ giả sử sau một thời gian, bạn quyết định thay đổi tiêu đề đó.

Sử dụng strings.xml bạn sẽ cần phải thay đổi nó ở một nơi duy nhất, trong khi các giá trị mã hóa cứng sẽ cần phải được thay đổi trong mọi hoạt động.

0

Chuỗi là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính name (không phải tên của tệp XML). Vì vậy, bạn có thể kết hợp các tài nguyên chuỗi với các tài nguyên đơn giản khác trong một tệp XML, dưới một phần tử <resources>.

Các vấn đề liên quan