繁体   English   中英

如何从Android中的Assets子文件夹中读取PDF文件

[英]How to read PDF files from assets sub folder in android

我有放置在资产子文件夹中的pdf文件。 Iam以列表视图的形式显示pdf文件。单击任何列表项时,显示错误,“ Pdf无法显示,路径错误”。如何为资产中的子文件夹设置路径?

提前致谢!

这是我的课程。请检查下面的代码 在此处输入图片说明

public class PdfViewInformation extends Activity{

ListView pdflist;
String  itemValue;
String valueinfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pdfviewinfo);

     AssetManager asset = getAssets();
        try {
            final String[] arrdata = asset.list("pdffolder");
            List<String> pdflist = new ArrayList<String>();
            int size = arrdata.length;
            for(int i = 0;i<size;i++)
            {
              if(arrdata[i].contains(".pdf"))

              {
                pdflist.add(arrdata[i]); 
               }
            }
            ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,pdflist);
            ListView listView = (ListView) findViewById(R.id.listView1);
            listView.setAdapter(adapter);
                    listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
             public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {

                 valueinfo = (String)parent.getItemAtPosition(position); 
                 File file = new File("android.resource://com.example.timesampleexp/assets/pdffolder/"+valueinfo);        
              Log.i("jduhsr", ""+file);
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setDataAndType(Uri.fromFile(file),"application/pdf");
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent);




            }


        });
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

     }
        File file = new File("android_asset/subfoldername/"+filename);

       Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(Uri.fromFile(file),"application/pdf");
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);

您必须在文件路径中插入您正在使用的子文件夹名称和文件名。如果您想查看pdf文件,您可以使用已经安装的pdf阅读器,例如adobe reader,就像我上面提到的那样。否则您可以加载使用诸如pdf.js之类的库在自己的应用程序中生成pdf文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM