New Project
Multiplatform - App - Xamarim.Forms - Blank Forms App
Next
App Name: HelloXamarinForms
Organization Identifier: com.hiroyuki
Target Platform: iOS
Use .NET Standard
Use git
Info.plistを開き、
BundleIdentifier: com.hiroyuki.MyNewAppに変更(先に、Xcodeでcom.hiroyuki.MyNewAppで実行)
Manual Provisioning
Bundle Signing Optionsを開き、Signing Identityを、Developer:hiroyukiに変更
Deployment Targetを13.1に変更
実行すると、iPhone Xsで表示できた。
Xperiaで実行するには、API Level を 17にする。
SQL Serverにアクセス
SQL Serverにアクセス。
https://codezine.jp/article/detail/10702
cd github
git clone https://github.com/biac/codezine
UwpForefront/UF03/UF03.slnをダブルクリックして開く。
Xamarin.FormsSample.Androidを右クリックして、Startup Projectに設定。
Sony SO-04Eを選択して、実行。
SQL ServerがないためVisualStudioにExceptionが表示される。
UF03/Northwind/instnwnd.sql DB作成。Visual Studioでは、UF03/SolutionItem/instnwnd.sql
UF03StdLib/Northwind.cs DB接続先
66行目 da.Fill コメントアウトで、DBに接続しないので画面(ヘッダのみ)が表示される
MainPage.xaml (画面デザイン)
HelloXamarinFomrs/Getting Started
MainPage.xamlをダブルクリックで左にソースが表示
左下のPreview、Splitで、プレビュー、スプリット表示
ソースを変更すると、プレビュー画面が更新される
commandではなく、control + c, v, sでコピー、ペースト、保存
Label
backと入力すると、BackgroudColorが候補に表示される。Enterで選択。色の候補が表示される
BackgroundColorの値で、bと入力するとBlueなどの候補が表示される
HeightRequestで高さを設定
LabelをEntryに変更すると、テキスト入力エリアになる参考
名前をつけるには、x:Name=
Buttonに変更すると、ボタンになる。Clicked=でイベント追加。
DatePickerを追加すると、日付選択
リストビューを追加するには、ListView
MainPage.xaml.csに追加。this.listView.ItemsSource = Enumerable.Range(0, 100).Select(n => $"item-{n}");
複数の項目から選択するには、Picker
MainPage.xaml.csにListView1.ItemSouce = dt.Rows
XamarinFormsSample.Android/Properties/AndroidMainfest.xmlでAndroid versionを設定
ボタンクリックイベントを追加
ボタンクリックイベントを追加するには、
MainPage.xamlのButtonにClicked="Handle_Clicked"を追加し、MainPage.xaml.csでEnterでイベント挿入。
ボタンクリック時にラベルのテキストを変更するには、 ラベルにx:Nameで名前(lblHello)をつける。
以下をMainPage.xamlに追加
以下をMainPage.xaml.csに追加
void OnButtonClicked(object sender, EventArgs args)
{
lblHello.txt = "Clicked!!!";
}
Xamarin.Forms のボタン - Xamarin | Microsoft Docs
Xamarin.Forms Button Tutorial - Xamarin | Microsoft Docs
Xamarin.Forms入門 キホンのキ - イベント - あるSEのつぶやき・改
DbDataAdapter
UF03StdLib/Northwind.csのDbDataAdapterをF12で定義を見ると、
SelectCommand他の使えるメソッドを確認できる。
ExecuteReader()
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.common.dbcommand?view=netframework-4.7.2
Dbcommand parameter
ADO.NET入門記-017 (DbParameterオブジェクトを再利用する際の注意点)(DbParameter, DbCommand) - いろいろ備忘録日記
Manage Android Device
Manage Android DeviceでAPI19のDeviceを追加可能
エミュレータで起動できた。
キーボードショートカット
command + w で閉じる
command + Shift + f でソリューション全体検索、現在のプロジェクト検索など
command + b Build All
F12 定義へ移動
F5 実行
F10 ステップオーバー
command + shift + p した後、new など入力。
Visual Studio Codeで簡単にショートカットキーを変更する方法 - Qiita
option + z , x, c, a, s, d, q, w, r, t, g
Ω(z), ≈(x), ç(c), å(a), ß(s), ∂(d), œ(q), ∑(w), ´®(r), †(t), ©(g)
SQL Serverを動かす Docker
SQLServerを動かす
MacでMS SQL Serverを動かしてsql-cliや.NET Coreから利用してみる - Qiita
Download Docker Desktop for Mac
Docker Hub
Dockerを起動。少し待つと、$ docker -vが使える。
$ sea npm して、$ b npm でインストール。
$ dotnet new console
複数起動
複数起動
open -n /Applications/Visual\ Studio.app
Visual Studio for Mac 複数起動 - Qiita
リンク
Visual Studio App Center を使用した Xamarin.Forms アプリ開発 - Microsoft Tech Community - 565490
Xamarin.AndroidでActivityとXamarin.Formsを併用するには? - Build Insider
Xamari.Nativeで.NEt Standard 2.0
Xamarin.Formsで画面レイアウトを作るためのレイアウトコントロールの必要最低限 - かずきのBlog@hatena
GitHub - xamarin/xamarin-forms-samples: Sample apps built using the Xamarin.Forms framework
Xamarin Documentation (Xamarin Tutorial)
Visual Studio for Mac Tour
Xamarin Documentation
Xamarin.Forms Namespace Button
DatePicker Class
InputView Class
Label Class
ListVIew Class
参考リンク
Xmarin.Forms 入門ガイド
Xamarin日本語情報
Xamarin.Forms入門
Xamarin.Forms Samples
Xamarin.Forms Quickstart DeepDive
Mobileアプリサンプル
コントロール一覧
コンボボックス Pkcker
日付選択 DatePicker
SQL Serverに直接接続
SQLiteの利用
Xamarin 逆引き
メッセージ表示 DisplayAlert
関連ページ一覧
今から始める
Xamarin概要
materialデザイン
Xamarin.Formsで学ぶMVVM入門 MVVMって何よ?編 | 勝手にオザマリン (MVVMパターンを使う事でUIとロジックの分離が出来る)
Xamarin.Formsを使った感想と困ったことなど(Android中心) - Qiita
FaceAPI
Xamarin.Formsの基本構想と仕組み - Build Insider
[初心者さん・学生さん大歓迎!] Xamarin その1 Advent Calendar 2017 - Qiita
Xamarin.FormsでXAMLと仲良くしたい話 その1 - vaguely
パート 1. XAML 入門 | Xamarin : XLsoft エクセルソフト
【Android】クリックイベントの基本的な実装 - Qiita
テキスト入力エリア Entryを追加
テキスト入力エリアを追加するには、
MainPage.xamlのLabelをEntryに変更。
EntryTest.Text で入力したテキストを取得
Xamarin.Forms Entry Tutorial - Xamarin | Microsoft Docs
ラベル Labelを追加
ラベルを追加するには、
MainPage.xamlにLabelを追加。
Xamarin.Forms Label Tutorial - Xamarin | Microsoft Docs
Xamarin documentation - Xamarin | Microsoft Docs
ポップアップメッセージ表示 DisplayAlert
MainPage.xaml.csに追加
DisplayAlert("タイトル", "メッセージ", "OK");
YesNoメッセージ。右にYes,左にNoが表示。3つめYesを選ぶとtrue,4つめはfalse
async void OnDisplayAlertQuestionButtonClicked(object sender, EventArgs e)
{
bool response = await DisplayAlert("Save?", "Would you like to save your data?", "Yes", "No");
LabelDesc.Text = ("Save data: " + response);
}
Xamarin.Forms Pop-ups Tutorial - Xamarin | Microsoft Docs
Xamarin.Forms アラートダイアログ | Developers.IO
フォームロード時に処理する OnAppearing()
protected override void OnAppearing()
{
base.OnAppearing();
// ここに処理を記述
}
画面遷移
MainPage.xamlにボタンを追加
="を入力した後に、候補から選択すると、メソッドを自動挿入できる。
自動挿入した後、メソッド名を分かりやすい名前に変更。
メソッドはprivate asyncにする。
await this.Navigation.PushModalAsync(new NextPage());を追加する。
(画面のインスタンスを直接書き換える場合、前の画面は破棄される?)
Application.Current.MainPage = new NextPage();
Xamarin.Forms:画面遷移するには?:.NET TIPS - @IT
遷移先の画面を追加
Add-NewFileで、Forms-Forms ContentPage XAMLを追加。
Hello NextPageと表示するように追加。
遷移後の画面に値を渡すには、
コンストラクタの引数として渡す。
Xamarin.FormsでNavigationPageを使ってみる | 勝手にオザマリン
階層ナビゲーション - Xamarin | Microsoft Docs
戻るボタンが押された時
//戻るボタン押下時
protected override bool OnBackButtonPressed()
{
base.OnBackButtonPressed();
DisplayAlert("title", "BackButtonPressed", "OK2");
return true;
}
//画面回転時(NextPage表示時にもメッセージが表示された)
protected override void OnSizeAllocated(double width, double height)
{
base.OnSizeAllocated(Width,Height);
DisplayAlert("title", "OnSizeAllocated", "OK2");
}
Xamarin.Forms の画面(Page)のライフサイクルイベントについて - Qiita
画面の回転を検出する方法 | Xamarin.Forms - ITブログ時々なんでもブログ
ソースで画面作成
var stackLayout = new StackLayout();
stackLayout.Orientation = StackOrientation.Vertical;
stackLayout.Padding = new Thickness(10, 10, 10, 10);
stackLayout.Spacing = 5;
stackLayout.Children.Add(new Label
{
FontSize = 30,
Text = "First",
HeightRequest = 100,
BackgroundColor = Color.FromHex("82DADA"),
});
stackLayout.Children.Add(new Label()
{
FontSize = 30,
Text = "Second",
//VerticalOptions = LayoutOptions.FillAndExpand,//縦方向に余白を最大限に利用する
HeightRequest = 200,
BackgroundColor = Color.FromHex("53CF9E"),
});
stackLayout.Children.Add(new Label()
{
FontSize = 30,
Text = "Third",
HeightRequest = 300,
BackgroundColor = Color.FromHex("EB6379"),
});
stackLayout.Children.Add(new Label()
{
FontSize = 30,
Text = "Forth",
HeightRequest = 400,
BackgroundColor = Color.FromHex("53CF9E"),
});
stackLayout.Children.Add(new Label()
{
FontSize = 30,
Text = "Fifth",
HeightRequest = 500,
BackgroundColor = Color.FromHex("EB6379"),
});
this.Content = stackLayout;
Xamarin.Formsのレイアウト(1) StackLayout - Qiita
minimum Android versionとTarget Android versionの設定
プロジェクトのプロパティを開き、
Build - Android Applicationで設定
minimumとTarget Android versionをAndroid 4.2(API 17)にすると、
Xperiaが選択できるようになった。
System.Data.SqlClientをNuGetで追加。
UF03StdLibに
Add NuGet Packagesで追加。
追加すると、
using System.Data.SqlClient; のエラーが消えた。
LoginServiceを追加
UF03に、Serviceフォルダを追加。
Serviceフォルダに、プロジェクトを追加
.NET Core - Library - .NET Standard Libraryを選択
Class1をLoginServiceに変更。
最後にコミットした状態に戻す
git reset --hard HEAD
[git] 戻したい時よく使っているコマンドまとめ - Qiita
Xamarin.Formsで画面レイアウトを作成
Xamarin.Formsで画面レイアウトを作るためのレイアウトコントロールの必要最低限 - かずきのBlog@hatena
上段にスペースを追加するには
画面の背景色を変更
BackgroundColor = Color.Blue; //White
Xamarin.Froms BackgroundColor - iscene ページ!
目次
Xamarin.Formsで、iPhone XSでHello World表示できた。
Visual Studio for Mac(Xamarin)をインストール
XcodeのBundle Identifier com.hiroyuki.MyNewApp。プロジェクトをダブルクリックして設定を開く。
Xamarinにも設定。Info.plistを開く。
Manual Provisioningを選択。Bundle Signining Optionsをクリックして、
Signing Identityで、Developer:hiroyukiを選択。
Xamarin.iOSを使って、Code-onlyでHello, Worldしてみた。 - Qiita
Using the New Xamarin.Forms Controls Tooltob
Edit Xamarin.Forms XAML using the toolbox - Xamarin | Microsoft Docs
VS2019 for mac previewでは表示された。一度だけドラッグで挿入できたが、その後ドラッグしても反応がない
Visual Studio for Mac インストール
プロジェクト作成(Xamarin.Forms)
SQL Serverにアクセス
MainPage.xaml (画面デザイン)
ボタンクリックイベントを追加
テキストエリア入力 Entryを追加
ラベル Labelを追加
ポップアップメッセージ表示 DisplayAlert
フォームロード時に処理する OnAppearing()
画面遷移
Xamarin.Formsで画面レイアウトを作成
画面の背景色を変更
DbDataAdapter
Manage Android Device
minimum Android versionとTarget Android versionの設定
System.Data.SqlClientをNuGetで追加。
LoginOutServiceを追加
キーボードショートカット
最後にコミットした状態に戻す - xamarinandroid’s blog
SQL Serverを動かす Docker
複数起動
リンク
ローカルでgitを使用した後、gitHubに登録する方法 - Qiita
privateリポジトリにはpushできなかった。publicだとpushできた。