2015-01-05 6 views
1

나는 assets 서브 폴더에있는 pdf 파일을 가지고 있습니다. PDF 파일을 목록보기 형식으로 보여주는 Iam입니다. 목록 항목을 클릭하면 "Pdf를 표시 할 수 없습니다. 경로 오류"라는 오류가 표시됩니다. 자산의 하위 폴더 경로를 설정하는 방법 ???android의 assets 하위 폴더에서 PDF 파일을 읽는 방법

미리 감사드립니다. 여기

내 class.Please이 enter image description here

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(); 
    } 

    } 
당신은 당신이 원하는 path.If 파일에 사용되는 하위 폴더 이름과 파일 이름을 삽입해야
+0

assets 폴더에 있습니다. –

+0

assets 폴더의 위 이미지를 확인하십시오. @ Ashish Tamrakar – preethi

답변

0
 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 리더. 다른 방법으로 pdf.js와 같은 라이브러리를 사용하여 자신의 응용 프로그램에서 PDF 파일을로드 할 수 있습니다.

+0

제공하신 코드가 질문에 답할 수 있지만 그 이유에 대한 설명은 항상 제공하는 것이 가장 좋습니다. – Tom

+1

설명이 코드와 함께 삽입되었습니다. –

관련 문제