2011-12-20 5 views
0

getResources(). getXml을 사용하여 'res'폴더의 XML 파일에 액세스 할 수 있습니다. 분명히 내가 읽은 바로는, 나는 이런 식으로 뭔가가 필요합니다 getResources(). getXml 사용 방법

XmlPullParser xpp = context.getResources().getXml(R.xml.encounters); 

그래서 나는 그것을 넣어, 나는 또한

는하지만 '에 오류가 계속 수입 "android.content.Context" 가 비 정적 필드 컨텍스트

이 문제를 해결하는 방법이 있나요에 정적 참조를 만들 수 없습니다 : 말한다 컨텍스트 '?

package t.HelloAndroid; 
import java.io.IOException; 
import java.io.StringReader; 

import org.xmlpull.v1.XmlPullParser; 
import org.xmlpull.v1.XmlPullParserException; 
import org.xmlpull.v1.XmlPullParserFactory; 
import android.content.res.XmlResourceParser; 
import android.content.Context; 
import android.app.Activity; 

public class XmlParser { 

public static void main (String args[]) 
    throws XmlPullParserException, IOException 
{ 

    XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
    factory.setNamespaceAware(true); 
    //XmlResourceParser xrp = context.getResources().getXml(R.xml.encounters); 
    XmlPullParser xpp = context.getResources().getXml(R.xml.encounters); 

    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"); 
} 
} 
+1

더 많은 컨텍스트를 게시하십시오 :-) –

+0

이걸 가지고 있습니다 : public class XmlParser { \t private context context; \t 공공 정적 무효 메인 (문자열 인수 []) \t \t는 { XmlPullParserFactory 공장 XmlPullParserFactory.newInstance =() XmlPullParserException IOException을 을 발생; factory.setNamespaceAware (true); // XmlResourceParser xrp = context.getResources(). getXml (R.xml.encounters); XmlPullParser xpp = context.getResources(). getXml (R.xml.encounters); – SkyeBoniwell

+0

미안하지만 서식이 끔찍한 것 같습니다. – SkyeBoniwell

답변

1

context은 Android 앱 내 활동 (또는 이와 유사한 것)에서만 사용할 수 있으므로 게시 한 코드는 작동하지 않습니다. main()을 통해서만 호출하면 올바른 컨텍스트가 설정되지 않습니다 (위의 예에서는 null이므로 NPE가됩니다).

+0

오, 좋아, 그래서 뭔가를 컨텍스트를 할당해야합니까? 감사 – SkyeBoniwell

2

문맥의 장소에서 당신의 활동 이름을 사용

여기 내 전체 코드입니다.

1

이 진술이 정적이지 않은 방법으로되어 있는지 확인하십시오.

관련 문제