Ⅰ 涓轰粈涔堟垜镄勮繖娈砻ndroid xml鏂囦欢浼氭姤阌
android xml鎶ラ敊镄勫师锲犳湁鍙鑳芥槸濡备笅:
android xml涓浜涘叧阌瀛楁湁𨰾煎啓阌栾
寮旷敤浜嗕竴浜涜嚜瀹氢箟鎺т欢锛岃宩ava绫诲苟娌℃湁鏂板缓瀹屾垚銆
Ⅱ XML解析失败:格式不符
其实解析XML有两种方式,一种叫DOM,一种就是SAX。
其中DOM的解析方式是一次性把XML读入到内存中,然后按照XML的结构在内存中生成一颗DOM树,这样你可以从XML的根节点开始访问XML的每一个节点。但是种方式因为要把XML一次性全部读入内存,所以内存的消耗是很大的。如果XML很大的话,不建议使用这种方式。
SAX比较灵活,它是一个标签,一个标签的解析,每解析一个标签的时候就会调用相应的一个函数。已经解析过的标签,就被程序丢掉了(除非用你自己的方式把它记下来)。给你举个例子,比如有这样一个xml文件:
<年级 名称=“一年级”>
<班级 名称=“一班”>
<班主任 名称=“XXX”/>
</班级>
<班级 名称=“二班”>
<班主任 姓名=“YYY”>
</班级>
</年级>
对于这个XML,SAX的解析方式是,首先遇到"年级"标签,然后调用函数startElement(),在这个方法里,你可以读取“年级”标签的名称是“一年级”,然后往下执行,读到了班级,这个时候程序会再次自动的触发startElement()方法,然后得到班级的名称,这个时候已经读取的“年级”的信息就不存在了。后面的标签以此类推。
当读到</班级>标签的时候,程序会自动出发endElement()方法。当然读到</年级>的时候也会触发这个方法。
总的来说,程序对XML每做一次进一步的操作,就会触发一个相应的函数,触发的这个函数叫做回调函数(其实不知道它是回调函数也没关系)。个人感觉整个解析的过程就类似于对栈的操作。
解释的很粗浅,因为如果真正要把这个问题说明白很麻烦,不过希望这个解释能给你帮助 :)
请参考
Ⅲ androidmanifest.xml涓<activity android:name鎶ラ敊
濡傚浘锛岀敱浜崄ainActivity.java涓嶆槸鐩存帴鍦╦ava璺寰勪笅锛岃屾槸鍦╦ava涓嬬殑com.xzy.绛夌瓑鏂囦欢涓嬶纴镓浠ヨ佸姞涓婅矾寰