簡體   English   中英

Android pdf查看器庫不起作用

[英]android pdf viewer library not working

我嘗試使用android pdf庫。 https://github.com/jblough/Android-Pdf-Viewer-Library下載。 現在,當我打開pdf時,卡住了..說pdf頁面正在加載。 沒事。

這就是我要做的。 我創建了一個名為qbchem.java和second.java的類文件,我已將pdf文件加載到了資產文件夾中。 我不希望任何人訪問這些pdf文件,這就是為什么我將它們保存在資產文件夾中的原因。

qbchem.java

@
package com.sp.wisdomedutech11;

import java.io.File;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment; 
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.os.Build;
import net.sf.andpdf.pdfviewer.PdfViewerActivity;


public class qbchem extends Activity {
ListView qbchemlv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.qbchem);
    qbchemlv = (ListView) findViewById(R.id.qbchemlv1);
    String[] values = new String[] { "Chap-1 Basic Concepts", 
            "Chap-2 Atomic Structure",
            "Chap-3 Chemical Bonding",
            "Chap-4 Periodic Table"
           };
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
              android.R.layout.simple_list_item_1, android.R.id.text1, values);
     qbchemlv.setAdapter(adapter); 
     qbchemlv.setOnItemClickListener(new OnItemClickListener() {

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

          // ListView Clicked item index
          int itemPosition     = position;

          // ListView Clicked item value
          String  itemValue    = (String) qbchemlv.getItemAtPosition(position);
          if(itemValue.contentEquals("Chap-1 Basic Concepts")){
              try {
                  Intent intent = new Intent(qbchem.this, second.class);
                     intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, "file:///android_asset/chap_1_basic_concept.pdf");
                     startActivity(intent);

                } catch (Exception e) {
                    e.printStackTrace();
                }
}

     }
});

}}

second.java

package com.sp.wisdomedutech11;

import java.io.File;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.os.Build;
import net.sf.andpdf.pdfviewer.PdfViewerActivity;


public class second extends PdfViewerActivity {

@Override
public int getPreviousPageImageResource() {
// TODO Auto-generated method stub
return R.drawable.left_arrow;
}

@Override
public int getNextPageImageResource() {
// TODO Auto-generated method stub
return R.drawable.right_arrow;
}

@Override
public int getZoomInImageResource() {
// TODO Auto-generated method stub
 return R.drawable.zoom_in;
}

@Override
public int getZoomOutImageResource() {
  // TODO Auto-generated method stub
  return R.drawable.zoom_out;
}

@Override
public int getPdfPasswordLayoutResource() {
// TODO Auto-generated method stub
return R.layout.pdf_file_password;  
}

@Override
public int getPdfPageNumberResource() {
// TODO Auto-generated method stub
 return R.layout.dialog_pagenumber;
}

@Override
public int getPdfPasswordEditField() {
// TODO Auto-generated method stub
return R.id.etPassword;
}

@Override
public int getPdfPasswordOkButton() {
// TODO Auto-generated method stub
 return R.id.btOK;
}

@Override
public int getPdfPasswordExitButton() {
// TODO Auto-generated method stub
 return R.id.btExit;
}

@Override
public int getPdfPageNumberEditField() {
// TODO Auto-generated method stub
return R.id.pagenum_edit;
}}

嘗試獲取pdf閱讀器時遇到了類似的問題。在您的特殊情況下,您無法從資產中獲取pdf的直接位置。 (可能)唯一可行的方法是將該資產復制到其他位置,然后再使用'file:///'。

這可能會幫助您復制文件: 將文件從apk復制到內部存儲

看到這個也可以復制: https : //stackoverflow.com/a/19555787/2670775

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM