質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

2020閲覧

PdfrenderをFragmentで実装

Ab9c

総合スコア26

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/05/19 06:58

PDFrenderをFragmentで実装しようと思っています

java

1@Override 2 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 3 4 View view = inflater.inflate(R.layout.pdf_render_fragment, container, false); 5 return view; 6 } 7 8 @Override 9 public void onViewCreated(View view, Bundle savedInstanceState) { 10 super.onViewCreated(view, savedInstanceState); 11 12 mPdfimage = (ImageView) view.findViewById(R.id.pdf_view); 13 mPreviousbtn = (Button)view.findViewById(R.id.btn_previous); 14 mNextbtn = (Button)view.findViewById(R.id.btn_next); 15 16 mPreviousbtn.setOnClickListener(onActionListener(-1)); 17 mNextbtn.setOnClickListener(onActionListener(1)); 18 19 int index = 0; 20 if (null != savedInstanceState) { 21 index = savedInstanceState.getInt("mCurrent_page", 0); 22 } 23 showpage(index); 24 } 25 26 @Override 27 public void onAttach(Activity activity) { 28 super.onAttach(activity); 29 try { 30 openRender(activity); 31 } catch (IOException e) { 32 e.printStackTrace(); 33 activity.finish(); 34 } 35 } 36 37 @TargetApi(Build.VERSION_CODES.LOLLIPOP) 38 private void openRender(Activity activity) throws IOException { 39 40 try { 41 42 mFileDescriptor = activity.getAssets().openFd("sample.pdf").getParcelFileDescriptor(); 43 mPdfRenderer = new PdfRenderer(mFileDescriptor); 44 45 }catch (Exception e){ 46 e.printStackTrace(); 47 } 48 } 49 50 @TargetApi(Build.VERSION_CODES.LOLLIPOP) 51 private void showpage(int index){ 52 if (mPdfRenderer.getPageCount() <= index){ 53 return; 54 } 55 56 Bitmap bitmap = Bitmap.createBitmap(mCurrentPage.getWidth(),mCurrentPage.getHeight(), Bitmap.Config.ARGB_8888); 57 mCurrentPage.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY); 58 59 mPdfimage.setImageBitmap(bitmap); 60 } 61 62 private View.OnClickListener onActionListener(final int i) { 63 return new View.OnClickListener() { 64 @TargetApi(Build.VERSION_CODES.LOLLIPOP) 65 @Override 66 public void onClick(View v) { 67 68 if (i < 0) { 69 showpage(mCurrentPage.getIndex() - 1); 70 } else { 71 showpage(mCurrentPage.getIndex() + 1); 72 } 73 } 74 }; 75 } 76}

参考プロジェクトを見てプログラムを組んでいまして、とりあえずPDFを表示できればいいと思ってやっているのですが、エラーが出てしまいました。

java

1 java.lang.NoClassDefFoundError: android.graphics.pdf.PdfRenderer 2 at com.example.myapplication.Fragment.PdfRenderFragment.openRender(PdfRenderFragment.java:74) 3 at com.example.myapplication.Fragment.PdfRenderFragment.onAttach(PdfRenderFragment.java:61) 4 at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:849) 5 at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 6 at android.app.BackStackRecord.run(BackStackRecord.java:684) 7 at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453) 8 at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443) 9 at android.os.Handler.handleCallback(Handler.java:733) 10 at android.os.Handler.dispatchMessage(Handler.java:95) 11 at android.os.Looper.loop(Looper.java:146) 12 at android.app.ActivityThread.main(ActivityThread.java:5602) 13 at java.lang.reflect.Method.invokeNative(Native Method) 14 at java.lang.reflect.Method.invoke(Method.java:515) 15 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 16 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 17 at dalvik.system.NativeStart.main(Native Method)

調べてはみたのですが、いまいち理解できなかったので、どなたかご教授宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

java.lang.NoClassDefFoundError: android.graphics.pdf.PdfRenderer
と有りますので そのクラスが存在しないという意味になりますね。

調べてみますとPdfRendererはAPIレベル21からですので、APIレベル21以上の実行環境にして実行してみてください。

コンパイル環境はAPIレベル21以上でも、実行環境APIレベル21未満だとこのエラーがでるかも。

投稿2016/05/19 11:07

RyotaKondo

総合スコア94

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RyotaKondo

2016/05/19 11:10

あと、この質問のタイトルも大文字小文字を正しく訂正したほうがいいですよ。中をみてPdfRendererのことと分かりますが、見ないとわかりません。(私もしばらく無視してましたし・・・)
Ab9c

2016/05/20 06:18

はい、今後意識していきたいと思います! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問