2012-03-19 6 views
0

현재 인터넷에서 파일을 다운로드하고 SD 카드에 저장 한 다음 파일을 사용할 수 있습니다. 그러나 이로 인해 파일 (독점 데이터 포함)을 볼 수 있습니다. 원시 또는 자산 폴더 같은 곳에서 파일을 사용하는 것을 선호합니다. 나는 다운로드 코드를 생략되지만 파일을 사용하려면 코드는이raw 또는 assets 폴더에있는 파일 사용

File myFile = new File (android.os.Environment.getExternalStorageDirectory() + "/folder/filename.xml"); 
    Intent myIntent = new Intent(Intent.ACTION_VIEW); 
    myIntent.setData(Uri.fromFile(myFile)); 

안드로이드 기본 응용 프로그램으로 파일을 열고 모든 좋은입니다.

난하지만 난 다시 그 두 가지 중 하나를 얻는 방법 작동하지 않을 수 있습니다 유사한 Q/A의

Uri.parse("android.resource://com.projectname.testing/raw/filename"); 

InputStream ins = getResources().openRawResource(R.raw.filename); 

과 같은 코드를 사용하여 주위를 돌고있는 것을 발견에 ' 파일 '형식으로 내 .set 데이터 코드와 함께 사용

단순히 파일로 파일에 액세스하여 문제를 해결하고 싶습니다. 그러나 외부 응용 프로그램에서 사용 중이므로 mode_world_readable 파일의 임시 사본을 만든 다음 응용 프로그램을 닫은 후 파일을 삭제해야 할 수도 있습니다. 이것은 특히 SD 카드에 저장된 파일에 대해 위의 코드가 작동하기 때문에 많은 추가 작업처럼 들립니다.

누구에게 아이디어가 있습니까? 감사합니다.

답변

0

원시 또는 자산 폴더 같은 곳에서 파일을 사용하고 싶습니다.

"너무"볼 수 있습니다.

하지만 난 File을지지 않습니다 내 .setData 코드

setData()와 함께 사용하도록 다시 '파일'형식으로 두 중 하나를 얻는 방법 작동하지 않을 수 있습니다. Uri 걸립니다. Uri.parse()을 사용하여 다른 유형의 Uri 값을 구문 분석하십시오. 이미 위에 표시된이 코드가 있습니다. 그것이 내가 내가 응용 프로그램을 종료 한 후 다음 삭제 mode_world_readable와 파일의 임시 복사본을해야 할 수도 있습니다 읽고 외부 응용 프로그램에서 사용하고 그러나 이후

.

분명히 세계에서 읽을 수 있어야합니다. 또한 모든 앱이 모든 구성표를 지원하는 것은 아니므로 file:// 또는 http://을 지원하는 앱은 android.resource://을 지원하지 않을 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 원시 폴더 또는 에셋 폴더의 파일을 볼 수있는 방법을 자세히 설명 할 수 있습니까? 나는 그들이 암호화되어 있고 해킹이 필요하게 될 .apk로 압축되어 있다고 생각했다. (따라서 누군가 내 개인 데이터를 가지고 있다면 그것이 '불법적 인 활동'을 얻는다.) - 나는 모든 종류의 다른 것들을 시도했다. Uri.parse 옵션은 없지만 아무것도 작동하지 않는 것 같습니다. 파일을 전달할 때만 작동합니다. – lifeIsGood

+0

@lifeIsGood : "원본 또는 자산 폴더의 파일을 볼 수있는 방법을 자세히 설명해 주시겠습니까?" -이 앱은 다른 앱에서도 읽을 수 있습니다. – CommonsWare

관련 문제