亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

初學Android,使用自定義的XML資源(十八)

系統 2420 0

使用自定義的XML資源,這當然也必須是Android的一個功能,Java開發者可以使用DOM,SAX等多種方式,Android內建了Pull來解析XML
那么我個人覺得在Android中還是使用它的內建解析方法比較好,使用其它方式還要下載它們的Jar包,還是挺麻煩的.

?

同樣的,和動畫資源一樣,XML資源也沒有默認創建,需要自己手動創建res/xml

下面先定義一個xml文件,然后再解析它

res/xml中創建books.xml

?

    <?xml version="1.0" encoding="utf-8"?>
<books>
    <book price="99.0" 出版日期="2008年">Java</book>
    <book price="89.0" 出版日期="2009年">Jave EE</book>
    <book price="69.0" 出版日期="2009年">Ajax</book>
</books>
  

下面在主界面中放一個按鈕,點擊時解析XML,然后顯示在下面的文本框里面

?

    package WangLi.Resouce.XmlResTest;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParserException;

import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class XmlResTest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button bn = (Button)findViewById(R.id.bn);
        bn.setOnClickListener(new OnClickListener(){
        	public void onClick(View arg0)
        	{
        		//根據XML資源的ID獲取解析該資源的解析器
        		//XmlResourceParser是XmlPullParser的子類
        		XmlResourceParser xrp = getResources().getXml(R.xml.books);
        		try
        		{
        			StringBuilder sb = new StringBuilder("");
        			//還沒有到XML文檔的結尾處
        			while(xrp.getEventType()!=XmlResourceParser.END_DOCUMENT)
        			{
        				//如果遇到了開始標簽
        				if(xrp.getEventType()==XmlResourceParser.START_TAG)
        				{
        					//獲取該標簽的標簽名
        					String tagName = xrp.getName();
        					if(tagName.equals("book"))
        					{
        						//根據屬性名獲取屬性值
        						String bookName = xrp.getAttributeValue(null,"price");
        						sb.append("價格:");
        						sb.append(bookName);
        						//根據屬性索引來獲取屬性值
        						String bookPrice = xrp.getAttributeName(1);
        						sb.append("出版日期:");
        						sb.append(bookPrice);
        						sb.append("書名:");
        						//獲取文本節點的值
        						sb.append(xrp.nextText());
        					}
        					sb.append("\n");
        				}
        				//獲取解析器的下一個事件
        				xrp.next();
        			}
        			EditText show = (EditText)findViewById(R.id.show);
        			show.setText(sb.toString());
        		}
        		catch(XmlPullParserException e)
        		{
        			e.printStackTrace();
        		}
        		catch(IOException e)
        		{
        			e.printStackTrace();
        		}
        	}
        });
    }
}
  

效果如下,當點擊按鈕時,文本框出現解析的XML文件內容

初學Android,使用自定義的XML資源(十八)


初學Android,使用自定義的XML資源(十八)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 2021国产精品久久久久 | 亚洲国产系列一区二区三区 | jizz中国女人 | 日韩中文字幕在线免费观看 | 天天干天天射天天操 | 国产欧美一区二区精品仙草咪 | 国产精品手机在线观看 | 精品免费看 | 久久精品国产91久久麻豆自制 | 色综合久久久高清综合久久久 | 最近中文字幕无吗免费视频 | 久久久精品2021免费观看 | 成人在线观看网站 | 全黄一级裸片视频在线观看 | 91精品91久久久 | 欧美成人四级剧情在线播放 | 92精品国产成人观看免费 | 日本aa视频 | 末成年娇小性色xxxxx视频 | 国产激情小视频 | 日本不卡视频在线 | 天天透天天插 | 精品久久久在线观看 | 天天干天天草天天 | 青青国产成人精品视频 | chinese国产一区二区 | 亚洲国产精品a一区 | 亚洲一区二区三区四区五区 | 久99久热 | 国内精品久久久久影院老司 | 今天的恋爱未删减在线观看 | 99在线精品免费视频 | 亚洲国产精品久久 | 欧美日韩高清在线 | 欧美 日韩 国产在线 | 一级白嫩美女毛片免费 | 奇米影视888狠狠狠777九色 | 国产精品久久久久久久久久日本 | 国产精品视频福利一区二区 | 国产成人综合亚洲亚洲欧美 | 在线观看国产一区二区三区 |