如何在 android 中打开本地 PDF?
How to open a local PDF in android?
我需要在我的 android 应用程序中显示一个本地 pdf,这个 pdf 需要包含在我的应用程序包中,我有这个但我不知道如何构建 File
class.
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);
}
这段代码对我来说没问题,我不在乎如果用户在外部看到文档 viewer/editor。
我还需要知道我必须在哪里复制 PDF 文件。
提前致谢。
第一个回答你问题的人:"How to build a File class?"
下面是一个简单的例子。
File myFile = new File("Your any type of file url");
您还应该阅读 Android 文件开发人员参考 class,其中提供了有关创建文件的各种构造函数的信息。
但要创建文件,您需要提供 PDF 文件的 URL。由于您想将 PDF 文件包含到您的应用程序包中,因此您无法使用静态 URL.
访问它
有两种方法可以将您的文件包含在应用程序包中:
资源:通过将文件包含在您的资源中,您可以使用它们的 ID 访问它们。
资产:通过将文件包含在您的资产中,您可以使用资产管理器访问它们。
对于你的情况,我建议使用资产方法。
您无法通过上述方法直接打开 PDF 文件,除非您的代码具有 PDF 阅读功能。
所以要解决您的问题,您首先需要将您的 PDF 文件从 Assets 复制到 SD 卡或内部存储上的某个位置,然后您就可以访问该文件。
这是一个通过先由 Sunil 在 Stack Overflow 复制它来读取 PDF 文件的解决方案:
Read a pdf file from assets folder
希望对您有所帮助。快乐编码。
我需要在我的 android 应用程序中显示一个本地 pdf,这个 pdf 需要包含在我的应用程序包中,我有这个但我不知道如何构建 File
class.
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);
}
这段代码对我来说没问题,我不在乎如果用户在外部看到文档 viewer/editor。
我还需要知道我必须在哪里复制 PDF 文件。
提前致谢。
第一个回答你问题的人:"How to build a File class?"
下面是一个简单的例子。
File myFile = new File("Your any type of file url");
您还应该阅读 Android 文件开发人员参考 class,其中提供了有关创建文件的各种构造函数的信息。
但要创建文件,您需要提供 PDF 文件的 URL。由于您想将 PDF 文件包含到您的应用程序包中,因此您无法使用静态 URL.
有两种方法可以将您的文件包含在应用程序包中:
资源:通过将文件包含在您的资源中,您可以使用它们的 ID 访问它们。
资产:通过将文件包含在您的资产中,您可以使用资产管理器访问它们。
对于你的情况,我建议使用资产方法。
您无法通过上述方法直接打开 PDF 文件,除非您的代码具有 PDF 阅读功能。
所以要解决您的问题,您首先需要将您的 PDF 文件从 Assets 复制到 SD 卡或内部存储上的某个位置,然后您就可以访问该文件。 这是一个通过先由 Sunil 在 Stack Overflow 复制它来读取 PDF 文件的解决方案:
Read a pdf file from assets folder
希望对您有所帮助。快乐编码。