2015-06-24 72 views
4

我需要在我的android應用程序中顯示本地pdf,這個pdf需要包含在我的應用程序包中,我有這個但我不知道如何構建File類。如何在android中打開本地PDF?

public void loadreglamento(View v){ 
     //Im supposed to give a path with the file but I really dont know how 
     Uri path = Uri.fromFile(file); 
     Intent intent = new Intent(Intent.ACTION_VIEW); 
     intent.setDataAndType(path, "application/pdf"); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent); 

    } 

此代碼是好對我來說,我不關心,如果用戶看到外部查看/編輯文檔。

我還需要知道我必須複製PDF文件的位置。

在此先感謝。

+0

https://stackoverflow.com/questions/30549807/cannot-open-pdf-file-in-external-app/30549924#30549924 – CommonsWare

回答

0

首先回答你的問題:「如何建立一個文件類?」

下面是一個簡單的例子。

File myFile = new File("Your any type of file url"); 

你也應該閱讀有關文件類,它提供各種構造的信息來創建一個文件在Android開發人員參考。

但是要創建一個文件,您需要提供PDF文件的URL。由於您希望將PDF文件包含到您的應用程序包中,因此您無法使用靜態URL訪問它。

有兩種方法,包括在應用程序包文件:

  1. 資源:通過在你的資源文件,你可以通過自己的ID訪問它們。

  2. 資產:通過在您的資產中包含文件,您可以使用資產管理器訪問它們。

就你而言,我建議使用Assets方法。

除非您的代碼具有PDF閱讀功能,否則無法直接從上述方法打開PDF文件。

因此,要解決您的問題,您首先需要將您的PDF文件從Assets中複製到SD卡或Internal Storage上的某個位置,然後才能訪問該文件。 這裏是一個解決方案通過在Stack Overflow首先拷貝由蘇尼爾閱讀PDF文件:

Read a pdf file from assets folder

我希望這有助於。快樂編碼。

+0

感謝您的完整和準確的答案。 –