La lecture d'un fichier PDF à partir d'un dossier d'actifs dans une application Android implique certaines étapes spécifiques.
Dans le code fourni, un problème survient avec le chemin de fichier spécifié pour le fichier "abc.pdf". Le chemin utilisé, "android.resource://com.project.datastructure/assets/abc.pdf", est incorrect.
Pour résoudre ce problème, suivez ces étapes :
Voici le code mis à jour avec les modifications nécessaires :
<code class="java">public class SampleActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); CopyReadAssets(); } 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()); } Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType( Uri.fromFile(file), "application/pdf"); startActivity(intent); } private void copyFile(InputStream in, OutputStream out) throws IOException { byte[] buffer = new byte[1024]; int read; while ((read = in.read(buffer)) != -1) { out.write(buffer, 0, read); } } }</code>
Ce code mis à jour copiera correctement le "abc.pdf" fichier dans le stockage interne de l'application et utilisez le chemin d'accès correct pour ouvrir le PDF dans une visionneuse PDF tierce.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!