안드로이드에서 xml파싱하는법에서
getResource()를 안쓰고 파싱하는 법이 없을까요 ??
지금 view하고 engine하고 분리시켜서 구현을 하고있기때문에
Activity를 상속받을수없는데
getReource()를 안쓰고 xml 파일을 읽어오는법 알려주세용 ㅜ.ㅜ
부탁드립니다 ㅎㅎ
R.java파일에서 각각의 주소값과 ID값을 붙여넣기 하세요....
그럼 getResource없이도 됩니다....
저희도 그렇데 구동시킨적이 있습죠....
문제는 뭐하나 수정할떄마다 R.java가 바뀌니....알아서 붙여넣기!
Application을 상속받는 클래스를 하나 만드셔서 멤버변수로 Context를 저장해서 사용하시면 됩니다.
onCreate에서 Context를 저장해주시고요.
public class App extens Application{
public static Context mContext;
public static Context getContext(){
return mContext;
}
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
}
대략 위와 같이 클래스를 만드신 후 android Manifest 파일의 application목록의 name에 xxx.xxx.app
와 같이 넣어주신 후 Activity를 상속받지못하는 곳에서
App.getContext();하셔서 사용하시면 됩니다.
리소스 조작보다 이게 더 나을 듯하네요 ^^
context없이 프로젝트 리소스 객체를 가져올 수 없습니다.
Resources r = Resources.getSystem();
이게 있긴 하지만, 이건어디까지나 안드로이드 기본 기소스만 접근이 가능합니다.
그러므로 engine이란 녀석에게 Resource나 context를 넘겨서 사용하셔야 할것 같습니다.