2016-10-31 9 views
0

Ich versuche, PDF-Datei in meiner Anwendung zu zeigen. Ich verwende Pdf Viewer-Bibliothek (https://github.com/barteksc/AndroidPdfViewer). Ich habe eine PDF-Datei in meinen Assets-Ordner gelegt. Aber wenn ich versuche, die Datei zu laden zeigt es diese Ausnahme:Android PDF Viewer FileNotFoundException

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.samsung.secautomation/com.samsung.secautomation.ui.activities.ShowPdfActivity}: com.github.barteksc.pdfviewer.exception.FileNotFoundException: src/main/assets/test does not exist 

Hier ist mein Code:

com.github.barteksc.pdfviewer.PDFView pdfView=(com.github.barteksc.pdfviewer.PDFView) findViewById(R.id.pdfViewer); 
    pdfView.fromAsset("src/main/assets/test") //test is the pdf file name 
      .pages(0, 2, 1, 3, 3, 3) // all pages are displayed by default 
      .enableSwipe(true) 
      .swipeHorizontal(false) 
      .enableDoubletap(true) 
      .defaultPage(0) 
      .enableAnnotationRendering(false) 
      .password(null) 
      .scrollHandle(null) 
      .load(); 

Hier ist meine Erlaubnis in Manifest-Datei:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

Ich benutze Ubuntu 12.04

Gibt es eine Möglichkeit, dieses Problem zu lösen.

Danke

+0

Können Sie weitere Details posten? Zum Beispiel die Projektstruktur. Ich denke, der Dateipfad ist falsch ... vielleicht versuchen Sie, ".pdf" zum Pfad hinzuzufügen ... –

+2

Sieht auch so aus, als sollten Sie diesen Pfad 'src/main/assets/test' nicht einfügen. Versuchen Sie: pdfView.fromAsset ("test.pdf"). Innerhalb der PDFView.fromAsset 'context.getAssets(). Open()' wird verwendet http://StackOverflow.com/a/5771369/1533933 so sollten Sie nicht Pfad aus Ihrem Quellcode-Ordner schreiben – krossovochkin

+0

'src/main/assets/testen? wenn die Datei auf dem Kompilierungs-Rechner nicht in '..... assets/src/main/assets /' steht und nicht "test" ohne ext. dann 'FileNotFoundException ist offensichtlich ... – Selvin

Antwort

1

ersetzen src/main/assets/test mit test. src/main/assets/test ist ein relativer Pfad zu dieser Datei auf Ihrem Entwicklungscomputer, nicht in den Assets wie auf dem Gerät verpackt.

Beachten Sie, dass Sie davon ausgehen, dass Sie die Erweiterung .pdf manuell aus der Datei entfernt haben, wenn Sie sie in src/main/assets/ eingeben. Wenn diese Datei immer noch die Erweiterung .pdf hat, benötigen Sie sie wahrscheinlich in Ihrem Code. Ressourcen löschen ihre Erweiterungen; Vermögenswerte nicht.