다운로드 받아서 업데이트를 하겠다는건.. apk 내에 리소스를 포함하겠다는 의미가 아닌 것 같네요.
그러면 파일로 관리를 해야할텐데... Activity의 getFileDir() 메소드를 통해서 디렉토리를 얻을 수 있습니다.
이 디렉토리는 /data/data/<package>/files 라는 경로를 갖습니다. (직접 경로를 입력해도 됩니다)
즉... /data/data/<package>/files/res 라는 디렉토리를 만드시고, 그 디렉토리 내에 리소스를 웹에서 복사한 후 로드해서 사용합니다.
일단 해당 디렉토리를 가져옵니다. 존재하지 않을 경우 디렉토리는 생성합니다.
public void getResourceDirectory() {
File resDir = new File(getFileDir(), "res");
if (!resDir.exists()) {
resDir.mkdirs();
}
return resDir;
}
파일 다운로드는 위의 메소드를 통해서 얻은 디렉토리 내에 다운로드 합니다.
이 내용은 인터넷을 찾아보면 많이 나옵니다.
파일의 존재 확인는 File클래스서 제공하는 exists() 메소드를 통해서 가능합니다.
만약 R.drawable.myimage 같은 리소스가 존재하는지 알고 싶은거라면, Resources().getDrawable() 과 같은 메소드를 통해서 가능합니다.. 하지만 이 리소스를 변경하는 것은 apk내에 포함되어 있는 것이기 때문에.. 리소스만 변경 하는 방법이 있는지 모르겠군요.
다운로드 받아서 업데이트를 하겠다는건.. apk 내에 리소스를 포함하겠다는 의미가 아닌 것 같네요.
그러면 파일로 관리를 해야할텐데... Activity의 getFileDir() 메소드를 통해서 디렉토리를 얻을 수 있습니다.
이 디렉토리는 /data/data/<package>/files 라는 경로를 갖습니다. (직접 경로를 입력해도 됩니다)
즉... /data/data/<package>/files/res 라는 디렉토리를 만드시고, 그 디렉토리 내에 리소스를 웹에서 복사한 후 로드해서 사용합니다.
일단 해당 디렉토리를 가져옵니다. 존재하지 않을 경우 디렉토리는 생성합니다.
파일 다운로드는 위의 메소드를 통해서 얻은 디렉토리 내에 다운로드 합니다.
이 내용은 인터넷을 찾아보면 많이 나옵니다.
파일의 존재 확인는 File클래스서 제공하는 exists() 메소드를 통해서 가능합니다.
만약 R.drawable.myimage 같은 리소스가 존재하는지 알고 싶은거라면, Resources().getDrawable() 과 같은 메소드를 통해서 가능합니다.. 하지만 이 리소스를 변경하는 것은 apk내에 포함되어 있는 것이기 때문에.. 리소스만 변경 하는 방법이 있는지 모르겠군요.
보통 이런 경우는 마켓을 통해서 apk를 업데이트 하지 않을까요?