アセット フォルダーから 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 サイトの他の関連記事を参照してください。