• 29-01-2017, 00:53:57
    #1
    merhaba amatör olarak soruyorum eminim cevabı basittir ama ben anlamadım nasıl birşey

    telefondaki resim klasörünü bulmak için copy paste yaptığım çalışan kodlar bu şekilde
            private File getPhotoDirectory() {
                    File outputDir = null;
                    String externalStorageStagte = Environment.getExternalStorageState();
                    if (externalStorageStagte.equals(Environment.MEDIA_MOUNTED)) {
                            File photoDir = Environment
                                            .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
                            outputDir = new File(photoDir, getString(R.string.app_name));
                            if (!outputDir.exists())
                                    if (!outputDir.mkdirs()) {
                                            Toast.makeText(
                                                            this,
                                                            "Failed to create directory "
                                                                            + outputDir.getAbsolutePath(),
                                                            Toast.LENGTH_SHORT).show();
                                            outputDir = null;
                                    }
                    }
                    return outputDir;
            }
    if (!outputDir.exists()) burdaki bu kodun anlamı ne. neden köşeyi ayraç ile devam etmiyor bu.
    ayrıca normalde çalışan bo kodlar bu satırın altına
    Log.e("as","sadas") şeklinde bir kod yazsam uygulama çöküyor. neden olur acaba

    ek soru:bu şekilde klasöt bulmak yerine getActivity().getApplicationContext().getCacheDir( )
    komutu ile cache dizinene atayım dedim ama kemara uygulamasından çıkmaya daha izin vermiyor. ama uygulamada çökmüyor. muhtemelen bir türk korumadır ama emin olamadım.gereksiz bir dosya olacağı için dizinde tutmasam daha iyi sanki
  • 29-01-2017, 01:06:01
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Hocam if in altında sadece bir tane ifade varsa {} kullanmanıza gerek yoktur.
    Yani o koşul için sadece o satır çalışacaksa.
    if(a) b=c;
    gibi
    yada
    if(a)
    try{
    b;
    }catch(e){
    c;
    }
    gibi, konulabilir ama konulmasa da olur.
    Zaten android studio çoğu zaman uyarı veriyor parantezi kaldırıyım mı diye


    Sizdeki örnekte altına Log.e("as","sadas") yazdığınız zaman
    if (!outputDir.mkdirs()) {
                                            Toast.makeText(
                                                            this,
                                                            "Failed to create directory "
                                                                            + outputDir.getAbsolutePath(),
                                                            Toast.LENGTH_SHORT).show();
                                            outputDir = null;
                                    }
    kısmı sahipsiz kalıyor ve ilgili koşulda gerçekleşmediği için hata veriyor.
    Umarım yeterince basit anlatabilmişimdir.
  • 29-01-2017, 01:17:09
    #3
    anladım hocam teşekkür ederim . bu android karışık iş ya. kim kimi programlamaya çalışıyor karar vermek zor