>  기사  >  Java  >  Android의 자산 폴더에서 PDF 파일을 여는 방법은 무엇입니까?

Android의 자산 폴더에서 PDF 파일을 여는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-29 00:54:29404검색

How to Open a PDF File from the Assets Folder in Android?

자산 폴더에서 PDF 파일 읽기

문제:
응용 프로그램의 PDF 파일을 읽을 때 자산 폴더에서 파일을 열기 위해 애플리케이션을 선택한 후 "파일 경로가 유효하지 않습니다"라는 오류 메시지가 표시됩니다.

해결책:

문제는 PDF 파일의 파일 경로입니다. 이 문제를 해결하려면 다음 단계를 따르세요.

1. PDF 파일을 애플리케이션의 파일 디렉터리에 복사

<code class="java">private void CopyReadAssets() {
    AssetManager assetManager = getAssets();

    InputStream in = null;
    OutputStream out = null;
    File file = new File(getFilesDir(), "abc.pdf");
    try {
        in = assetManager.open("abc.pdf");
        out = openFileOutput(file.getName(), Context.MODE_WORLD_READABLE);

        copyFile(in, out);
        in.close();
        in = null;
        out.flush();
        out.close();
        out = null;
    } catch (Exception e) {
        Log.e("tag", e.getMessage());
    }
}</code>

이 코드는 자산 폴더의 "abc.pdf" 파일을 애플리케이션의 파일 디렉터리로 복사하여 해당 파일에 대한 액세스 권한을 보장합니다.

2. 새 파일 경로를 사용하도록 인텐트 업데이트

<code class="java">Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(
                    Uri.parse("file://" + getFilesDir() + "/abc.pdf"),
                    "application/pdf");</code>

이 코드는 응용 프로그램의 파일 디렉터리에 복사된 PDF 파일을 가리키도록 인텐트를 업데이트합니다.

3. 외부 저장소에 쓰기 권한 추가

<code class="xml"><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /></code>

파일 작업을 위해 외부 저장소에 액세스할 수 있는 권한을 애플리케이션에 부여하려면 AndroidManifest.xml 파일에 이 권한을 추가하세요.

이제 사용자가 DOCS 버튼을 클릭하면 애플리케이션이 PDF 파일을 성공적으로 읽고 표시해야 합니다.

위 내용은 Android의 자산 폴더에서 PDF 파일을 여는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.