Xamarin
先日 Xamarin.iOS で ARKit を試し始めた話を書きました。 試し中のコード スクリーンショット 上記の記事では試し始めましたという話だけだったので、今日はコードを見てみたいと思います。 ■ コード /// <summary> /// 空間にモデルを置くだけのシンプルなサンプル </summary>…
Xamarin iOS で ARKit を使ってみたいのでチャレンジ中です。 チャレンジは大事です。世界はチャレンジであふれています。 ■ 今のところ 今のところは、シンプルに空間にモデルを表示するものだけ動作できています。 こんな感じに、空間に宇宙船が存在してい…
mac で Xamarin 環境の AVD マネージャーをコマンドラインで実行する方法です。 Android Studio 環境の Android SDK では同様のコマンドでマネージャーを起動することができませんでした。 ※コマンドにこのオプションがありませんでした。 ■ コマンド cd /Us…
Xamarin でスマートフォンをしゃべらせたい場合、TextToSpeechPlugin などで簡単に音声をしゃべらせることができます。 しかし、条件によっては特にエラーなども発生せずに無音。しゃべってくれない場合があります。 ■ 無音 TextToSpeech で指定した文字列を…
アセンブリに埋め込みリソースとして組み込んだファイルは、GetManifestResourceStream メソッドで Stream として取得できます。 この時、ファイル名を文字列で指定するのですが、このファイル名はどのように決まっているのでしょう? ■ 結論 {デフォルトnam…
Xamarin で音声ファイルを再生するには Simple Audio Player プラグインが使えます。 ■ コード 次のコードは、ボタンをクリックすると埋め込みリソースの音声を 3.5 秒間ループ再生します。 using System.Threading.Tasks; using Xamarin.Forms; namespace X…
MVVM モデルでは、VM は V を意識しないこと(VM は V を知らないこと)が理想とされています。 すなわち、View が行うべき処理を、ViewModel に書いたり、ViewModel から View のメソッドを呼び出すことはしない、ということです。 しかし、現実問題、ViewM…
■ JXUG Xamarin もくもく会 東京 JXUG Xamarin もくもく会 東京 1月 を開催しました。 Xamarin もくもく会 は もくもくしたり、情報交換したりする会です。 今回は、参加していただいた皆様、あまり進捗を出していただけなかった様子でした。 次回までに、も…
Xamarin.Forms で一定間隔の時間毎に何か処理をしたい場合、Xamarin.Forms.Device クラスの StartTimer メソッドが使えます。 しかし、精度はそれほど高くはありません。 ※ Xamarin.Forms に限らず、他の環境でも普通精度は高くないです 比較的シンプルな1 …
Xamarin.Forms で一定間隔の時間毎に何か処理をしたい場合、Xamarin.Forms.Device クラスの StartTimer メソッドが使えます。 しかし、精度はそれほど高くはありません。 ※ Xamarin.Forms に限らず、他の環境でも普通精度は高くないです というわけで、確認…
Xamarin.Forms で一定間隔の時間毎に何か処理をしたい場合、Xamarin.Forms.Device クラスの StartTimer メソッドが使えます。 ■ コード public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); // UI の構築。StartTime…
Xamarin Forms で画面をスリープしないようにするやつを NuGet にアップしてみました。 NuGet にしたからと言って何か変わるというものではないですが、試してみたくて。 ■ 導入方法 NuGet で keepscreen で検索すると出てくると思います。 ■ ソース こうい…
Xamarin.Forms に限らず多くのプラットフォームでそうなのですが、UI の更新は UI スレッド(メインスレッド)でしか行えません。 例えば、長い時間のかかる処理をスレッドを立ててバックグラウンドで行いつつ、進捗を UI に表示する場合などに少し手間をか…
Xamarin Forms で画面を消灯しないようにするには、良い Plugin がないようです。 Xam.Plugins.ManageSleep という Plugin がありましたが、残念ながら Android の画面が消灯してしまいます。 ■ 概要 iOS と Android で画面を消灯しないようにする機能を実装…
Xamarin.Froms で写真を撮影するには MediaPlugin を使うのが簡単です。 [ MediaPlugin : https://github.com/jamesmontemagno/MediaPlugin ] ■ NuGet パッケージのインストール ・Forms プロジェクトを .NET Standard で作成します。 ・NuGet から「xam.plu…
Xamarin.Forms で SQLite を使うには SQLite-net を使うのが簡単そうです。 [ SQLite-net https://github.com/praeclarum/sqlite-net ] ■ NuGet パッケージのインストール ・Forms プロジェクトを .NET Standard で作成します。 ・NuGet から「sqlite-net-pc…
SQLite は Android の API をラップ下 API で素直に扱うことができます。 Android.Database.Sqlite.SQLiteOpenHelper クラスのサブクラスを作って素直に使えば OK です。 コード ・MySQLiteHelper / Android.Database.Sqlite.SQLiteOpenHelper のサブクラス …
Android では View を XML ファイルから構築できます。 この機能で構築した View を画面の要素に Add することで画面の一部だけを XML で定義できることになります。 何がうれしいの? この機能を使うと、複数の画面で出てくる同じ要素の組み合わせの定義を…
Xamarin.Android でデバッグのデバイスとしてエミュレーターが選択できないパターンはいろいろあると思います。 これはその一例です。 Minimum Android version Minimum Android version の APIレベル を満たしていないエミュレーターは通常の選択肢に出てき…
Xamarin.Android で LayoutInflater により View を構築し用とした際にBinary XML file line #1: You must supply a layout_width attribute. というエラーが発生し失敗することがありました。 結論から言うと原因は不明です。 状況 ・Android のネイティブ…
Xamarin.Android で音声認識の API を使ってみました。 早速ですがコードです。 using Android.App; using Android.Widget; using Android.OS; using System.Linq; namespace SpeechRecognizer { [Activity(Label = "SpeechRecognizer", MainLauncher = true…
先日開催した にて Xamarin,Android ハンズオンを行いました。 Xamarin.Android ハンズオン from m ishizaki 残念ながら全員の方に最後まで完成させていただくことはできませんでした。 およそ 2 時間という短い時間の中ではトラブルが発生すると厳しいです…
■ JXUG Xamarin もくもく会 東京秋葉原 JXUG Xamarin もくもく会 東京秋葉原 12月 を開催しました。 Xamarin もくもく会 は もくもくしたり、情報交換したりする会です。 今回も、何人もの方にご参加いただき、皆さん進捗をだされました。 不定期ではありま…
Google Home に OK, Google と呼びかけるのが恥ずかしいのでアプリで解決してみました。 アプリは Xamarin.Forms でシュッと作ってしまいます。 DependencyService 今回のアプリは、DependencyService を使ってプラットフォーム毎に個別実装が必要な部分を実…
Xamarin.Android の AsyncTask クラスには、Android API にはない abstract メソッドがあります。 protected abstract TResult RunInBackground (params TParams[] params) 似たメソッドに、Android API にもある protected override Object DoInBackground …
ある時、Visual Studio (Win) で Android SDK Manager が次のエラーメッセージが表示されて開けなくなりました。 Command did not execute successfully due to an unexpected exception. Please check the output window for additional information. また…
先日開催された Co-Edoでエンジニア・webデザイナー飲み会 にてお時間をいただいて 「Xamarin の API カバー率 100% について」 というタイトルで話をさせていただきました。 Xamarin の Api カバー率 100% について from m ishizaki 話はじめる前は、「Xmas…
先日、Visual Studio の Preview 版で Remoted iOS Simulator が使えた話を書きました。 そして気になる点として、Professional 版で使えるのかという点を挙げていました。我々は貧乏なので。 これまで、概ね Enterprise > Community > Professional という…
Xamarin.Android のハンズオンテキストを作成しました。 ■ ハンズオンの概要 Android のサンプルアプリを Xamarin.Android に書き換えることで Xamarin.Android を体験します。 ■ このハンズオンで体験できること ・簡単な作りのアプリであれば、Android (Ja…
Visual Studio for Mac で Android Emulator が起動しない場合があります。 今回は、次のような log が表示されていました。 実行に失敗しました または Failed to create vm ffffffff Failed to create HAX VM No accelerator found. failed to initialize …