ホームページ  >  記事  >  Java  >  Android の Assets フォルダーから PDF ファイルを開くにはどうすればよいですか?

Android の Assets フォルダーから 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 の Assets フォルダーから PDF ファイルを開くにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。