androidstringxml
Ⅰ android開發為什麼要使用string.xml 直接寫在組件中不行嗎
這個全憑個人喜好,不過按照編程規范來說要盡量避免在java代碼中出現中文,當然這不是強制的。 用string.xml還有一個好處,方便做國際化。如果你以後開發要用其他語音你可以新建一個別的語言的xml文件。 直接寫到組件中當然也是可以的。
Ⅱ android開發中,如何通過變數獲取strings.xml的值。
你把R.string.str左右一個整體.
比如定義個
int
str.
然後動態的修改這個str,
比如一開始str
=
R.string.username.
後來你改了一下,str
=
R.string.password.
最後用的時候,
直接getString(str)就好了.
Ⅲ 在android開發中,關於string和string.xml的問題
values文件下下面放了很多xml,比如建立一個4.0的project,就會有strings.xml、dimens.xml、styles.xml。而且自己也可以添加,比如以後學Spinner組件等可以可能會用到自己做的xml文件。
android:text="@string/button1「的」string「不是直接的文件夾名字,是ADT下管理的一個鍵值映射,提供的」@string「找到這個string鍵然後這個鍵對應的值是」strings.xml「這個文件。一種映射關系,而不是直接的對應,就和資料庫開發中的三層模式似的(當然比喻不大妥當)。
包括引用style也不是@styles而是@style,ADT通過用戶提供的鍵」style「找到對應的值即」style.xml「文件。再舉個例子,比如你要為ImageView添加一個圖片,會在布局文件中寫這么一句
android:src="@drawable/pic"但是你看看有沒有」drawable「這個文件夾的?沒有,而是」drawable-hdpi「等一系列文件夾。具體內部是ADT自己通過映射找到的。
Ⅳ 安卓android的程序編譯好之後,strings.xml文件還單獨存在嗎還可以在程序中修改嗎
不用存在strings中,可以存在Preference中,這是android提供的一種輕量級的數據存取方法,它以鍵值對的方式將數據保純在一個XML文件中。
Ⅳ Android程序中的strings.xml文件 中string類型的變數為什麼一修改就出現java.lang.NullPointException錯誤
因為Eclipse是一個IDE工具,他的反應並不是總是那麼智能,你最重要的是明白:工程目錄下各個文件的關系,任何改動都要保證R.java文件伴隨改動(他有時候不是那麼聽話的)。
<string name="hello">Hello World, HelloActivity</string>
這句話在R.java 中 表現為
int hello = 0x12345678;
實際是把XML文件中的數據看成類:
R.java中的數據就是這個類實例的引用地址。
為了表示區別用hello1 和hello2 表示你改變前後的字元串
String hello1 = 「Hello World, HelloActivity!」;
當你改動的時候又產生一個字元串,
String hello2 = 「Hello World, HelloActivity」;
如果IDE工具足夠智能他就刪除前一個hello1用hello2代替,但是有些時候他沒有,R中0x12345678依然指向hello1 但是他已經不存在了 被更改為Hello2了 但是hello2 沒有在R中 注冊,程序查詢不到他。所以報錯。
解決辦法:project->clean clean是是的整個工程重建。R.java會重建 其中的整形數組(就是引用地址)會重新和資源相互對應。(R.java經常會出錯去找一下R.java出錯的處理辦法)
忠告:如果確認程序的微小改動,導致程序出錯,要耐心尋求答案,這樣你才能處理更多類似的問題,對問題的實質更了解,才能更好的提高自己。
Ⅵ Android 關於string.xml存值的問題
使用<b>和<b>來列印出<b></b>
這樣的文字;「<」表示「<」的意思;
使用textView.setText(Html.fromHtml("Hello
<b>World</b>,<font size=\"3\"
color=\"red\">AnalysisXmlActivty!</font>"));設置類似於html那樣的效果
如果你需要使用 String.format(String, Object...)
來格式化你的字元串,你可以把格式化參數放在你的字元串中,參見下面的例子:
<string
name="welcome_messages">Hello, %1$s! You have %2$d new
messages.</string>
在這個例子中,這個格式化的字元串有2個參數, %1$s是個字元串 %2$d
是個浮點數,你可以在你的程序中按照下面的方法來根據參數來格式化字元串:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages),
username, mailCount);
那麼根據例子上說的我需要把%s換成%1$s才行了,修改後編譯通過,程序成功啟動。
問題補充:如何在<string></string>中使用%號
有兩個辦法可供選擇
1.用%%來表示1個%,和轉意符號 \ 的用法相同
2.如果你的字元串不需要格式化,可以在你的<string
標簽上增加一個屬性:formatted="false"例如 <string name="test" formatted="false">% test
%</string> 即可
Ⅶ android的String.xml文件中使用%s表示什麼意思,怎麼使用
今天更新新版android SDK,發現對xml配置文件中各個控制項屬性設置更加嚴謹了,以前在strings.xml里配置的帶有 %s,%f 等變數格式的符號要求更加成%1$s,%1$f這樣的符號來代替,其中%1表示第一個位置的變數, $s表示為字元串類。
Ⅷ android 怎麼獲得string.xml里的數組
example:XML file saved at res/values/strings.xml : <? xml version = "1.0" encoding = "utf-8" ?>
<resources>
<string-array name = "planets_array" >
<item> Mercury </item>
<item> Venus </item>
<item> Earth </item>
<item> Mars </item>
</string-array>
</resources>
This application code retrieves a string array:
Resources res = getResources () ;
String [] planets = res . getStringArray ( R . array . planets_array );
Ⅸ android 的string.xml 是怎樣被編譯進去的
在Activity中getString(R.string.resource_name);
或者getResources().getString(R.string.resource_name);
其他地方
用context上下文context.getString(R.string.resource_name);
context可以從調用的地方獲得,或者 getApplicationContext 用全局的context
或者用
application.getString(R.string.resource_name);
Ⅹ 【android】string.xml的數據儲存的用法,高手幫忙!
操作方法:
//xml
?xml
version="1.0"
encoding="utf-8"?
…
…
Bharain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
//獲取String
String[]
contries=getResources().getStringArray(R.array.countries_arry);