shuhelohelo’s blog

Xamarin.Forms多めです.

2020-01-01から1年間の記事一覧

ASP.NET MVCプロジェクトにIdentityユーザー認証機能を追加する

とりあえずチュートリアルに従ってアプリを作る。 そうだ、ユーザー認証機能を追加しよう。 というときのためのメモです。 また、Identityユーザー認証機能を後付するとプロジェクト内にIdentityで使われるクラスやページのソースコードが作成されるので、い…

OpenCvSharpでHSVで特定の色を取り出すときの簡易確認ツール

OpenCVで特定の色だけにしぼり込むときに、HSV(Hue,Saturation,Value)で範囲を指定するとします。 ある画像をサンプルとして、自分が絞り込みたい色の範囲はHSVでどの値の範囲なのかを確認したいです。 そんなちょっとした確認に便利なツールがあると便利で…

OpenCvSharp4で特定の色だけを抜き出す

以下の記事をOpenCvSharpを使ってやった内容になります。 tecsingularity.com RGBで指定 RGBで色の範囲を指定して抜き出すには以下のようにします。 using OpenCvSharp; using System; namespace OpenCVColorExtraction { class Program { //抽出したい色の…

C#でOpenCVを使うOpenCVSharp

OpenCVのC#ラッパーとしてOpenCvSharpというNugetパッケージがあります。 github.com これを使うとC#でOpenCVによる画像処理や色々ができます。 例えば、画像を読み込んで表示させたり、画像の色空間を変更したりというのは以下のようなコードを書きます。 u…

Dell Latitude 7300でFnキーロック

Latitude 7300ではファンクションキーを使う場合にはFnキーをあわせて押す必要があります。 例えば、Visual Studioでデバッグを実行したいとき(F5)などですね。 Fnキーを一緒に押さない場合は、画面の明るさや音量を変更する機能が割り当てられています。 Su…

正規表現でマッチした部分を同じ文字数の記号で置換する

C#

実装の一例としてメモ 例えば,連続する半角スペースに対して2文字目以降をnbspで置き換える場合は以下のようにする. public static string ConsecutiveBlanksToNBSP(string sentense) { Regex re = new Regex(@"(?<= )( )+"); MatchCollection matches = re.…

Gitでrefusing to merge unrelated historiesエラーの対処

www.educative.io remoteとlocalでcommit履歴が一致していない場合にpullやmergeを行うと以下のエラーが発生する. refusing to merge unrelated histories 上のリンク先で使用されている画像がわかりやすいので引用するが,こんな感じ. どういう状況かという…

privateフィールドの値を取得したりprivateメソッドを実行したり

C#

フィールドの場合はBindingFlags.GetField, メソッドの場合はBindingFlags.InvokeMethodを指定している. GetField()メソッドやGetMethod()メソッドを使う場合は上記のフラグはそもそも必要ない. ClassHoge hoge = new ClassHoge(); Type hogeType = hoge.Get…

C#のDisposeパターン

クラスを作成するときに,クラス内で使用するリソースを適切に開放するために,IDisposableインターフェイスを実装します. IDisposableを実装するときに,以下のように「Disposeパターンを使って明示的にインターフェイスを実装します」という項目があるのでそれ…

C# 非管理リソースの開放 (一時ファイル作成後の後始末について)

C#

リソースの開放はIDisposableインターフェースを実装して,開放処理を記述します. これについては以下の記事がとてもわかり易いです. ufcpp.net さて,この記事では「非管理リソースの開放」について書きます. 例えば,Path.GetTempFileName()メソッドで一時ファ…

iTextSharpでPDFを回転,選択する

使用するライブラリ iTextSharp.LGPLv2.Core 公式ではありません. NuGetからインストールします. PDFファイルの読み込み まずはPDFファイルを読み込みます. PdfReader reader = PdfReader(filePath); PDF情報の取得 このPdfReaderオブジェクトからはいろいろ…

Flutter開発環境のアップグレード

Flutterの開発環境に新しいバージョンが出たらアップグレードしたいですよね. こちらの記事でも書きましたが,Flutterの開発環境構築はとても簡単に行えます. shuhelohelo.hatenablog.com この記事では上記記事の方法でFlutter開発環境を整えたものとして,開…

Xamarin.FormsのShellの項目の見た目を変更する

Shellを使うと最近のモバイルアプリケーションでよく使われている,ドロワーメニューというのでしょうか,画面端からにゅっと出てくるメニューを簡単に用意できます. Xamarin.FormsではこれをFlyoutと呼びますが,これについて詳しくは以下の公式ドキュメントを…

Azure Client SDKでリソースを作成する準備

docs.microsoft.com Azureのリソースを作成する選択肢は,Azure Portal, Azure CLI, Azure PowerShell, Azure REST API, Azure Client SDKなど様々あり, 目的や状況に適したものを使うことができます. ここではAzure Client SDKを使って,C#プログラムからAzur…

「The reference assemblies for .NETFramework,Version=v5.0 were not found. 」への対処

Visual Studioで現在プレビュー版の.NET5を使ってトップレベルステートメントを試したときに以下のようなエラーメッセージが表示されました. The reference assemblies for .NETFramework,Version=v5.0 were not found. Tools > OptionsでOptionsウィンドウ…

コマンドラインでSDKを指定して.NETアプリケーションを作成する.

dotnetコマンドでプロジェクトを作成すると,一番新しいSDKが使用される. 現時点だとpreview版の.NET5をインストールしてあるので,dotnet new console -o Hogeとすると自動的にdotnet5のプロジェクトになる. そこで-f|--framework <FRAMEWORK>オプションを使う. <FRAMWORK> には以</framwork></framework>…

スマートホームを構築する際のRM Mini3とGoogle Homeの設定 初期設定~エアコン登録(2018年11月24日時点)[引越記事]

こちらがとても参考になります. simple-was-best.com はじめに スマートホームを構築する手段はいろいろとありますが、今回は中でもとりわけ安価で有名な「RM Mini3(通称:黒豆)」と「Google Home」の組み合わせについて、その設定方法を説明したいと思い…

Visual Studioの設定の移行 : インストール構成, Visual Studioの設定

docs.microsoft.com 複数のPCでVisual Studioを使っている場合,もしくは1つのPCで複数のバージョンのVisual Studioを使用する場合,それぞれのVisual Studioでワークロードを選択するのは手間ですし,インストール漏れがあったりしたら嫌です.(私の場合は複数…

LiveSharpを使ってコードの変更をアプリ再起動なしで即座に反映する

20200717追記 UIをすべてC#で書ける機能C#マークアップ拡張においては非常に有用なツールと思う. devblogs.microsoft.com もともとの本文 Xamarin.Forms(だけに限りませんが)は現時点でホットリロードが可能になっていて,Xamlの変更であればデバッグ中の変更…

App Center経由のデプロイでバージョン番号やバージョン名を変更する

これまでにde:code2020用アプリMy de:code 2020を作成し,App Centerを利用してビルド→ストア公開までを自動で行えるようにした. また,アプリのアイコンやアプリ名などの変更方法にも触れてきた. しかしもう一つ問題があった. バージョンが1.0のままだ. スト…

Xamarin.Forms : Androidのアプリ名を変えたい

以前に,アプリのアイコン下に表示される名称を変更しました. shuhelohelo.hatenablog.com しかし,インストールしたアプリの情報を表示させると,表示されるのはプロジェクト名です. ここに表示される文字列はどこで変更できるのか. AndroidManifest.xmlに記載…

Android Studioのアップデート

developer.android.com File -> Settingsを開く. 左側のメニューからAppearance & Behavior -> System Settings -> Updatesを選択する. Automatically check updates forにチェックがついていること.これで,普段から使っていればアップデートの通知が表示さ…

System.Text.Jsonでコメント付きJSONをデシリアライズ

C#

System.Text.json issue with comments · Issue #30743 · dotnet/runtime · GitHub 例えば以下のようなコメント付きのJSONがあったとする. { //Comment "FirstName": "太郎", /* this is comment */ "LastName": "田中"//コメントだよ! } これのデシリアライ…

App Centerを通じてXamarin.Formsで作ったAndroidアプリをストアに公開する

docs.microsoft.com Googleデベロッパー登録する 外部ツールからのAPIアクセスを許可する App CenterからGoogle Play Storeにアプリを公開するために,Googl Play StoreのAPIを外部ツールが利用できるようにする必要があります. まずはGoogle Play Consoleに…

Visual Studio拡張機能(VSIX)をVisual Studio Marketplaceに公開する

前回,Generic Hostを使ったXamarin.FormsプロジェクトのテンプレートをVisual Studio拡張機能として作りました. shuhelohelo.hatenablog.com 今回は,これをVisual Studio Marketplaceに公開したいと思います. docs.microsoft.com Visual Studio Marketplace…

VSIXプロジェクトテンプレートを作る

以前にASP.NET Core(Generic Host)のDIの仕組みをXamarin.Formsで利用する手順を書きました. shuhelohelo.hatenablog.com しかし,毎回この手順を行うのは苦痛なので,プロジェクトのテンプレートを作成したいと思います. Xamarin.Formsは通常,複数プロジェク…

App CenterのAnalyticsを使う.

App center analyticsを使い倒そう from Atsushi Nakamura www.slideshare.net www.youtube.com アプリケーションの利用状況やクラッシュ App Center SDKの導入 App Centerの各アプリケーションのトップに表示されるGetting Startedにもあるように以下の2ス…

Xamarin.Forms : アプリのターゲットをAndroid10にする

devblogs.microsoft.com Android 10への対応を行わなければならないということ.そうだったのか... developer.android.com 2020/8/3以降 : 新規アプリはAndroid 10(API 29)以上を対象とする必要がある. 2020/11/2以降 : すべてのアプリのアップデートはAndroi…

Google Play StoreにAndroidアプリを公開する メモ

このへんはこちらの記事がとても参考になりました. kuneoresearch.com 「Google PlayにAndroidアプリを公開」を押します. 「アプリの作成」というダイアログが表示されるのでアプリ名などを入力していきます. アプリの説明などを入力します. アプリのスクリーン…

Xamarin.FormsのAndroidアプリのアプリ名を変更する

20200714追記 「アプリ名を変更する」と書きましたが,この記事で変更するのはAndroidのホーム画面に表示されるアイコンのラベルでした. この記事のとおりに作業してもアプリ名は変更されません. アプリ名の変更は以下の記事を参考にしてください. shuhelohelo.…