SORU
25 EKİM 2011, Salı


Android kaydetme harici depolama için dosya

Bir dizin oluşturma ve benim android uygulaması üzerinde bir dosya kaydetme ile küçük bir sorun var. Bu kod parçası bunu yapmak için kullanıyorum :

String filename = "MyApp/MediaTag/MediaTag-" objectId ".png";
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream fos;

fos = new FileOutputStream(file);
fos.write(mediaTagBuffer);
fos.flush();
fos.close();

Ama bir istisna atma

java.ıo.FileNotFoundException: /mnt/sdcard/Uygulamam/MediaCard/MediaCard-0.png (böyle bir dosya ya da dizin)

hatta : fos = new FileOutputStream(file);

Eğer dosya hazırladım : "MyApp/MediaTag-" objectId " Bu çalışma, ama Eğer başka bir dizine bir dosya oluşturmak ve kaydetmek için çalışırsanız istisna atma. Yani neyi yanlış yapıyorum fikri olan var mı?

Ve başka bir soru: Eğer kullanıcı Disk Drive gibi onun o aygıtı bağlayın eğer sadece Galeri onları görmek, böylece dosyalarımı özel harici depolama yapmak için herhangi bir yolu var mı?

CEVAP
25 EKİM 2011, Salı


Bu fonksiyon, SD kart içinde bitmap kaydetmek için kullanın

private void SaveImage(Bitmap finalBitmap) {

    String root = Environment.getExternalStorageDirectory().toString();
    File myDir = new File(root   "/saved_images");    
    myDir.mkdirs();
    Random generator = new Random();
    int n = 10000;
    n = generator.nextInt(n);
    String fname = "Image-"  n  ".jpg";
    File file = new File (myDir, fname);
    if (file.exists ()) file.delete (); 
    try {
           FileOutputStream out = new FileOutputStream(file);
           finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
           out.flush();
           out.close();

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

ve apaçık olarak bu ekleyin

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

DÜZENLEME:Bu hattı kullanarak mümkün Galeri görünümünde kaydedilen görüntüler görebilirsiniz.

sendBroadcast(new Intent(
Intent.ACTION_MEDIA_MOUNTED,
            Uri.parse("file://"   Environment.getExternalStorageDirectory())));

bu linke bak da http://rajareddypolam.wordpress.com/?p=3&preview=true

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ETrade Supply

    ETrade Suppl

    23 Temmuz 2011
  • FattySpins's channel

    FattySpins's

    17 Mayıs 2009
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010