Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Xamarinで割り勘アプリを作る

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 Xamarinで割り勘アプリを作る

Avatar for Ryosuke Uchiyama

Ryosuke Uchiyama

January 31, 2020
Tweet

More Decks by Ryosuke Uchiyama

Other Decks in Programming

Transcript

  1. Xamarin • ネイティブAPIを100%移植 • ネイティブアプリを作成できる • C# / .NET /

    Visual Studioで開発できる • コードを共通化できる • 画面も共通化できる
  2. Control群 ActivityIndicat or BoxView Button DatePicker Editor Entry Image Label

    ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
  3. 開発環境 • Windows 10 Pro (64-bit) • SO-01H / Android

    7.0 (Nugat) • Visual Studio Professional 2019 • .NET Standard 2.0 ※iOS版はビルド環境なしのため対象外
  4. データモデル 飲み会クラス • 飲み会ID • 開催日付 • 飲み会名 • 参加者リスト

    • 合計金額 役職クラス • 役職ID • 役職名 参加者クラス • 役職ID • 参加人数 • 主賓人数 割り勘後支払額クラス • 役職 • 支払人数 • 一人あたり金額 標準割り勘ルール • 割り勘金額を計算する 割り勘ルールインタフェース 計算
  5. Data Models Party string ID DateTime Date string Name List<Attendee>

    Attendees int TotalFee Grade int Id string Name Attendee Grade Grade int TotalCount int GuestCount SplitBill Grade Grade int Payer int Amount DefaultSplitRule CalculateAmountAsync() ISplitRule 計算
  6. ファイルの保存先について • XamarinのファイルIOはプラットフォームにより異なる • なのでファイル作成や保存ロジックも本来ならばOS個別に書く必要がある • が、それはとてもめんどくさい(低レイヤはあまり深く考えたくない!) • そこで、PCL Storageというライブラリを使う

    • これでXamarin.FormsのIOロジックを共通に呼び出せるようになる • ただし.NET Standardプロジェクトの場合、本当はNetStandard Storageを使 う必要があるが、Warningでビルドは通るのでひとまず無視する
  7. 参考文献 • 10分間で分かった気になれるXamarin概要 - Build Insider • 第1回:Xamarinでアプリを作ろう (1/5):特集:Visual StudioとXamarinで始めるiOS/Android/UWPアプリ開発

    - @IT • Introducing .NET Standard – .NET Blog • プログラミングな日々: MVVMとは何か • Xamarin で ItemsControl っぽいコントロールを作りたい(1) - しっぽを追いかけて • GitHub - dsplaisted/PCLStorage: PCL Storage - Portable Storage APIs • Hyper-VでサクサクAndroidエミュレータを使おうと思ったらハマったはなし – Qiita