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

Xamarinで割り勘アプリを作る

 Xamarinで割り勘アプリを作る

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