2010-01-27 25 views
5

Bir Android uygulaması oluşturuyorum ve string.xml kaynağında bir sorunla karşılaşıyorum.Android uygulamasından kaynak alınamıyor

String.xml numaralı telefondan, uygulamanızla birkaç kez kullanılabilecek bir URL'ye sahip olmamız gerekiyor.

Resources.getText("my_url")'u denedim, ancak bu çalışmaz. Eclipse bunu kullandığımda şikayet ediyor.

Bunun en iyi yol olduğunu düşünüyor musunuz?

cevap

12

Ne muhtemelen istiyorum geçerli:

String myUrl = getString(R.string.my_url); 

o Activity beri Activity sınıfında ulaşabilirsiniz demektir getString() method is in ContextContext bir alt sınıfıdır. (getString() yöntem Resources da ama senin Activity üzerine doğrudan üzerini aramak daha kolay.)

XML kaynaklarla ne olur

her benzersiz tamsayı kimliği verilir ve bu public static final int olarak automatically generated R class eklenir olmasıdır . Ardından, kaynaklara başvurmak için bu kimlikleri kullanın. Eclipse projenizdeki gen klasörüne bir göz atın ve orada R sınıfını bulacaksınız.

+0

Teşekkürler, bunu kontrol edeceğim. Ancak, bu dizeyi bir Aktivitenin dışına çıkarmak istiyorsam (örneğin bir yardımcı classe), bir GetBaseContext(). GetString (anahtar) kullanabilir miyim? – Luc

+2

GetBaseContext() 'ın korktuğunu hiçbir fikrim yok. Bu gibi şeyleri yapmalarına izin vermek için yardım sınıflarımın her birine bir "İçerik" aktarıyorum. Bununla birlikte, bu bağlamda bir Bağlama referansına asıyormuş gibi dikkat edin, hafızayı oldukça kötü bir şekilde sızdırabilirsiniz. http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html –

+0

Teşekkürler, bu iyi bir nokta ve çok iyi bir makale. Alkış, Luc – Luc

İlgili konular