Membaca fail PDF daripada folder aset dalam aplikasi Android melibatkan beberapa langkah khusus.
Dalam kod yang diberikan, isu timbul dengan laluan fail yang ditentukan untuk fail "abc.pdf". Laluan yang digunakan, "android.resource://com.project.datastructure/assets/abc.pdf," tidak betul.
Untuk menyelesaikannya, ikut langkah berikut:
Berikut ialah kod yang dikemas kini dengan pengubahsuaian yang diperlukan:
<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>
Kod yang dikemas kini ini akan menyalin "abc.pdf" dengan betul fail ke storan dalaman aplikasi dan gunakan laluan fail yang betul untuk membuka PDF dalam pemapar PDF pihak ketiga.
Atas ialah kandungan terperinci Bagaimana untuk membaca fail PDF dengan betul dari folder aset dalam aplikasi Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!