2016-06-15 6 views
-1

質問タイトルが示唆するように、正確にEventTypeはAndroid Javaで何をしていますか? 私はXML解析についてのAndroid開発チュートリアルを見てきました。それはそれに重大な影響を与えているようです。 私はそれが何をしているのか、そしてなぜそれがXMLの解析に役立つのか分かりません。 私は英語のネイティブスピーカーではないので、簡単な英語で説明してください。ありがとう。Android JavaのEventTypeとは何ですか?

答えて

1

EventTypeは、本質的に、何らかの重要なデータを含むXMLドキュメント内のコンテンツのブロックです。だから、タグ、テキストなどの可能性がありAndroid XmlPullParser docsは、それをこのように説明します

パーサの現在のイベント状態が getEventType()メソッドを呼び出すことによって決定することができます。最初はパーサーはSTART_DOCUMENT の状態です。

メソッドnext()は、パーサを次のイベントに進めます。次に返されるint値 は、現在のパーサー状態を決定し、 は、getEventType ()への呼び出しから返される値と同じです。

通常、XMLパーサが機能するように、関心のある「イベント」を探してドキュメントをトラバースしていますか?言い換えれば、開始タグやそれに類するもののような興味深いものが見えるまで、文字で文書の文字を辿り続けたいと思っています。イベントを見つけたら、パーサを停止してそのイベントを識別し、そのイベントをどのように処理すべきかを知る必要があります。

int eventType = xpp.getEventType(); 
while (eventType != XmlPullParser.END_DOCUMENT) { 
    if(eventType == XmlPullParser.START_DOCUMENT) { 
     System.out.println("Start document"); 
    } else if(eventType == XmlPullParser.START_TAG) { 
     System.out.println("Start tag "+xpp.getName()); 
    } else if(eventType == XmlPullParser.END_TAG) { 
     System.out.println("End tag "+xpp.getName()); 
    } else if(eventType == XmlPullParser.TEXT) { 
     System.out.println("Text "+xpp.getText()); 
    } 
    eventType = xpp.next(); 
} 
System.out.println("End document"); 

だから、このコードでは、我々はそれぞれの「イベント」で停止、パーサは文書を通過できるようにする(注目点):プロセスは、通常、次のようになります。次に、イベントをチェックし、タグのようなものなら、タグの名前を読みます。テキストの場合は、テキストなどを読み込みます。基本的に、あなたが望む "イベント"イベントには含まれています。

しかし、本質的に、イベントはドキュメント内のちょうどあなたの場所です...ドキュメントの開始、ドキュメントの終了、タグ、テキストなどである可能性があります。イベントの種類は、期待できるさまざまな種類。様々なイベントタイプは、通常、XmlPullParserの仕組みと同様に静的定数に格納されます。だからあなたが期待できる出来事のリストがあり、あなたが到着したものを見るためにチェックしなければなりません。

希望に役立ちます。

+0

答えてくれてありがとう、本当に私を助けてくれました! –

+0

問題ありません、喜んで助けてください! – NoChinDeluxe

関連する問題