Kotlin Multiplatform Academy · Ders

Platforma Göre Dosya Sistemi ve Yollar

Hedefler arasında dosyaları taşınabilir biçimde okuyup yazın.

3. ders / 413 adım

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(): String

Android 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.path

iOS 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 String

Yolları 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. 🎉

Başlamak ücretsiz

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

  1. Yetenek Arayüzü Tasarlayın
  2. Cihaz Bilgileri için expect/actual
  3. Platforma Göre Dosya Sistemi ve Yollar
  4. Platform Gerçeklemelerini Enjekte Edin
← Kotlin Multiplatform Academy Sayfasına Dön