2013-04-20 13 views
9

私のアプリケーションでは、顧客の詳細が表示されています。そのビューをイメージまたはPDFとしてSDカードに保存してから、サードパーティのアプリケーションからビューを印刷します(そうでない場合は、直接プリンタで表示できます)。アンドロイドのレイアウトビューを画像またはpdfとしてSDカードに保存する方法は?

ビューをイメージまたはPDFとして保存する方法はわかりません。誰もがこの問題を解決するために私を助けてください知っていることができますか?

+0

このリンクをチェックするhttp://stackoverflow.com/questions/9868604/how-do-i-take-a-screenshot-of-an-android-layでる。 –

+1

@HirenDabhi私はあなたが与えたリンク、どのようにSDカードに保存するこのコードを介してイメージを取得します。 – Yugesh

+1

このリンクをチェックすると、sdcardにビットマップを保存できます。 http://stackoverflow.com/questions/4263375/android-saving-created-bitmap-to-directory-on-sd-card –

答えて

15

適切にコードの仕事の上

LinearLayout content = findViewById(R.id.rlid); 
content.setDrawingCacheEnabled(true); 
Bitmap bitmap = content.getDrawingCache(); 
File file,f;      
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) 
    { 
     file =new File(android.os.Environment.getExternalStorageDirectory(),"TTImages_cache"); 
     if(!file.exists()) 
     { 
      file.mkdirs(); 

     } 
     f = new File(file.getAbsolutePath()+file.seperator+ "filename"+".png"); 
    } 
    FileOutputStream ostream = new FileOutputStream(f);         
    bitmap.compress(CompressFormat.PNG, 10, ostream); 
    ostream.close(); 

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

あなたの答えのファイルコーディングの**名前**は何ですか? – Yugesh

+0

filenameは、イメージを保存する名前です。私は上記で編集したハードコードされたパスを使用していました。 – Raghunandan

+0

'f =新しいファイル(ファイル、" filename "+ .png);は.pngでエラーを表示します。 – Yugesh

0

以下のコードを使用しますが、画像のオーバーライドので、同じ名前のように、のためにこの問題を回避するマニフェストファイルに

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

を権限を追加し、ラインの下に追加します。

SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd_hh_mm_ss"); 

Date now = new Date(); 

String fileName = formatter.format(now); 

f = new File(file.getAbsolutePath()+file.separator+ "image_"+fileName+".png"); 
関連する問題