VBでAndroidアプリを作りたい

タグの編集
投稿者 win  (社会人) 投稿日時 2016/4/19 09:45:34
いつも、ありがとうございます。
さて、自作のWindowsアプリをAndroidアプリにできれば、と思っています。
https://blogs.msdn.microsoft.com/visualstudio_jpn/2015/08/18/iosandroid-windows-10/
によると、VBでAndroidアプリを作れそうなので、
Visual Studio2015 Communityをインストールし、新しいプロジェクト->Windows->ユニバーサルを選んで、updateをインストールし、App1を作成しました。
簡単な、ボタンを押して、ラベルに、文字を出そうと思います。
以下の点
まず、最初に、フォームらしきものは出てこないのですが、どのようにして、アプリのデザイン画面を出して、コントロールを配置するのでしょうか?

投稿者 とくま  (社会人) 投稿日時 2016/4/19 10:31:46
>さて、自作のWindowsアプリをAndroidアプリにできれば、と思っています。
>https://blogs.msdn.microsoft.com/visualstudio_jpn/2015/08/18/iosandroid-windows-10/
参照アドレスの記事をざっと読んだ感じでは逆の事を言っているように感じますが。。。

WindowsストアアプリはOSがWindows(8.x~)である必要がありますよね?
Androidでは基本的には動かないはずです。(リモートをはじめとして裏技的に頑張ってる人もいるみたいなので)
で、Androidアプリ開発者にWindowsストアアプリ開発しませんか?と言っている
ように聞こえました。

[Windowsストアアプリ開発入門]
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/app/winappprimer_index.html
投稿者 YuO  (社会人) 投稿日時 2016/4/19 12:23:13
Windows Universal Applicationを作るとなると,UIはXAMLで書くことになります。
空のUWPのプロジェクトを作ったのであれば、MainPage.xamlが最初のUIページになります。

WPFやSilverlightに慣れていれば開発の基本的な部分で困ることはないと思いますが、
それらに慣れていないのであれば、WinFormsからWPFへの移植を先にした方がよいかもしれません。
MVVMなどに慣れていないと、厳しい面も多いので。

一応、UWP化にするだけであれば、
・Desktop App Converter Preview (Project Centennial)
https://www.microsoft.com/en-us/download/details.aspx?id=51691 
を使って変換できるかもしれません。ただし、UWP化するだけで、他のデバイスで動くようになるわけではないですが。


で、表題通り「VBでAndroidアプリを作りたい」というのであれば,Xamarinを使うことで作ることができます。
MSがXamarin社を買収した結果,BUILD 2016にてXamarinが無償で使えるようになりました。

https://www.xamarin.com → https://www.xamarin.com/download で,必要事項を入力し,
[I already have Visual Studio installed]にチェックを入れるとXamarinだけがダウンロードできます。
投稿者 win  (社会人) 投稿日時 2016/4/19 15:28:44
VS2015 Communityで、普通のデスクトップアプリを作成を試みましたが、今まで使用してきた、VB2013Proなどと、インターフェースがかわり、YuOさんのおっしゃるように、WPF(Windows Presentation Foundation)を作成することになり、勝手が違います。PictureBoxがなかったり、ViewBoxは、枠の設定はどこにあるのか、と。唯一の日本語の手掛かりが
https://msdn.microsoft.com/ja-jp/library/bb531270(v=vs.90).aspx
かと。
何か、学習材料になるサイトがあれば、教えてください。 
投稿者 win  (社会人) 投稿日時 2016/4/19 16:53:53
なんとか、ボタンクリックで、textboxに文字を表示させることができました。
https://msdn.microsoft.com/ja-jp/library/ms750559(v=vs.110).aspx
には、旧のコントロールとの比較があり、その中にまた、詳しい記述がありますね。
PictureBoxはImageに変わっておりました。ただ、そのImageコントロールが、プロパティがいまいち、分からなくて、枠の表示ができなくて、困っています。
他は、色々で、*.xaml.vbで、VBコードで、XAMLが構築できるのでは、と思います。ボタンなんか、開店した状態で、設定できたりしますね。おそらく、AndroidとWindows10の両方で動くソフトが開発できる環境が、VS2015Communityで、実現しているんだと思います。詳しい、日本語解説書が、欲しいですね。
投稿者 YuO  (社会人) 投稿日時 2016/4/19 22:32:32
> VS2015 Communityで、普通のデスクトップアプリを作成を試みましたが、今まで使用してきた、VB2013Proなどと、インターフェースがかわり、YuOさんのおっしゃるように、WPF(Windows Presentation Foundation)を作成することになり、勝手が違います。
勘違いされているようですが、Visaul StudioでWPFアプリケーションを正式にサポートしたのはVS 2008からです。
そして,VS 2015においても,WinFormsはサポートされています。
# VS 2005用のWPF/WCF拡張のCTPはありましたが、正式版は出ませんでした。

> 何か、学習材料になるサイトがあれば、教えてください。  
googleにて「WPF 入門」で検索すると先頭に出てくる,岩永氏の「連載:WPF入門」とか,
id:okazuki 氏のBlogでの連載やそのPDFとかでしょうか。

・@IT > Insider.NET > 業務アプリInsider > 連載:WPF入門
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/app/introwpf_index.html
・かずきのBlog@hatena > WPF4.5
http://blog.okazuki.jp/archive/category/WPF4.5
・かずきのBlog@hatena - WPF 4.5 入門のSlideShareの使われ方想定
http://blog.okazuki.jp/entry/2015/01/22/194729

id:okazuki 氏の記事はC#ですが,VBに読み替えればそのまま使えるはずです。
WPFというUIフレームワークを使う上でC#とVBの違いがあるわけではないので。

ただし、WPFの入門のうち、古い物はMVVMが確立する以前の記事になるため、参考にするならMVVMに触れている記事の方がよいでしょう。
# 少なくとも、現時点ではMVVM相当を利用するのがWPFにおける一般的な開発手法。

> 他は、色々で、*.xaml.vbで、VBコードで、XAMLが構築できるのでは、と思います。
コードビハインド等でコントロールを追加することは少ないですね。

だいたい
・IsVisibleあたりへのバインディング (with BooleanToVisiblityConverter)
・ItemsControlへのバインディング + DataTemplate
・ContentControlへのバインディング + DataTemplate
・DataTrigger/Trigger
などで間に合うので。
# DataTemplateによる差し替えが非常に便利。

> おそらく、AndroidとWindows10の両方で動くソフトが開発できる環境が、VS2015Communityで、実現しているんだと思います。
WPFやUWPでは両方で動くソフトウェアは作れません。
Xamarin.Formsを使ったり、Portable Class LibrayとUWP+Xamarin.Androidのような作り方をする必要があります。
投稿者 とくま  (社会人) 投稿日時 2016/4/20 10:33:54
手元にあるVS2010を見てみましたが、新規プロジェクトで
・VisualBasic→Windowsフォームアプリケーション
・VisualBasic→WPFアプリケーション
を選べるので、
VBとVSの違いの話ではないし、2013Proと2015Community
の違いでもなくWPFが開発できる環境はずっと提供されて
いたという事ですね。

そしてこれらはWindows上で動くアプリの開発環境。
Android用はまた別の話という事ですね。

Androidという目的が変わらないならXamarinが必須のよう
ですが、C#で書く必要があるようですね。
(サイトトップにそう書いてあっただけで、VBに対応して
いるかは調べていませんが)

ここで思うのは、WPFを学びたいと思うなら今の方向で
良いと思いますが、Androidアプリの開発だけを目的とする
なら、Android Studioという選択肢もあるのではと。
(私がHelloWorldしてた時代はEclipseから話が始まって
ましたが最早時代遅れらしい。。。)
というのも、Windowsフォームアプリケーションの延長で
Androidアプリを作ると少し危険性を伴うからです。
アクティビティのライフサイクルとか、根本的な概念から
違うので、Windowsフォームとは全く別の開発手順を学ぶ
意識でないと失敗します。
失敗してから学ぶのならいいのですが、失敗を失敗と気付か
ない可能性も結構あって、Androidの開発ガイドラインとか
読んでおいた方がいいと思うからです。

私はWindowsフォームアプリケーションの感覚で開発して
メモリを食いつぶす、一部のデータのみ消える、アプリが
何も動かなくなる。。。といった事を一通りやらかしました。
まぁ、ちゃんとテストしてれば気付くし。。。やらかして
覚えれば。。。いいかなぁ(?)
投稿者 win  (社会人) 投稿日時 2016/4/20 11:08:02
色々、ありがとうございました。
私も、ネットで調べたり、WindowsのコードをWPFでは、どうなるのかをやってみましたが、なかなか、すぐには、理解できませんね。
このVB中学校での実習でオセロをつくるというのを、WPFでやってみたいのですが、、。
しかし、Androidアプリは、難しいということですね。現時点では、VBでのトライは、やめようと思います。ありがとうございました。
投稿者 秘密  () 投稿日時 2026/4/24 08:35:55
秘密です