かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Xamarin

Xamarin.FormsでMVVM Light ToolkitとReactivePropertyを使ってみた

Prism.Mvvmのほうが好みなんですが、こいつがSilverlight for Windows Phone 8をサポートしないので、SL for WP8もサポートしてる(すごいよね…)MVVM Light Toolkitを試してみました。 ViewModelLocatorの作成 SimpleIoCというDIコンテナがついてるけど、個…

Xamarin.Androidでテーマを変更する

assemblyにApplicationAttributeをつけて、Themeプロパティを設定するらしい。 Lolipopのマテリアルの白にしたいなら、こんな感じ。 [assembly: Application(Icon = "@drawable/bird", Theme = "@android:style/Theme.Material.Light")] ここらへんのテーマ…

Xamarin.FormsのNavigationPageのアイコンの変え方(Android)

以前に、こんな記事を書きました。 Xamarin.FormsのNavigationPageのアイコンの変え方が知りたい - かずきのBlog@hatena Xamarin.FormsのNavigationPageのアイコンの変え方が知りたい - かずきのBlog@hatena この記事では、アイコンの表示位置がおかしくなる…

Xamarin.FormsのNavigationPageのアイコンの変え方が知りたい

続き書きました Xamarin.FormsのNavigationPageのアイコンの変え方(Android) - かずきのBlog@hatena Xamarin.FormsのNavigationPageのアイコンの変え方(Android) - かずきのBlog@hatena 本文 デフォルトのXamarinのアイコンじゃなくて独自アイコンにしよ…

Xamarin.Formsにインテリセンスがきた!!

ソファーでうたたねしてて目覚めたらこんな記事が! 【速報】Visual Studio でも Xamarin.Forms の XAML で IntelliSence が使えるように!(3rd Party の拡張機能ですが) - Xamarin 日本語情報 【速報】Visual Studio でも Xamarin.Forms の XAML で Intelli…

Xamarin.FormsでPrism.MvvmとReactivePropertyを使ったサンプル

ということで、コードレシピにアップしました。疲れた疲れた。 Xamarin.FormsでPrism.MvvmとReactivePropertyを使ったサンプル in C# for Visual Studio 2013 Xamarin.FormsでPrism.MvvmとReactivePropertyを使ったサンプル in C# for Visual Studio 2013

Xamarin.FormsでPrism.Mvvmを使う

Prism.Mvvmは非常にシンプルなMVVMをサポートするライブラリです。Xamarin.Formsでも使わない手はない!ということで使ってみました。 環境設定 Windows Phoneのプロジェクトを消します。日本で出てないし、Prism.Mvvmサポートしてないプラットフォームなの…

コレクション初期化子に渡すオブジェクトをデリゲートを使って組み立てたい

よくわからないタイトルになってしまいましたが、Xamarin.Forms使おうとして出てきた問題です。 Xamarin.Formsは、現時点ではXAMLのデザイナとか提供されてないので、長い目で見るとXAMLで書いておいたほうがいいのは確かなんですが、勉強するためにインテリ…

Xamarin AndroidでIListやObservableCollectionをListViewに表示する

先日以下のような記事を書きました。 Xamarin.Android + ReactivePropertyでListViewを使う - かずきのBlog@hatena Xamarin.Android + ReactivePropertyでListViewを使う - かずきのBlog@hatena 別にReactivePropertyのコレクションじゃなくて普通のコレクシ…

Xamarin.Android + ReactivePropertyでListViewを使う

特にReactivePropertyでサポートはしてないので自前でやるっきゃないです!ということでこういうクラスを書いてみました。 ReadOnlyReactiveCollection型をIListAdapterに変換するコードです。 public static class ReadOnlyCollectionExtensions { /// <summary> ///</summary>…

Xamarin.AndroidでDialogFragmentを使う

時代はダイアログもフラグメント…ということでやってみました。簡単なアラートダイアログを出して、押したボタンに応じてトーストを表示してます。 using Android.App; using Android.Content; using Android.OS; using Android.Widget; namespace DialogFra…

Xamarin.AndroidでFragment使ってみた

時代はFragmentらしいので、使ってみました。MainActivityはFragmentをホストするためのFrameLayoutを置いてるだけのシンプル構造。 Main.axml

Xamarin.Androidで通知を出す

Notificationを出す最小限のコードは以下の通り。BlankAppを作った時のOnCreateあたりの処理を以下のコードに変えたら動きます。 protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resour…

Xamarin.AndroidでContentProviderを実装する

SQLiteの使い方がわかったら次はContentProviderですよね。 ということで、SQLの部分はさくっと実装。 using Android.Content; using Android.Database.Sqlite; namespace ContentProviderSample { public class PeopleDatabase : SQLiteOpenHelper { privat…

Xamarin.AndroidでSQLiteを使う

XamarinというかAndroidでSQLiteを使う時は、SQLiteOpenHelperというクラスを継承して使います。 こいつのコンストラクタは、コンテキスト、データベース名、カーソルファクトリ、データベースのバージョンという4つの引数を渡すのが一般的です。カーソルフ…

Xamarin.Androidで、とりあえずアプリのデータが消えないようにする方法

最近はそうでもないのかもしれませんが、Androidに限らずモバイル向けアプリってメモリ節約のために裏側にまわるといつ落ちてもおかしくない状況になるものですよね。 そんな状態に対応する方法として、Androidは、ActivityのOnSaveInstanceStateメソッドを…

Xamarin.Androidでデバッグログを出す方法

Log.Debugを使います。例えば新規作成したひな形のボタンクリックのイベントハンドラを以下のように書き換えて button.Click += (_, __) => { button.Text = string.Format(this.GetString(Resource.String.ClickMessage), count++); Log.Debug("App6", "{0}…

Xamarin.AndroidでHello worldというかひな形プログラムを見てみる

長らくReactivePropertyの検証用にしか使ってなかったXamarinですが、Genymotionを入れて現実的な速さでAndroidのエミュレータが動くようになったので、ちょいと試してみようと思います。 Xamarinを入れるとVisual StudioでAndroidのプロジェクトが作れます…

XamarinのAndroidアプリでReactivePropertyを使う

最近書いてるReactivePropertyですが、Xamarinにも対応しています。なので、簡単にカウントアップするサンプル(ひな形で生成されるやつ)を作ってみようと思います。 Xamarinのバージョン 使用しているXamarinのバージョンは5.0(build784)です。XamarinのVi…

BaseAdapterの継承したクラスの作り方がよくわからない

public class MyAdapter : BaseAdapter<string> { private List<string> l = new List<string>(); private Context context; public MyAdapter(Context context) { this.context = context; } public override string this[int position] { get { return this.l[position]; } } publi</string></string></string>…

Xamarinに感じてること

ここ1年くらいDLして使えるようになってたのですが、なかなか使ってませんでした。理由としては以下のような感じです。 iOSアプリの開発にはMacが必要…。 Androidアプリの開発は、エミュレータが遅すぎて使いものにならないので実機がほぼ必須 早いエミュレ…