2015-03-17 4 views
1

Я хочу использовать PDFViewer в своем приложении для Android. В FirstActivity я загрузить мой файл в формате PDF в виде списка, это код:Android: прочитайте pdf-файл

public class MainActivity extends ActionBarActivity { 

    final StringBuffer sb = new StringBuffer(); 

    private ListView mainListView ; 
    private ArrayAdapter<String> listAdapter ; 

    String filepath; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.fragment_main); 

     mainListView = (ListView) findViewById(R.id.mainListView); 
     final ArrayList<String> List = new ArrayList<String>(); 

     final File storage = Environment.getExternalStorageDirectory(); 
     File file = new File(storage,"/Folder/"); 

     if (file.exists() && file.isDirectory()) { 
      for (String s : file.list()) { 
       sb.append(s + " "); 

       List.addAll(Arrays.asList(s)); 
      } 
     } 

     listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, R.id.rowTextView,List); 
     mainListView.setAdapter(listAdapter); 

     mainListView.setOnItemClickListener(new OnItemClickListener() { 

      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 

       String filepath = new File("/Folder/"+ List.get(arg2)).getAbsolutePath(); 

       openPdfIntent(filepath); 


      } 


     }); 
    } 
    private void openPdfIntent(String path) { 
      try { 
       final Intent intent = new Intent(MainActivity.this, SecondActivity.class); 
       intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path); 
       startActivity(intent); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

} 

SecondActivity показывает PDF-файл, но у меня есть ошибка, что «файл не найден», это код:

public class SecondActivity extends PdfViewerActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
    } 

    public int getPreviousPageImageResource() { 
     return R.drawable.left_arrow; 
    } 

    public int getNextPageImageResource() { 
     return R.drawable.right_arrow; 
    } 

    public int getZoomInImageResource() { 
     return R.drawable.zoom_in; 
    } 

    public int getZoomOutImageResource() { 
     return R.drawable.zoom_out; 
    } 

    public int getPdfPasswordLayoutResource() { 
     return R.layout.pdf_file_password; 
    } 

    public int getPdfPageNumberResource() { 
     return R.layout.dialog_pagenumber; 
    } 

    public int getPdfPasswordEditField() { 
     return R.id.etPassword; 
    } 

    public int getPdfPasswordOkButton() { 
     return R.id.btOK; 
    } 

    public int getPdfPasswordExitButton() { 
     return R.id.btExit; 
    } 

    public int getPdfPageNumberEditField() { 
     return R.id.pagenum_edit; 
    } 
} 

Как я могу решить эту проблему?

+0

Если он говорит файл не найден, вы исследовать, какой путь вы» переходите к SecondActivity? Действительно ли это правильный путь или нет? – JHH

+0

Android предлагает встроенный инструмент для открытия ур pdf. Вы хотите настроить его по-своему? – Radhey

ответ

0

Вы можете использовать встроенный в приложение с вашего устройства, используя следующий код в функции с именем openPdfIntent()

Пример:

public void openPdfIntent(String filePath){ 
    Uri path = Uri.fromFile(filePath); 
        Intent pdfIntent = new Intent(Intent.ACTION_VIEW); 
        pdfIntent.setDataAndType(path, "application/pdf"); 
        pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        try { 
         startActivity(pdfIntent); 
        } catch (ActivityNotFoundException e) { 
         UDF.getdialog("You don't have application for PDF Viewer.", 
           activity); 
        } 
    } 
+0

Uri path = Uri.fromFile (filePath); не хочет путь, но File – user3582433

+0

Я установил Adobe Acrobat на свой телефон, но он не открывает мой файл pdf – user3582433

Смежные вопросы