2011-10-04 6 views
1

내 안드로이드 애플 리케이션에서 나는 .db-jar 파일을 추출하는 자신의 자바 라이브러리를 사용하고 있습니다. 자바 데스크톱에서 잘 작동하지만 안드로이드에서이 작업을 시도하면 입력 스트림이 영원히 차단됩니다. 복사 방법은 다음과 같습니다 : I 외부 파일 디렉토리에이 파일을 복사 할 및 android.permission.WRITE_EXTERNAL_STORAGE가 부여됩니다.apk에서 파일의 압축을 풉니 다?

InputStream in = classloader.getResourceAsStream(...); 
OutputStream out = new FileOutputStream(new File(...)); 
try { 
    while ((read = in.read()) != -1) { 
    out.write(read); 
    } 
} finally { 
    try { 
    in.close(); 
    } catch (final Exception e) { 
    LOGGER.debug("Error", e); 
    } 

    try { 
    out.close(); 
    } catch (final Exception e) { 
    LOGGER.debug("Error", e); 
    } 
} 

.

/data/app/...apk에있는 파일에 액세스 할 수있는 방법이 있습니까? 그렇지 않다면 영원히 차단하지 않고 액세스 할 수 없다는 것을 어떻게 감지 할 수 있습니까? 우리는 우리가 가진 한 APK에서 클래스 파일을 추출 할 수 있습니다 :

+0

채워진 데이터베이스로 앱을 보냅니다. –

+0

예, 앱에 채워진 데이터베이스가 있어야합니다. 처음 시작할 때 데이터베이스를 추출하고 업데이트해야합니다. – Stephan

답변

2

데이터베이스 파일을 /assets -folder에 넣고 처음 실행할 때 /databases -folder에 복사해야합니다. 이에 대한 자습서는 here에서 찾을 수 있습니다.

그러나 테이블과 샘플 항목 만 만들려는 경우 의 onCreate() -method를 사용할 수 있습니다.

+0

나는 그것을 시도 할 것이다. 하지만 파일을 외부 저장소에 복사하고 싶습니다. – Stephan

+0

당신도 할 수 있습니다 ("외부 저장 장치 쓰기"가있는 경우). –

0

이 질문에 응답, 원시 폴더에 데이터를 저장한다 우리는 layout/xml 파일이나 다른 파일을 얻지 못할 것입니다.

apk에서 클래스 파일을 추출 할 수있는 방법이 있습니다.

관련 문제