public AreaSettingPageXaml() { // json データがあれば読み込み、デシリアライズして vm に設定します。 var data = DependencyService.Get <ISaveAndLoad>().LoadData("settings.json"); this.vm = (string.IsNullOrEmpty(data) || data == "null") ? new AreaSettingPageViewModel() : JsonConvert.DeserializeObject <AreaSettingPageViewModel>(data); this.BindingContext = vm; InitializeComponent(); }
/// <summary> /// 抽出対象になっている都道府県を HashSet に入れるメソッドです。 /// </summary> void ChooseCity() { cities.Clear(); var data = DependencyService.Get <ISaveAndLoad>().LoadData("settings.json"); //if (string.IsNullOrEmpty(data) || data == "null") // vm = new AreaSettingPageViewModel(); //else // vm = JsonConvert.DeserializeObject<AreaSettingPageViewModel>(data); vm = (string.IsNullOrEmpty(data) || data == "null") ? new AreaSettingPageViewModel() : JsonConvert.DeserializeObject <AreaSettingPageViewModel>(data); #region 長すぎる… if (vm.HokkaidoValue) { cities.Add("北海道"); } if (vm.AomoriValue) { cities.Add("青森県"); } if (vm.IwateValue) { cities.Add("岩手県"); } if (vm.MiyagiValue) { cities.Add("宮城県"); } if (vm.AkitaValue) { cities.Add("秋田県"); } if (vm.YamagataValue) { cities.Add("山形県"); } if (vm.FukushimaValue) { cities.Add("福島県"); } if (vm.IbarakiValue) { cities.Add("茨城県"); } if (vm.TochigiValue) { cities.Add("栃木県"); } if (vm.GunmaValue) { cities.Add("群馬県"); } if (vm.SaitamaValue) { cities.Add("埼玉県"); } if (vm.ChibaValue) { cities.Add("千葉県"); } if (vm.TokyoValue) { cities.Add("東京都"); } if (vm.KanagawaValue) { cities.Add("神奈川県"); } if (vm.NiigataValue) { cities.Add("新潟県"); } if (vm.ToyamaValue) { cities.Add("富山県"); } if (vm.IshikawaValue) { cities.Add("石川県"); } if (vm.FukuiValue) { cities.Add("福井県"); } if (vm.YamanashiValue) { cities.Add("山梨県"); } if (vm.NaganoValue) { cities.Add("長野県"); } if (vm.GifuValue) { cities.Add("岐阜県"); } if (vm.ShizuokaValue) { cities.Add("静岡県"); } if (vm.AichiValue) { cities.Add("愛知県"); } if (vm.MieValue) { cities.Add("三重県"); } if (vm.ShigaValue) { cities.Add("志賀県"); } if (vm.KyotoValue) { cities.Add("京都府"); } if (vm.OsakaValue) { cities.Add("大阪府"); } if (vm.HyogoValue) { cities.Add("兵庫県"); } if (vm.NaraValue) { cities.Add("奈良県"); } if (vm.WakayamaValue) { cities.Add("和歌山県"); } if (vm.TottoriValue) { cities.Add("鳥取県"); } if (vm.ShimaneValue) { cities.Add("島根県"); } if (vm.OkayamaValue) { cities.Add("岡山県"); } if (vm.HiroshimaValue) { cities.Add("広島県"); } if (vm.YamaguchiValue) { cities.Add("山口県"); } if (vm.TokushimaValue) { cities.Add("徳島県"); } if (vm.KagawaValue) { cities.Add("香川県"); } if (vm.EhimeValue) { cities.Add("愛媛県"); } if (vm.KochiValue) { cities.Add("高知県"); } if (vm.FukuokaValue) { cities.Add("福岡県"); } if (vm.SagaValue) { cities.Add("佐賀県"); } if (vm.NagasakiValue) { cities.Add("長崎県"); } if (vm.KumamotoValue) { cities.Add("熊本県"); } if (vm.OitaValue) { cities.Add("大分県"); } if (vm.MiyazakiValue) { cities.Add("宮崎県"); } if (vm.KagoshimaValue) { cities.Add("鹿児島県"); } if (vm.OkinawaValue) { cities.Add("沖縄県"); } if (vm.OtherValue) { cities.Add("その他"); } #endregion #if DEBUG foreach (var item in cities) { System.Diagnostics.Debug.WriteLine("Cities: " + item); } #endif }
/// <summary> /// vm のインスタンスを json にシリアライズして保存するメソッドです。 /// </summary> private void SaveDataToJson(AreaSettingPageViewModel vm) { var json = JsonConvert.SerializeObject(vm); DependencyService.Get <ISaveAndLoad>().SaveData("settings.json", json); }