Cara membuat direktori di Android Kotlin (Android 10 atau lebih baru)

Cara membuat direktori di Android Kotlin (Android 10 atau lebih baru)

Ada sedikit kasus yang mungkin dapat bermanfaat untuk kamu. Setelah setahun tidak memegang Android Kotlin, ada beberapa hal yang baru saya tahu. Kemarin ada kasus saat saya menulis kode kotlin untuk membuat direktori baru. Kode ini berjalan mulus ketika di coba di jalankan di Perangkat Android Q (atau Android 10)  kebawah. Dan ketika di tes pada perangkat Android 10 ke atas malah error, sebenarnya bukan error sih, cuma kodenya tidak berjalan dengan semestinya.

Ada yang pernah mengalami kasus seperti ini? Untuk kamu yang mengalami kasus semacam ini, dan masih belum menemukan solusinya, disini saya akan coba bagikan kepada kamu cara memecahkan kasus yang satu ini.

Langkah Pertama

Tambahkan kode dibawah ini pada AndroidManifest.xml di dalam Tag <application>

android:requestLegacyExternalStorage="true"

Langkah Kedua

Masih pada file AndroidManifest.xml, tambahkan pengaturan permission WRITE dan READ Storage

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Langkah Ketiga

Buat fungsi untuk mengecek permissionnya (kotlin), kurang lebih seperti ini

private fun checkPermission() {
    if (ContextCompat.checkSelfPermission(
            this,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
        )
        != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(
            this,
            Manifest.permission.READ_EXTERNAL_STORAGE
        )
        != PackageManager.PERMISSION_GRANTED) {

        ActivityCompat.requestPermissions(
            this,
            arrayOf(
                Manifest.permission.WRITE_EXTERNAL_STORAGE,
                Manifest.permission.READ_EXTERNAL_STORAGE
            ),
            100
        )
    }
}

Langkah Keempat

Buat fungsi untuk memebuat direktori baru di android, kode dibawah ini akan mengecek dulu apakah direktorinya sudah ada atau belum, jika belum dibuat maka akan dibuatkan direktorinya, tetapi jika direktori tidak ada, maka akan dibuatkan direktori baru.

private fun checkDir(){
    val a = File(Environment.getExternalStorageDirectory().path, "/FOLDER-BARU")
    if(!a.exists()  && !a.isDirectory()){
        a.mkdirs()
    }
}

Pada langkah ketiga dan keempat kamu dapat sesuaikan sendiri sesuai yang kamu mau. Mungkin saya cukupakan sampai disini dulu, semoga tulisan ini dapat bermanfaat untuk kamu.

Bisa juga tuliskan di kolom komentar untuk diskusi lebih lanjut, saya akan usahakan secepatnya membalas komentar kamu.

Terima kasih :)


0/Post a Comment/Comments

Lebih baru Lebih lama