从“RES /原始”访问PDF文件或文件夹的资产与编程给出的方法解析
说明:
现在这个程序访问从取选定的文件路径,并把它设置为“mFilename”的EditText字段中的文件管理器的文件。 下面的节目PDF按钮侦听显示字符串“pdffilename”被分配包含在“mFilename”的EditText字段中的String。 该PdfViewerActivity开始和字符串“pdffilename”作为一个额外的通过。 在OnCreate()的意图进行检查,如果空或不是。 这是我认为的改变可以/应。 字符串“pdffilename”分配你看到下面的东西。 我想要做的是两种方式......一个PDF文件存储的int“RES /生/ example_folder /为例.pdf”或资产的文件夹。 我想分配“pdffilename”编程与我在哪里存储这些PDF文件的路径。 我已经尝试了许多不同的方法所有这些都既没有编制,导致的错误,或造成“文件:RES /生/ example_folder /为例.pdf不存在!”。
所以基本上...
- 我想PDF文件存储在“RES /生/ folder_example /为例.pdf”或资产的文件夹
- 我想从代码中访问这些文件中我并不需要使用文件管理器
- 无论如何,这将解决这将是最大的帮助,我与Java相当不错的,但我绝不是一个超级明星,所以请解释一下你的代码
谢谢你这么多,我会站在回答评论和编辑这篇文章。 我希望这篇文章将有助于其他用户,所以我将张贴的解决方案的代码。 当完成。 再次感谢你!
显示在PdfFileSelectActivity PDF按钮,监听器...
OnClickListener ShowPdfListener = new OnClickListener()
{
public void onClick(View v)
{
mFilename = (EditText) findViewById(R.id.filename);
String pdffilename = mFilename.getText().toString();
Intent intent = new Intent(PdfFileSelectActivity.this,
PdfViewerActivity.class)
.putExtra(EXTRA_PDFFILENAME, pdffilename);
startActivity(intent);
}
};
PdfViewerActivity的onCreate()从上面显示PDF监听器调用...
Intent intent = getIntent();
if (intent != null)
{
if ("android.intent.action.VIEW".equals(intent.getAction()))
{
pdffilename = storeUriContentToFile(intent.getData());
}
else {
pdffilename = getIntent().getStringExtra(PdfFileSelectActivity.EXTRA_PDFFILENAME);
}
}
if (pdffilename == null)
pdffilename = "no file selected";
setContent(null);
(如果需要)setContent()从上面传来叫...
private void setContent(String password)
{
try {
parsePDF(pdffilename, password);
}
catch (PDFAuthenticationFailureException e)
{
System.out.println("Password needed");
}
}
(如果需要)parsePDF()从上面传来叫...
private void parsePDF(String filename, String password) throws PDFAuthenticationFailureException
{
long startTime = System.currentTimeMillis();
try {
File f = new File(filename);
long len = f.length();
if (len == 0) {
mGraphView.showText("file '" + filename + "' not found");
}
else {
mGraphView.showText("file '" + filename + "' has " + len + " bytes");
openFile(f, password);
}
}
catch (PDFAuthenticationFailureException e)
{
throw e;
} catch (Throwable e) {
e.printStackTrace();
mGraphView.showText("Exception: "+e.getMessage());
}
long stopTime = System.currentTimeMillis();
mGraphView.fileMillis = stopTime-startTime;
}
再次感谢你!