あるSEのつぶやき・改

ITやシステム開発などの技術に関する話題を、取り上げたりしています。

Xamarin

Xamarin.FormsのCarouselPageで2ページ目を最初に開く方法

Xamarin.Forms の CarouselPage を2ページ使って、左ページにメニュー、右ページにコンテンツを表示しようと考えてみました。 そうすると、CarouselPage の2ページ目を最初に開く必要があるのですが、意外と簡単にできたのでメモとして残しておきます。 ま…

Xamarin.FormsのiOSとAndroidでブラウザのCookieを取得する方法

はじめに Xamarin.Forms で、内部ブラウザ(WebView)で表示したサイトで Cookie をセットし、その値を画面に表示する方法を調べてみました。 サンプルアプリ 以下の画面遷移を行う iOS と Android のサンプルアプリを作ってみました。 初期画面 Cookie がセッ…

Xamarin.Forms入門 キホンのキ - イベント

イベント Xamarin.Forms でコントロールのイベントが起きた時の記述方法は、XAML 側にイベントとコードビハインドのメソッド名を記述します。そして、コードビハインド側でイベントの記述をしていきます。 言葉で説明されてもピンとこないと思いますので、具…

XamarinがOpenJDKに対応したのは2018年9月というギリギリのタイミングだった

Java 11 が本日(2018/09/26)リリースされ、Oracle JDK は有償サポートになり、無償版は OpenJDK になりました。 Java 11正式版がリリース、本バージョンからOracle JDKのサポートは有償に。OpenJDKで無償の長期サポート提供は現時点で期待薄 - Publickey こ…

Xamarin.Forms入門 キホンのキ - クロスプラットフォームでのコード共有方法

クロスプラットフォームでのコード共有方法 Xamarin.Forms の開発では、クロスプラットフォーム間でコード共有するには、以下の3つの方法があります。 .NET Standard ライブラリ 共有プロジェクト ポータブルクラスライブラリ(PCL) 少し詳しく見てみましょ…

Xamarin.Forms入門 キホンのキ - Xamarinの動作原理

Xamarin の動作原理 Xamarin の動作原理というと大げさですが、Xamarin は .NET Framework のクロスプラットフォーム版である Mono 上で動作します。 Mono 上で動作することで、クロスプラットフォームでの動作を実現させています。 Android/iOS 端末にアプ…

Xamarin.Forms入門 キホンのキ - XAML とは

Xamarin.Forms入門 キホンのキ - XAML とは XAML とは XAML(Extensible Application Markup Language,「ざむる」と読む)は、XMLベースのマークアップ言語です。 Windows の開発者であれば WPF や UWP で馴染みのあるもので、それを Xamarin.Forms でも使用す…

Xamarin.Forms入門 キホンのキ - 参考文献・サイト

この記事では、Xamarin.Forms の参考文献・サイトを掲載しています。随時更新していきます。 参考文献 − 基礎から学ぶ Xamarinプログラミング 基礎から学ぶ Xamarinプログラミングposted with amazlet at 18.09.24西村 誠 シーアンドアール研究所 (2017-07-2…

Xamarin.Forms入門 キホンのキ - 目次

目次 はじめに Xamarin.Forms とは Xamarinの動作原理 クロスプラットフォームでのコード共有方法 XAML XAML とは イベント 参考文献・サイト

Xamarin.Forms入門 キホンのキ - Xamarin.Forms とは

Xamarin とは Xamarin.Forms の前に、Xamarin(ざまりん)とはなにか理解しておく必要があります。 Xamarinとは、iOS, Android などで動作するアプリケーションの開発を、C# で行うことができる開発ツールのことです。 Xamarin は iOS, Android の API を 100%…

「Prism for Xamarin.Forms入門」の内容がよくてためになる

Prism for Xamarin.Forms入門 上記でまとめられている、Xamarin.Forms の Prism についての解説がよくてためになります。 ただ、記事の内容が若干内容が難しく、以下の本を読んでから挑んだのですが、まだ3、4割の理解といったところでしょうか。ちなみに…

Xamarin, Fix>Error: ibtool exited with code 255

Xamarin.Forms で iOS のプロジェクトをビルドしたら以下のようなエラーが発生しました。 /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(3,3): Error: ibtool exited with code 255 (PrismSample2.iOS) 最初…

Fix>Error MSB4064: "DebugType" パラメーターは "XamlCTask" タスクではサポートされていません。

Xamarin.Forms で Prism を利用しようとしたら、ビルド時に以下のエラーが発生しました。 /Users/xxx/Projects/PrismSample2/packages/Xamarin.Forms.2.3.4.270/build/portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20/Xamari…

Fix>Error CS0115: 'App.RegisterTypes()': no suitable method found to override (CS0115)

Xamari.Forms で Prism を利用しようとしたら、いきなりビルドで以下のエラーが発生してしまいました。 /Users/xx/Projects/PrismSample/PrismSample/App.xaml.cs(33,33): Error CS0115: 'App.RegisterTypes()': no suitable method found to override (CS01…

Xamarin, Visual Studio for MacにPrism Template Packをインストールする方法

Xamarin の MVVM 開発では、Prism を使用する場合が多いようですね。 その Prism の Prism Template Pack を、Visual Studio for Mac に インストール方法をご紹介します。 まず、メニューの Visual Studio (Community) > 拡張機能 で、拡張機能マネージャー…

Xamarin.Forms, XAMLのデザインをリアルタイムで実機確認できるGorilla Playerがすばらしい

はじめに Xamarin を調べていたのですが、どうも Xamarin.iOS, Xamarin.Android はトレンドとしては旧式で、現在は Xamarin.Forms でほぼ開発をして、できない部分を Xamarin.iOS, Xamarin.Android で作り込むのだという結論に至りました。 それで、Xamarin.…

Xamarin.Android, Fix>Error CS0145: A const field requires a value to be provided (CS0145)

Xamarin.Android で Main.axmlに Button (+id/StartButton) を追加して、以下のコードを書こうとしたところ、リソースIDのサジェスチョンがでないという現象が起きました。 _startButton = FindViewById<Button>(Resource.Id.StartButton); 上記のように、Resource.I</button>…

Xamarin.AndroidでAdMobの広告を表示する方法

はじめに 以下の記事では、Xamarin.iOSでAdMobの広告を表示する方法をご紹介しましたが、今回は Xamarin.Android で AdMob の広告を表示する方法をご紹介します。 Xamarin.iOSにAdMob広告を表示する方法 Xamarin.iOS のときもそうでしたが、Xamarin.Android …

Xamarin.Android, Fix>Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class com.google.android.gms.ads.AdView

Xamarin.Android で AdMob の広告を表示させようと思ったら、以下のような大量のスタックトレースが出て異常終了してしまいました。 この問題の解決方法は単純で、Xamarin.GooglePlayServices.Ads のバージョンを、60.1142.1 から 70.1501.0-preview2 にバー…

Xamarin.Android, Fix>Error MSB4018: "ResolveLibraryProjectImports" タスクが予期せずに失敗しました。

Xamarin.Android で AdMob の広告を表示しようとしたら、以下のエラーが発生し異常終了しました。 /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2,2): Error MSB4018: "ResolveLibraryProjectImport…

Xamarin.iOSにAdMob広告を表示する方法

はじめに Xamarin.iOS に AdMob の広告を表示する方法を調べていたのですが、検索をかけても Xamarin.Forms の情報ばかりで Xamarin.iOS の情報がほとんどありませんでした。 時代は、Xamarin.Forms に移っていているのでしょうか? それとも、Xamarin は業…

Xamarin.Androidでパスワードなどの重要情報をKeyStoreに保存する方法

Android 4.3 からKeyStore という仕組みができて、パスワードや暗号キーなどの重要情報を安全に保存ができるようになったとのこと。 そして、Xamarin では Xamarin.Auth を使えば簡単に KeyStore を扱うことができます。 Xamarin.Android と Xamarin.iOSで、…

Xamarin.iOSで暗号化したRealmデータベースを使用する方法

はじめに Xamarin.iOS で Realm データベースを暗号化して書き込み・読み込みをし、暗号キーをキーチェーンに保存し再利用する方法を例示します。 最初は、公式のサンプルがいきなり間違えていたので手間取りましたが、なんとかゴールに到達することができま…

Xamarin.iOSでキーチェーンにパスワードなどの重要情報を保存する方法

はじめに Xamarin.iOS で iPhone アプリなどを作成する際、キーチェーンにパスワードなどの重要情報を保存するのは、Xamarin.Auth という NuGet パッケージを使用すれば割合簡単に行うことができます。 ですが、キーチェーンにアクセスする際には Visual Stu…

Xamarin.iOS, Error: Could not find any available provisioning profiles for iOS. の対処方法

Xamarin.iOS の iPhone などのアプリでキーチェーンにアクセスしようとしたら以下のエラーメッセージが表示されました。 Error: Could not find any available provisioning profiles for iOS. これは、info.plist に適切なプロビジョニングの設定がされてい…

XamarinでRealmを使用する方法

はじめに Xamarin で Realm を使用する方法を調べていたのですが、ところどころに地雷がありますね。 さて、Realm (レルム) とは何かというと一言でいえばモバイルデータベースですね。 軽量データベースといえば、SQLite が有名ですが、モバイルアプリケー…

Xamarin,Realm,SOLVED,Realms.Exceptions.RealmMigrationNeededException

Xamarin で Realm を使用していたのですが、モデルクラスの定義を変えて実行したところ、Realms.Exceptions.RealmMigrationNeededException の例外が発生しました。 Realms.Exceptions.RealmMigrationNeededException がスローされました Migration is requi…

Xamarin,Realmデータベースの保存場所とRealmデータベースビューアー

Xamarin で Realm を使ってみて生データを見たいなと思ったのですが、Realm データベースがどこに保存されているのか分からない問題が起きました。なお、環境は Mac になります。 答えは Realm データベースの情報をデバッグログに出力すればいいのですが、…

Xamarin,Realm,Solved,No RealmObjects. Has linker stripped them?

Xamarin で Realm を使おうとして以下のエラーが出てハマりました。 No RealmObjects. Has linker stripped them? See https://realm.io/docs/xamarin/latest/#linker-stripped-schema これは各プロジェクトの、FodyWeavers.xml を以下のように記述すること…

Xamarin,Realmを使おうと思ったらFodyWeavers.xmlがないと怒られた

Xamarin で Realm を使おうと思って、Nuget で Realm をインストールして実行したら FodyWeavers.xml がないとコンパイラに怒られました。 Error: Fody: Could not find path to weavers file. Searched '/Users/xxx/Projects/XamarinRealm/FodyWeavers.xml'…