Realm Xamarin
by
USAMI Kosuke
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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