かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

Xamarin

Prism.Forms.Unity を .NET Standard プロジェクトにしてみよう(無理やり感)

Xamarin.Forms 2.4 が .NET Standard 2.0 化したこともあり .NET Standard の機運が高まってまいりました。 Prism のほうも 7.0.0 で .NET Standard 対応っぽいのでいい流れです。 最近のライブラリは .NET Standard 前提で作られてるものもチラホラ出てきて…

CoreML を Xamarin.Forms で使ってみよう

なんか iOS 11 から CoreML ってのが使えて簡単にいうと機械学習の学習結果を iOS ローカルで動かせるぜ!っていう感じのものらしいですね。強い。 ということで、Apple Developer と Xamarin のドキュメントを見ながら試してみたいと思います。 Core ML | A…

Visual Studio Mobile Center の Push を試してみよう Android編

プッシュ通知ってめんどいですよね。 ということで Visual Studio Mobile Center の Push を試してみようと思います。Android, iOS, UWP あたりに対応してるらしいですが、とりあえず私の好きな Xamarin.Forms を使って Android に対して対応してみようと思…

Visual Studio Emulator for Android でネットワークにつなぐ

まぁ普通は標準のエミュレータ使いますよね。 でも世の中には Hyper-V が必須な人もいるでしょう。 そんな人は Visual Studio Emulator for Android を使うことになると思います。 ただ Visual Studio Emulator for Android では Marshmallow までしかエミュ…

Xamarin.Forms のプロジェクトでフォルダパスが長すぎてエラーになってしまうときの対処法 その2

ちょっと前にこんな記事を書きました。 blog.okazuki.jp コメントでジャンクション使ってみたらどうですか?と言われたので調べてみたら mklink コマンドってので作れるみたいですね。今回は、mklink コマンドを使って適当にシンボリックリンクを張る方法で…

Xamarin.Forms のプロジェクトでフォルダパスが長すぎてエラーになってしまうときの対処法

続編書きました。 blog.okazuki.jp 最近 Xamarin.Forms のプロジェクトを新規作成したあとにビルドエラーになるというかプロジェクト作成すらままならないという状況に出会うことが増えました。 まぁ本質的にはパスの長さの問題なので別にXamarinに限った話…

KAMISHIBAI for Xamarin.Forms を Prism で使ってみよう

nuitsさんが面白そうなものを作ってました。 www.nuits.jp さて、個人的に気になるのは Prism と組み合わせた場合の方法。なんたって Prism にも組み込みの画面遷移機能があるので。 考えたこと1 Prism の画面遷移機能は原理的に画面遷移を行うための機能を…

【東工大生限定招待】 Xamarin ハンズオンラーニング with JXUG,MSP で発表してきました

東工大でXamarin関連のことについて話してきました。そこでの資料を公開します。 Xamarin でのモバイルアプリ開発 周辺基礎知識 from 一希 大田 www.slideshare.net

かずきのXamarin.Forms入門を更新しました

5か月ぶりくらいに内容をアップデートしました。 SlideShareにサインインするとダウンロードボタンが表示されるので、そこからダウンロードしてご利用ください。 Xamarin.forms入門 from 一希 大田 www.slideshare.net 変更内容 Xamarin.Forms 2.3.4ベースの…

Bot FrameworkのDirect Line APIをXamarin.Formsから使う場合のサンプルプログラム

を書きました。 .NET Standardにしないといけなかったりとちょっと手間取りましたが、なんとか動く感じになりました。リポジトリは以下になります。 github.com Bot Frameworkを使えば簡単にBotを作れるので、作ったBotを自分のアプリに組み込む際の参考にし…

Prism.Forms でプラットフォーム固有処理を呼び分ける方法

Xamarin.Forms にも標準で DependencyService という機能があるんですが、こいつよりも柔軟な素敵な機能が Prism.Forms には提供されています。 IPlatformInitializer それは IPlatformInitializer です!これは、Prism.Forms のDIコンテナへのインスタンス…

Xamarin.Forms と Azure の組み合わせサンプル書いてみたよ

Microsoft Cognitive Services を使ったサンプルを ABC 2017 Spring で作ってみたら動かなくて悲しい目にあったので、全部スマホでやってた処理を、きちんとサーバーサイドとクライアントサイドにわけてデータも1度処理したものは永続化してというのをやって…

#decode17 に参加してきました(登壇側で)(ほぼ技術的なエントリではないです)

5/23 - 24 で開催された Microsoft の主催する開発系イベントの de:code 2017 に登壇者側で参加してきました。de:code は、初回から前回まで一般参加者として参加してきたので割と思い入れのあるイベントでした。今年は Microsoft に転職して最初の de:code …

Xamarin + Visual Studio Mobile Centerをやってみよう

Visual Studio Mobile Centerは、モバイルアプリを開発する際に必要になる以下の機能を提供してくれる便利なやつです。 リポジトリ(GitHub, VSTS, Bitbucket)と連携しての自動ビルド Xamarin.UITestなどのテストコードをプールされた様々な実機上で実行 アプ…

Xamarin.FormsでBotFrameworkのDirectLineを試す

自分用メモです。(雑です) PCLを辞めます。 .NET Standardにプロジェクトを変換します。 以下をプロジェクトに追加する。 Micrsoft.Bot.Connector.DirectrLine Microsoft.Rest.ClientRuntime こんな感じに書けば動いた!とりあえず

JXUGC 22 最新事例&お前のアプリを説明してもらおうの会で発表してきました

XAML入門というテーマで発表してきました。スライドを公開します。 XAML入門 from 一希 大田 www.slideshare.net

Xamrin.FormsでBLEのアドバタイズパケットを拾おう(要はビーコン)

ということで、Xamarin.FormsでBLEやってみようと思います。 スキャンして、近くのパケット拾って来るのがゴールくらいにしておきましょう。 BLEを使おうとすると、ネイティブのコードを書かないといけないのですが、幸いにもプラグインのリストにBluetooth …

Xamarin.Formsでグラフを描こう(OxyPlot)

WPFでグラフを描けるライブラリを探してたらOxyPlotというのを見つけました。 見つけたと思ったら、こいつXamarin.Formsでもできるぞ!?ということで試して見ました。 NuGetの追加 以下のパッケージを追加します。 OxyPlot.Xamarin.Forms 初期化 以下のコー…

かずきのXamarin.Forms入門を更新しました

すっかりDataTemplateSelectorについて書くのを忘れてたのでSlideShareのPDFとKindleを差し替えました。 Kindleは反映までに1日くらいかかるのと、おそらく既に購入された方には変更は届けないとAmazonが判断すると思います…(よっぽどインパクトの大きな変…

Prism.FormsでAutofacを使ってみよう

Xamarin Studioベースで話を進めます。(Visual Studioでもだいたい同じになると思うけど) まずForms Appを新規作成してPCLで作ります。 NuGetから以下のパッケージを追加します。 Prism.Autofac.Forms Views名前空間を作って、そこにMainPage.xamlを作成し…

MacのXamarin.iOSでSegueが作れない

Ctrl + Dragでページを結んでもSegueが作れないというかメニューが一瞬出て消えるっていう動きをしていました。ググってみるとStackoverflowが引っかかりました。 stackoverflow.com トラックパッドの設定で「強めのクリックと触覚フィードバック」のチェッ…

かずきのXamarin.Forms入門のKindle版だしました(Prismもあるよ)

先日SlideShareに公開したXamarin.FormsのPDFですが Xamarin.forms入門 from 一希 大田 www.slideshare.net こちらは、SlideShareにログインすると無料でダウンロードできます。 それに加えて、Kindleで販売も始めました。こちらはKindleで見たい人向けです1…

Xamarin.Forms入門のPDF作りました(Prismもあるよ)

SlideShareでログインしてダウンロードできるようにしています。是非ダウンロードしてみてください!200ページちょっとあります。 Xamarin.forms入門 from 一希 大田 www.slideshare.net 目次 1 はじめに 1.1 ターゲットプラットフォーム 1.2 Xamarin.Forms…

Xamarin.Forms + PrismでSQLiteを使ってみよう

モバイル環境でのデータベースといったらSQLiteがデファクト!ということでXamarin.Forms + Prism.Formsの環境で試してみましょう。 NuGetパッケージの導入 使用するパッケージはSQLite-net-pclです。(似た名前のが多いので注意) www.nuget.org プラットフォ…

Xamarin.FormsでBehaviorのTriggerとActionを作る

Xamarin.Formsのドキュメント上は見つけれなかったけど、ソースコード的にはTriggerとActionがあったりします。 github.com ただ、この人たちはBindingに対応してないという、ちょっと悲しい感じに仕上がってます。なので、XamarinのBehaviorをベースにBindi…

Xamarin.FormsのBehaviorをBinding可能にする

デフォルトだとBindingできないんですよ。ということでソリューションは以下のようにします。 github.com BindingContextが伝搬しないなら伝搬させればいいじゃない?ということで手動でせっせと伝搬させてます。 これくらいデフォルトで面倒見てほしかった……

Xamarin.FormsのListViewでタップされた項目をスマートにViewModelに渡す方法

EventToCommandBehaviorを使います。コードはこちらを参考に。 github.com この時、こういうBehaviorを作っておくとListViewの選択がされなくなって捗ります。 using Xamarin.Forms; namespace PrismUnityApp2 { public class NotSelectableListViewBehavior…

Xamarin.FormsでPrism.Formsを使ってPCLに非対応なライブラリを使う方法

例えばMicrosoft.AzureのStorageのライブラリなんかがXamarin.AndroidとXamarin.iOSには対応してるけどPCLには対応してないといった感じです。 被害者がここに。 @chomado ウワアアあああああああああああああああああXamarin .Forms PCL の私 爆死\(^o^)/…

Xamarin.Formsで画面レイアウトを作るためのレイアウトコントロールの必要最低限

Xamarin.Formsで思い通りのレイアウトを組みたい。 そんな時には、レイアウト系のコントロールを押さえておくといいです。 公式ドキュメント Layouts - Xamarin Layoutコントロール Xamarin.Formsでは、複数のコントロールを配置するときには、あらかじめ定…

Xamarin.FormsのListViewで行単位で高さを変えるには

何もしないと同じになるっぽい。 違う高さにするには、以下のようにHasUnevenRowsプロパティをTrueに設定すればいい。 <ListView ... HasUnevenRows="True"> ... </ListView> おしまし。