如何在android中打开本地PDF?

时间:2015-06-24 22:40:29

标签: android pdf local

我需要在我的Android应用程序中显示本地pdf,这个pdf需要包含在我的应用程序包中,我有这个但我不知道如何构建File类。

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文件。

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先回答你的问题:“如何构建File类?”

下面是一个简单的例子。

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

您还应该阅读File类的Android Developer Reference,它提供了有关创建File的各种构造函数的信息。

但要创建文件,您需要提供PDF文件的URL。由于您希望将PDF文件包含在应用程序包中,因此无法使用静态URL访问它。

有两种方法可以将您的文件包含在应用包中:

  1. 资源:通过在资源中包含文件,您可以使用他们的ID访问它们。

  2. 资产:通过在资产中包含文件,您可以使用资产管理器访问它们。

  3. 在您的情况下,我建议使用Assets方法。

    除非您的代码具有PDF阅读功能,否则无法直接从上述方法打开PDF文件。

    因此,要解决您的问题,首先需要将资产中的PDF文件复制到SD卡或内部存储上的某个位置,然后才能访问该文件。 以下是通过Sunil在Stack Overflow上首先复制PDF文件来读取PDF文件的解决方案:

    Read a pdf file from assets folder

    我希望这会有所帮助。快乐的编码。