2010-06-14 4 views
1
 AssetManager assets = myContext.getAssets(); 
     String[] files = assets.list("MyFolder"); 
     InputStream myInput = assets.open("MyFolder/" + files[0]); 
     int i = myInput.read(); 

이 경우 'i'는 -1로 읽지 않음을 의미합니다.Android 자산 가치 읽지 않음?

파일이있는 경우 아무 것도 표시되지 않으므로 변수 '파일'에도 파일이 있습니다.

내가 Assets 폴더에 넣은 파일을 읽을 수있게하려면이 파일에 어떤 작업을해야합니까?

참고 : 작은 텍스트 파일을 사용할 때 작동합니다. 10 메가 파일을 사용할 때 그렇지 않습니다. (10 meg는 설치해야하는 Sqlite 데이터베이스입니다)

답변

2

파일 이름을 XXXXXX.png로 변경하여 압축되지 않도록 한 다음 복사 할 수 있습니다.

0

APK에는 10MB 파일을 넣을 수 없습니다. 이를 10 개의 1MB 파일로 분할해야합니다. 더 나은 방법은 응용 프로그램의 첫 번째 실행시 SD 카드로 다운로드하는 것과 같은 다른 방법으로 데이터베이스를 배포하는 것입니다. APK가 너무 큰 경우 많은 사용자가 APK를 설치할 수 없습니다.

+2

시스템 엔지니어가 리소스를 압축하고 1 메가 이상의 파일을 압축 해제 할 수 없기 때문에 문제가 있다고 Google 엔지니어가 알리는 게시물을 발견했습니다. 해결 방법은 압축되지 않도록 데이터베이스 이름을 XXXXX.png로 바꾸는 것입니다. 그럼 모두 잘 작동합니다. –

+0

아, 맞습니다. 가짜 파일 확장 트릭을 잊어 버렸습니다. 내 사과. – CommonsWare

관련 문제