Aracılığıyla paylaş


Xamarin.iOS Uygulamalarında Veri Depolama Giriş

Veritabanı ne zaman kullanılır?

Mobil cihazların depolama ve işleme özellikleri artmaya devam ederken, telefonlar ve tabletler hala masaüstü ve dizüstü bilgisayarlarının gerisinde kalıyor. Bu nedenle, bir veritabanının her zaman doğru yanıt olduğunu varsaymak yerine uygulamanız için veri depolama mimarisini planlamak biraz zaman alabilir. Farklı gereksinimlere uyan bir dizi farklı seçenek vardır, örneğin:

  • Tercihler – iOS, basit anahtar-değer çiftlerini depolamak için yerleşik bir mekanizma sunar. Basit kullanıcı ayarlarını veya küçük veri parçalarını (kişiselleştirme bilgileri gibi) depoluyorsanız, bu tür bilgileri depolamak için platformun yerel özelliklerini kullanın. iOS için, birden çok cihazı olan kullanıcılar için hem yedekleme hem de eşitleme amacıyla bu veriler için iCloud eşitlemeden de yararlanabilirsiniz.
  • Metin Dosyaları – İndirilen içeriğin kullanıcı girişi veya önbellekleri (örn. HTML) doğrudan dosya sisteminde depolanabilir. Dosyaları düzenlemenize ve verileri bulmanıza yardımcı olması için uygun bir dosya adlandırma kuralı kullanın.
  • Serileştirilmiş Veri Dosyaları – Nesneler dosya sisteminde XML veya JSON olarak kalıcı hale getirilebilir. .NET framework, nesneleri serileştirmeyi ve seri durumdan kaldırmayı kolaylaştıran kitaplıklar içerir. Veri dosyalarını düzenlemek için uygun adları kullanın.
  • Veritabanı – SQLite veritabanı altyapısı iOS'ta kullanılabilir ve sorgulamanız, sıralamanız veya başka bir şekilde işlemeniz gereken yapılandırılmış verileri depolamak için kullanışlıdır. Veritabanı depolama alanı, birçok özelliğe sahip veri listelerine uygundur.
  • Görüntü dosyaları – İkili verileri veritabanında bir mobil cihazda depolamak mümkün olsa da, bunları doğrudan dosya sisteminde depolamanız önerilir. Gerekirse, görüntüyü diğer verilerle ilişkilendirmek için dosya adlarını bir veritabanında depolayabilirsiniz. Büyük görüntülerle veya çok sayıda görüntüyle ilgilenirken, artık kullanıcının tüm depolama alanını kullanmaktan kaçınmanız gerekmeyen dosyaları silen bir önbelleğe alma stratejisi planlamak iyi bir uygulamadır.

Veritabanı uygulamanız için doğru depolama mekanizmasıysa, bu belgenin geri kalanında Xamarin platformunda SQLite'in nasıl kullanılacağı açıklanır.

Veritabanı kullanmanın avantajları

Mobil uygulamanızda SQL veritabanı kullanmanın çeşitli avantajları vardır:

  • SQL veritabanları, yapılandırılmış verilerin verimli bir şekilde depolanmasına olanak sağlar.
  • Belirli veriler karmaşık sorgularla ayıklanabilir.
  • Sorgu sonuçları sıralanabilir.
  • Sorgu sonuçları toplanabilir.
  • Mevcut veritabanı becerilerine sahip geliştiriciler, veritabanı ve veri erişim kodunu tasarlamak için bilgilerini kullanabilir.
  • Bağlı bir uygulamanın sunucu bileşeninden alınan veri modeli, mobil uygulamada (kısmen veya tamamen) yeniden kullanılabilir.

SQLite Veritabanı Altyapısı

SQLite, Apple tarafından mobil platformları için benimsenen bir açık kaynak veritabanı altyapısıdır. SQLite veritabanı altyapısı iOS'ta yerleşiktir, bu nedenle geliştiricilerin bundan yararlanması için ek bir çalışma yoktur. SQLite, platformlar arası mobil geliştirme için uygundur çünkü:

  • Veritabanı altyapısı küçük, hızlı ve kolayca taşınabilir.
  • Veritabanı, mobil cihazlarda kolayca yönetebileceğiniz tek bir dosyada depolanır.
  • Dosya biçimini platformlar arasında kolayca kullanabilirsiniz: 32 veya 64 bit ve büyük veya küçük endian sistemler.
  • SQL92 standardının çoğunu uygular.

SQLite küçük ve hızlı olacak şekilde tasarlandığından kullanımıyla ilgili bazı uyarılar vardır:

  • Bazı OUTER birleştirme söz dizimi desteklenmez.
  • Yalnızca rename ve ADDCOLUMN tabloları desteklenir. Şemanızda başka değişiklikler yapamazsınız.
  • Görünümler salt okunur durumdadır.

SQLite hakkında daha fazla bilgiyi SQLite.org web sitesinde bulabilirsiniz, ancak Xamarin ile SQLite'i kullanmak için ihtiyacınız olan tüm bilgiler bu belgede ve ilişkili örneklerde yer alır. SQLite veritabanı altyapısı, iOS'un tüm sürümlerinde yerleşik olarak bulunur. Bu bölümde ele alınmasa da SQLite, Windows Telefon ve Windows uygulamalarında da kullanılabilir.

Windows ve Windows Telefon

SQLite, bu platformlar bu belgede ele alınmasa da Windows platformlarında da kullanılabilir. Tasky örnek olay incelemesinde daha fazla bilgi edinin ve Tim Heuer'in blogunu gözden geçirin.