Platforma Göre Dosya Sistemi ve Yollar
Hedefler arasında dosyaları taşınabilir biçimde okuyup yazın.
Platforma Göre Dosya Sistemi ve Yollar, CoddyKit'te ücretsiz bir Kotlin Multiplatform Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Multiplatform Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.
Dosyalar Farklı Yerlerde Bulunur
Android ve iOS, uygulama dosyalarını tamamen farklı klasörlerde saklar. Ortak kodun yazma işlemi için güvenli bir yer bulmanın taşınabilir bir yoluna ihtiyacı vardır. 📁
Yollar için Bir expect Bildirin
commonMain'e, uygulamanın veri dizinini yalın bir String yolu olarak döndüren küçük bir expect işlevi ekleyin.
expect fun dataDir(): StringAndroid filesDir Kullanır
Android actual, sistemin uygulamanızın dosyaları için güvence altına aldığı özel klasör olan context.filesDir.path'i döndürür.
actual fun dataDir(): String =
appContext.filesDir.pathiOS Documents Dizinini Kullanır
iOS actual, uygulamanın kullanıcı verilerini sakladığı standart yer olan Documents dizinini NSFileManager'dan ister.
actual fun dataDir(): String =
NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, true
).first() as StringYolları Oluşturun, Sabit Yazmayın
Değişmez bir yol yazmak yerine dizini dosya adıyla birleştirin. /sdcard gibi sabit yollar, platformu değiştirdiğiniz anda bozulur.
val file = dataDir() + "/profile.json"Küçük Bir Okuma/Yazma API'si
Okuma ve yazma işlemlerini de ortak bir arabirimin arkasına alın; böylece çağıranlar alttaki platformu bilmeden metin kaydedebilir.
interface Storage {
fun write(name: String, text: String)
fun read(name: String): String?
}Ortak Koddan Yazın
Ortak mantık, dosyalar veya klasörler hakkında hiçbir şey bilmeden storage.write'ı çağırır. Gerçek disk üzerindeki baytları platform actual uygulaması yönetir.
storage.write("profile.json", json)Güvenle Geri Okuyun
Eksik dosyaların çökmeye yol açmaması için okuma işlemi nullable bir String döndürsün. null, dosyanın henüz mevcut olmadığı anlamına gelir.
val saved = storage.read("profile.json")Yolları Alan Mantığından Uzak Tutun
İş kurallarınız ham bir yol görmemelidir. Her dizin ayrıntısını yeteneğin arkasına gizleyerek alanı temiz tutun.
İzinlere ve Korumalı Alanlara Dikkat Edin
Her iki platform da uygulama depolamasını korumalı alanda tutar. Sistemin size verdiği dizinlerle sınırlı kalırsanız izin hatalarından tamamen kaçınırsınız.
Gerçek Dosya İşleri için okio Kullanın
Ciddi okuma ve yazma işlemleri için okio gibi çok platformlu bir kitaplık, hedefler arasında tek bir FileSystem API'si sunar; böylece ham platform çağrılarını kullanmak zorunda kalmazsınız.
Hızlı Kontrol
Taşınabilir bir dizin yolunun nereden geldiğini düşünün.
Özet
expect/actual aracılığıyla taşınabilir bir dataDir sundunuz, yolları sabit yazmak yerine oluşturdunuz ve dosya işlerini küçük bir depolama yeteneğinin arkasına gizlediniz. 🎉
Yapay zeka eğitmeniyle Kotlin öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Platforma Göre Dosya Sistemi ve Yollar” dersi ücretsiz mi?
Evet — “Platforma Göre Dosya Sistemi ve Yollar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Multiplatform Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.
“Platforma Göre Dosya Sistemi ve Yollar” dersinde ne öğreneceğim?
Hedefler arasında dosyaları taşınabilir biçimde okuyup yazın. Kotlin Multiplatform Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kotlin Multiplatform Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin Multiplatform Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Platforma Göre Dosya Sistemi ve Yollar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kotlin Multiplatform Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin Multiplatform Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Yetenek Arayüzü Tasarlayın
- Cihaz Bilgileri için expect/actual
- Platforma Göre Dosya Sistemi ve Yollar
- Platform Gerçeklemelerini Enjekte Edin