2013-04-20 9 views
9

Uygulamamda, müşteri detayları ile ilgili bir görüşüm var, bu görüntüyü SD karta resim veya PDF olarak kaydetmek istiyorum, ardından görünümü üçüncü taraf uygulamasıyla yazdırmak (Aksi takdirde doğrudan yazıcıdan görünen yazdırma mümkündür).Android'de düzen görünümü resim veya pdf olarak sd kartına nasıl kaydedilir?

Görünümü, görüntü veya PDF olarak kaydetme hakkında hiçbir fikrim yok. Herhangi biri biliyor lütfen bu sorunu çözmek için bana yardım edin?

+0

onay bu bağlantıyı http://stackoverflow.com/questions/9868604/how-do-i-take-a-screenshot-of-an-android-lay dışarı. –

+1

@HirenDabhi Bu kodla, verdiğiniz bağlantıyı, SD karta nasıl kaydedileceğini gösteren bir resim alıyorum. – Yugesh

+1

sdcard'da bitmap'i kaydetmek için bu bağlantıyı kontrol edin. http://stackoverflow.com/questions/4263375/android-saving-created-bitmap-to-directory-on-sd-card –

cevap

15

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

kod çalışması Üstü

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

Cevabınızdaki dosya kodunda ** adı ** nedir? – Yugesh

+0

dosya adı, görüntünün saklanmasını istediğiniz addır. Yukarıda düzenlediğim hardcoded yolu kullandım. – Raghunandan

+0

'f = yeni Dosya (dosya," dosyaadı "+. Png);' .png dosyasındaki hatayı gösterir. – Yugesh

0

aşağıdaki kodu düzgün kullanın manifest dosyasında izni ekleyin ancak, görüntü geçersiz kılmayı aynı adı nedeniyle, bu yüzden bu sorun sınırının altında eklemek kaçının:

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");