Weitere ähnliche Inhalte Ähnlich wie つぶLT20121215 (20) つぶLT201212151. C# と Android と+@
第12回 つ部 ミーティング兼忘年会
昼の部 LT 2012.12.15
@whale_shark じんべえざめ
1
3. Javaと何がちがうの?
• 型推論
– var x = new List<Human>();
• 自動実装プロパティ
– class Human { public Age {get; set;} …}
• ラムダ式
– button.Click += (sender, e) => { <処理> };
• LINQ
– var y = from p in x where p.Age < 20 select x.Name
etc... 3
4. 何が良くなるの?
• 多機能
– かゆいところに届く機能が多い
• AndroidをC#で書き直したら早くなった
(もうプロジェクト終了したけど…
– http://tatete.blogspot.jp/2012/05/android-osc7-
xobotoos.html
4
5. C# で Androidアプリをつくるには
• IDEで開発するなら
– WindowsならVisual Stadioをそれ以外ならMonoDevelop
をいれましょう
– http://monodevelop.com/
• Mono for Android
– C#でAndroidアプリを開発できるライブラリ
– シミュレータは無料
実機にいれる場合は$399~
– http://xamarin.com/monoforandroid
5
7. 比較
Java C#
• メインアクティビティの • メインアクティビティの
ステップ数:117 ステップ数:88
7
8. ステップ数が減った!
• ラムダ式とLINQ
– Javaだと
for(SampleDataModel listItem : listItems)
if(listItem.getAddress().contains(“県”))
selectedItems.add(listItems.getName());
– C#だと
selectedItems = items
.Where(item => item.Address.Contains(“県”))
.Select(item => item.Name)
8
9. リスナーの設定が簡単
• イベントリスナーはJavaだと冗長 (不適切かも)
– Javaでは
list.setOnItemClickListener(new OnItemClickListner(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
<処理>
}
});
– C#では
list.ItemClick += (sender, e) => {
<処理>
}; 9