2012-11-27 4 views
0

한 번 읽고 전역으로 저장하려는 정적 XML 데이터가 있습니다. 처음에는 액티비티의 파일을 단순히 맵으로 읽었지만 여러 액티비티의 데이터에 액세스해야하므로 각 액티비티의 파일에서 해당 액티비티를 읽지 않아도됩니다.정적 XML 데이터를 전역으로 저장

컨텍스트가 필요한 XmlPullParser를 사용하고 있습니다. 내 문제는 ... 내가 그렇게 같은 정적 변수로 저장하려는

public static Map<String,String> myXmlData=getXmlData(???); 

하지만 난 정적 방법으로 응용 프로그램 컨텍스트를 얻을하는 방법을 모르겠어요.

public static Map<String, String> getXMLData(Context ctx){ 
    Map<String, String> data = new HashMap<String, String>(); 
    XmlPullParser parser = ctx.getResources().getXml(R.xml.mydata); 
    ... 

은}

나는 위의 정적 메서드에서의 CTX 매개 변수를 제거했는데, GetApplicationContext()를 호출하지만 컴파일러는 내가 정적 메서드에서 해당 호출을 만들려고 노력하는 것을 좋아하지 않았다.

아무도 아이디어가 없습니까?

답변

1

앱에서 Application class을 연장해야합니다. 이것은 초기화해야하는 앱 전체 리소스의 진입 점입니다.

Application.onCreate는 사용자가 앱을 시작할 때 실행될 응용 프로그램의 첫 번째 작업 중 하나입니다.

응용 프로그램이 컨텍스트를 확장하므로 응용 프로그램 (자원, refereces, 시스템 서비스 등)을 초기화하는 데 필요한 모든 것을 얻을 수 있습니다.

다음은 자습서입니다. http://www.helloandroid.com/tutorials/maintaining-global-application-state

관련 문제