Realm Xamarin
by
USAMI Kosuke
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Realm Xamarin USAMI Kosuke Fenrir Inc.
Slide 2
Slide 2 text
Xamarin
Slide 3
Slide 3 text
Xamarin » C# Ͱ iOS / Android ωΠςΟϒΞϓϦ։ൃ » iOS / Android ͰίʔυΛڞ༗Մೳ » .NET ϥΠϒϥϦ / ωΠςΟϒϥΠϒϥϦΛ༻Մೳ
Slide 4
Slide 4 text
ݸਓ։ൃϥΠηϯεແঈԽ » Xamarin ϥΠηϯε͕ Visual Studio ϥΠηϯεͱ౷߹ » ݸਓ։ൃϥΠηϯε͕ແঈʹʢCommunity Editionʣ
Slide 5
Slide 5 text
http://www.fenrir-inc.com/jp/business/app/xamarin/
Slide 6
Slide 6 text
Xamarin Consulting Partner
Slide 7
Slide 7 text
Realm
Slide 8
Slide 8 text
Realm » ϞόΠϧΞϓϦ͚σʔλϕʔε » Objective-C / Swift / Java / React Native / Xamarin » ͍͘͢ɺύϑΥʔϚϯε༏ल
Slide 9
Slide 9 text
Realm 1.0 » Objective-C / Swift / Java ͕ beta ͔Β 1.0 » beta Ͱͳ͘ͳͬͨ͜ͱͰɺಋೖͷෑډ͕͘ͳͬͨ » React Native / Xamarin beta ʢ·ͩొ͔ͨ͠Γʣ
Slide 10
Slide 10 text
Introducing Realm Xamarin on 2016/05/11
Slide 11
Slide 11 text
Realm Xamarin
Slide 12
Slide 12 text
Install » NuGet Ͱ؆୯ʹಋೖͰ͖Δ
Slide 13
Slide 13 text
Model public class Person : RealmObject { public string Name { get; set; } public int Age { get; set; } }
Slide 14
Slide 14 text
Model ͷσʔλܕ » ֤ϓϦϛςΟϒܕʢbool,char,byte,short,int,long,float,doubleʣ » string » DateTimeOffset » Null ڐ༰ܕʢint? ͳͲʣՄೳɺnull ༻Մೳ
Slide 15
Slide 15 text
getter / setter ͷࣗಈੜ » ࣗಈ࣮ϓϩύςΟɺgetter ͱ setter ͕ࣗಈੜ͞ΕΔ » ͦͷதͰ Realm ෦ετϨʔδͱؔ࿈͚͞ΕΔ » Ignore ଐੑΛ͚ͭΔͱࣗಈੜ͞Εͳ͍ » ΧελϜ getter / setter ্ॻ͖͞Εͳ͍
Slide 16
Slide 16 text
ΦϒδΣΫτͷऔಘʢΫΤϦʣ public IEnumerable Persons { get; private set; } public PersonViewModel() { var realm = Realm.GetInstance(); Persons = realm.All() }
Slide 17
Slide 17 text
ΦϒδΣΫτͷՃ public AddPerson() { var realm = Realm.GetInstance(); using(var transaction = realm.BeginWrite()) { var person = realm.CreateObject(); person.Name = "Hoge"; person.Age = 20; transaction.Commit(); } // ࣗಈతʹ transaction ͕ Dispose() ͞ΕΔ }
Slide 18
Slide 18 text
ΦϒδΣΫτͷࣗಈߋ৽ ʢઌ΄ͲͷίʔυΛ࠶ܝʣ public PersonViewModel() { var realm = Realm.GetInstance(); Persons = realm.All() // ΦϒδΣΫτΛՃͨ͠ΒɺPersons ͕ࣗಈతʹߋ৽͞ΕΔ // ࠶ All ΫΤϦΛ࣮ߦ͢Δඞཁͳ͍ }
Slide 19
Slide 19 text
LINQ ʹΑΔΫΤϦ // ϝιουߏจ Persons = realm.All() .Where(p => p.Age < 20); // ΫΤϦࣜ Persons = from p in realm.All() where p.Age < 20 select p;
Slide 20
Slide 20 text
Realm Xamarin ·ͱΊ » ͱͯ؆୯ʹ͑Δ » C# ͱͯࣗ͠વʹॻ͚Δ » ࢀߟࢿྉ » Realm Xamarin https://realm.io/jp/docs/xamarin/latest/ » Cross-Platform Development with Xamarin.Forms and Realm | Xamarin Blog