shuhelohelo’s blog

Xamarin.Forms多めです.

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.…

Xamarin.FormsでAndroidアプリのアイコンを変更する

こちらを参考にした. www.kurigohan.com アイコンのPNG画像を用意する. 用意の仕方は色々あるだろうけれど,今回はこちらのサービスで簡易なアイコンを作成した. romannurik.github.io Launcher icon generatorをクリックする. エディタが表示されるので,画像…

App Center ビルドスクリプト

前回の記事でApp Centerを使ってPushのタイミングで自動ビルド(releaseビルド)まで行いました. しかし,Syncfusionのライセンスキーをコード内に記述していないため,アプリ起動後に何も表示されずにアプリを利用できませんでした. ソースコードに直接記述すれ…

Xamarin.FormsのAndroidアプリのAPKファイルの生成

ストアに上げるにしてもテスト用にデバイスに配置(デバッグではなく)するにしても,APKに対して署名する必要があるようだ? docs.microsoft.com こちらも参考に. riptutorial.com で,テスト用のAPKを生成する際は「Ad hoc」を選ぶようだ? ちょっとやってみよう. …

dot net conf 2020 xamarin メモ

動画 www.youtube.com サンプルコード github.com Keynote : Xamarin All The Things AndroidのProfiled AOT Profiled AOTはStartup Speedが速く(AOTについで)でAPK SizeがAOTよりも小さい(Normalよりは大きい). バランスがいい. Type Startup Speed APK Siz…

App Centerを使って自動ビルド

まずはCI/CDとまではいかずに,特定のブランチにpushしたときにビルドが自動で実行されるところまでやってみる. 初めてのApp Center はじめてなので,アプリの追加から順にやっていく.以下を参考にした. www.c-sharpcorner.com ログインしよう Visual Studio A…

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (6) Logger

前回はHttpClientを使う方法について書きました. 今回はLoggerの使い方です. 以前に書いたとおり,Microsoft.Extensions.HostingパッケージにはLoggerも含まれているので,Loggerを介したロギングの機能も使うことができます. shuhelohelo.hatenablog.com 今回…