投稿

12月, 2013の投稿を表示しています

2013購入記録

携帯電話 Nokia RM-821 Lumia 920 (1/17) Sony docomo SO-02E XPERIA Z (2/9) HTC KDDI HTL22 HTC J One (8/24) LG LG-D821 Nexus 5 (11/6) AV機器 ONKYO GX-70HD (1/6) ONKYO BASE-V50 B (8/18) Sony NW-M505 (12/7) コンピュータ Dell U2713HM x2 (1/16) NEC AT Aterm WG1800HP (4/6) Logicool Wireless Rechargeable Touchpad t650 (5/18) Microsoft Surface 2 (11/5) カメラ Sony SEL24F18Z (5/29)

Xamarinを使ってみた

イメージ
今更ですが、Xamarinを使ってみました。 Xamarin: Build apps with C# and .NET for iOS, Android, Mac and Windows 簡単にいえば、C#で複数プラットフォームのネイティブアプリをコーディングできる開発環境です。 C#はJavaと比べてコードが簡潔に書ける傾向があるのでわりと魅力的です。 個人利用でサポートなし、アプリサイズ制限ありのSTARTERバージョンは無料です。 インストーラを起動するとJDKやAndroid SDK等の必要なコンポーネントが自動で全てインストールされます。 (もともとインストール済みであればスキップされます) で、とりあえずAndroidでHTTP GETするだけのアプリを書いてみました。 .NetのSystem.Net.HttpWebRequestと、JavaのJava.Net.HttpURLConnectionで指定したURLからHTTP GETするだけのアプリです。 C#だからコードが簡潔 var button = FindViewById<button>(Resource.Id.myButton); button.Click += (sender, e) => { GetDataByHttpWebRequest(input.Text); }; handler = new Handler(ApplicationContext.MainLooper); 何と言ってもイベントハンドラの実装がきれいです。 JavaでsetOnClickListener(new OnClickListener(){... と毎回書くのは実に面倒です。 また、プロパティが使えるのも大きいです。 getApplicationContext().getMainLooper() などと書く必要はありません。 HttpWebRequestとHttpURLConnectionで同じ動作を実装する private void GetDataByHttpURLConnection (string url) { var reqThread = new Thread (() => { var conn