rksoftware

Visual Studio とか C# とかが好きです

Visual Studio で Android 用ツールが起動しない

Visual Studio をアップデートしたら、Android SDK Manager や Android Emulator Manager の起動が少し面倒になりました。

特に UI が変わったとかそういうことはないのですが、メニューが disabled になって選べなくなるようになったのです。

■ 現象

  • メニューから Android SDK Manager や Android Emulator Manager を選択すると、何も起きずに終わります。
  • もう一度メニューを開くとさっき選んだメニューが灰色に

■ 起動方法

2 度起動を試みれば 2 度目以降は起動しまが、1 度選ぶと灰色になってしまうため 2 度同じメニューを選ぶことができない点が厄介です。
Android SDK Manager を起動したい場合

  • メニューから Android Emulator Manager を選択します。
  • Android Emulator Manager が灰色になりますが、Android SDK Manager はブラックです。
  • メニューから Android SDK Manager を選択します。

これで、Android SDK Manager が起動し、Android Emulator Manager もブラックになります。

Android Emulator Manager を起動したい場合

  • 前述の Android SDK Manager と Android Emulator Manager を入れ替えて操作します。

JXUG Xamarin もくもく会 東京 4月 を開催しました。

■ JXUG Xamarin もくもく会 東京

JXUG Xamarin もくもく会 東京 4月 を開催しました。

Xamarin もくもく会 は もくもくしたり、情報交換したりする会です。
今月は隠れ家的な雰囲気でひっそりと、開催。たまにはこういう雰囲気もありですよね。

f:id:rksoftware:20180429094839j:plain

■ 目指す勉強会スタイル

私の主催する他の会と共通なのですが、世界一敷居の低い勉強会を目指しています。
何か聞きたいことがある場合は、聞く相手を決めずに独り言のようにつぶやくと誰かが拾ってくれる、そんなスタイルでやっています。

不定期ではありますが、ぼちぼち開催していきますので、ご興味があれば是非参加してみてください。

Visual Studio の 15.6.7 がリリースされました

前回のアップデートから 16 日。約半月ぶりですが Visual Studio の 15.6.7 がリリースされました。
またペースが落ちて安定してきたようですね。

相変わらず日本語ページは遅いので、最新のリリースは英語版を参照するのがおすすめです。

■ 更新内容

今回も更新内容は少ないです。

  • Git 操作のレスポンスが、more responsive。つまりいい感じになったそうです。
  • 大きなソリューションで /debug:fastlink 使用時のデバッグも、ヒープメモリ使用量が 30%、レイテンシも改善。つまりいい感じになったそうです。
  • C++ のコンパイラのバグが 3 件解消したとのことです。ここについては、すみません。C++ を完全に理解したわけではないので件数だけ書いておきます。
  • Java の界隈でいろいろあって、JDK の入手が困難になる問題を解消するため、以前のバージョンで Visual Studio のインストーラーで一緒にインストールできるようになっています。この一緒にインストールされる Java が最新の Java 8 になった。ということのようですが、この項目もちょっと英ペではないので不安です。

今回は、あまり急いでアップデートすることもないかもしれませんが、一般的な日本の職場ではそろそろゴールデンウィークです。連休の間にアップデートしてしまいましょう。

■ 更新方法

Visual Studio の更新はメニューの ツール > ツールと機能を取得 で開くインストーラーから行えます。

秋葉原 C# もくもく会 #36 勉強会を開催しました

■ C# もくもく会

C# もくもく会 #36 を開催しました。

C# もくもく会 は東京の秋葉原で毎週木曜日に開催している .NET 系の勉強会です。
もくもく自習を基本とし、分からないことを教えあったり情報共有したりしている会です。 定期開催していますので、お時間のある時に遊びに来ていただければと思います。
ちょっと詰まった時、ネット上で聞くのははずかしいなぁ、という課題のできた時などにも思い出していただけると嬉しいです。

f:id:rksoftware:20180426200553j:plain

最近は10名前後の方が集まっていただけるようになってきました。
C# をこれから始めるという方や、はじめたばかりの方、ステップアップを考えている方、C# と様々なかかわり方の方が集まっています。
特に C# で課題をお持ちでなくても是非遊びに来てください。

■ 目指す勉強会スタイル

世界一敷居の低い勉強会を目指しています。
何か聞きたいことがある場合は、聞く相手を決めずに独り言のようにつぶやくと誰かが拾ってくれる、そんなスタイルでやっています。

■ 次回予定

次回は祝日が挟まるので一週飛ばして 2018/05/10 に開催予定です。

C# に関心のある方、是非遊びに来てください。

[クラシッデスクトップアプリ]Xamarin.Forms。WPF のコントロールのマッピングを見てみた

Xamarin.Forms のプレビュー版ではクラシックデスクトップアプリが作れるので試してみています。
まずは一通りコントロールを表示してそれぞれ WPF のどのコントロールにマッピングされるのかを見てみた話です。

まず Xamarin.Forms でクラシックデスクトップアプリの作り方から、という方は次の記事が参考になるかもしれません。

■ 確認方法

クラシックデスクトップアプリでは、UI の確認は非常に簡単です。
何もしなくても、標準で確認のための機能が備わっています。

※WPF のデバッグの様子
f:id:rksoftware:20180422030412j:plain

この画面上端中央の黒いコントロール。
皆が大嫌いな『WPF を初めて触るベテランエンジニア皆が最初に「こいつを消す方法」を聞いてくる非常に有益なツール』です。
日本語では XAML の UI デバッグツール というらしいです。
このツールをクリックするだけで、実際に生成されている UI コントロールやプロパティを確認することができます。

とても便利!

※コントロールが表示されるビュー

このツールのおかげで、謎の見えないコントロールにクリックが吸われたり、コントロールがどこか見えない場所に隠れたりといった悩みとは無縁です。
この便利ツールを使って、実際に表示されているコントロールを確認するだけでマッピングが確認できます。

■ 確認結果

Xamarin.Forms 使われるクラス (スーパークラス)
StackLayout Xamarin.Forms.Platform.WPF.FormsPanel Panel
AbsoluteLayout Xamarin.Forms.Platform.WPF.FormsPanel Panel
RelativeLayout Xamarin.Forms.Platform.WPF.FormsPanel Panel
Grid Xamarin.Forms.Platform.WPF.FormsPanel Panel
ContentView Xamarin.Forms.Platform.WPF.FormsPanel Panel
ScrollView ScrollViewer
Frame Border
ActivityIndicator ProgressBar
BoxView System.Windows.Shapes.Rectangle
Button Button
DatePicker DatePicker
Editor TextBox
Entry Xamarin.Forms.Platform.WPF.FormsTextBox TextBox
Image Image
Label TextBlock
ListView ListView
Map Microsoft.Maps.MapControl.Map
OpenGLView System.Windows.Forms.Integration.WindowsFormsHost -> OpenTK.GLControl UserControl
Picker ComboBox
ProgressBar ProgressBar
SearchBar Xamarin.Forms.Platform.WPF.FormsTextBox TextBox
Slider Slider
Stepper <Border><StackPanel><Button/><Button/></StackPanel></Border>
Switch CheckBox
TableView ListView
TimePicker Xamarin.Forms.Platform.WPF.FormsTimePicker TextBox
WebView WebBrowser
EntryCell Xamarin.Forms.Platform.WPF.FormsTextBox TextBox
ImageCell <Grid><Image/><TextBlock/><TextBlock/></Grid>
SwitchCell <Grid><TextBlock/><CheckBox/></Grid>
TextCell <StackPanel><TextBlock/><TextBlock/></StackPanel>
ViewCell Xamarin.Forms.Platform.WPF.CellControl ContentControl

そのままなマッピングもありますが、StackLayout が独自に定義した Panel のサブクラスだったりと結構いろいろありますね。
次はそれらの独自コントロールがどのような機能拡張がされているか確認してみたいところですが、今回はここまで。

[クラシックデスクトップアプリ] Xamarin.Forms で MAP コントロールを使う

Xamarin.Forms では MAP コントロールも扱えますが、少し注意が必要です。
使い方としては NuGet で Xamarin.Forms.Maps を取得してよしなにしてやればよいだけです。

しかし、そこではまってしまいました。

■ はまったポイント

NuGet パッケージは、Xamarin.Forms.Maps です。
そこで間違えて Xamarin.Forms.Map と最後の s を抜いて検索をしていました。
きちんと最後の s まで合ってないと検索で出てこないんですね...。

適当にではなく、きちんと調べて確実にコピペしていれば問題ない点ですが、私と同じ失敗をする方がいらっしゃるかもしれませんので、恥を忍んでメモしておきます。

■ WPF の場合

Xamarin.Forms.WPF のばあいはさらに、NuGet から Xamarin.Forms.Maps.WPF も追加する必要があります。
※Map コントロールを使用するしないにかかわらず、Xamarin.Forms.WPF の場合にはさらに Xamarin.Forms.Platform.WPF

■ その後の手順

NuGet からパッケージを取得しただけでは、画面に地図は出てきません。もう少し手順が必要です。

■ FormsMaps.Init() メソッド

まず、起動時のコードでいったん Xamarin.Forms.Maps 内の Init メソッドを呼びます。
これを書いておかないと、 Xamarin.Forms.WPF では マップが表示されません。

■ XAML の xmlns の追加

MAP コントロールは、独自のアセンブリ、名前空間になっているため、XAML で使用する場合、名前空間の指定をする必要があります。
xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
コントロールを使うところでは、次のようになります。 <maps:Map/>
全体としては次のようになります。
この例では、プロジェクト名を XWpfV3 として作成しています。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
 xmlns:local="clr-namespace:XWpfV3"
 xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
 x:Class="XWpfV3.MainPage"
 NavigationPage.HasNavigationBar="False">
  <StackLayout>
    <maps:Map/>

■ 実行

このように bing マップが表示されます。

f:id:rksoftware:20180420013658j:plain

■ NuGet パッケージ

補足として、WPF プロジェクトの NuGet は次のようになりました。

f:id:rksoftware:20180420013713j:plain
※執筆時

WPF はある視点で見れば現役人気最高のプラットフォームです。
簡単に試せますので、ぜひ試してみてください。

秋葉原 C# もくもく会 #35 勉強会を開催しました

■ C# もくもく会

C# もくもく会 #35 を開催しました。

C# もくもく会 は東京の秋葉原で毎週木曜日に開催している .NET 系の勉強会です。
もくもく自習を基本とし、分からないことを教えあったり情報共有したりしている会です。 定期開催していますので、お時間のある時に遊びに来ていただければと思います。
ちょっと詰まった時、ネット上で聞くのははずかしいなぁ、という課題のできた時などにも思い出していただけると嬉しいです。

f:id:rksoftware:20180419201546j:plain

最近は10名前後の方が集まっていただけるようになってきました。
今週も10名と大変多くの方にご参加いただきにぎやかになってきました。
特に C# で課題をお持ちでなくても是非遊びに来てください。

■ 目指す勉強会スタイル

世界一敷居の低い勉強会を目指しています。
何か聞きたいことがある場合は、聞く相手を決めずに独り言のようにつぶやくと誰かが拾ってくれる、そんなスタイルでやっています。

■ 次回予定

次回は 2018/04/26 に開催予定です。

C# に関心のある方、是非遊びに来てください。