我需要在我的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文件。
提前致谢。
答案 0 :(得分:0)
首先回答你的问题:“如何构建File类?”
下面是一个简单的例子。
File myFile = new File("Your any type of file url");
您还应该阅读File类的Android Developer Reference,它提供了有关创建File的各种构造函数的信息。
但要创建文件,您需要提供PDF文件的URL。由于您希望将PDF文件包含在应用程序包中,因此无法使用静态URL访问它。
有两种方法可以将您的文件包含在应用包中:
资源:通过在资源中包含文件,您可以使用他们的ID访问它们。
资产:通过在资产中包含文件,您可以使用资产管理器访问它们。
在您的情况下,我建议使用Assets方法。
除非您的代码具有PDF阅读功能,否则无法直接从上述方法打开PDF文件。
因此,要解决您的问题,首先需要将资产中的PDF文件复制到SD卡或内部存储上的某个位置,然后才能访问该文件。 以下是通过Sunil在Stack Overflow上首先复制PDF文件来读取PDF文件的解决方案:
Read a pdf file from assets folder
我希望这会有所帮助。快乐的编码。