Skip to content

{ Monthly Archives } 2月 2012

わんくま同盟 大阪勉強会 #47でしゃべってきました

2/25に大阪で開催された「わんくま同盟 大阪勉強会 #47」でセッションしてきました。「HTML5ネタを何かやってよ!」ってお願いをされていたのですが、そこは海のように広いHTML5の世界。50分のセッションでは収拾がつかないと思い、今回もSencha Touchを担いでいきました。資料は以下です。
Sencha TouchでHTML5アプリを作ってみる
View more presentations from Tomonori Ohba.

2ヶ月ぶりのセッションで喋りの感覚が鈍ってました(汗 しゃべる内容の順番が一部前後したりして聞き苦しかったところがあると思います。すみません。。。次はもっと分かりやすく伝えれるように頑張ります。
そういえば、、、お昼休みの直前に急遽LTセッションの依頼があり、LT資料を即席で作って喋りましたb 「楽しいアプリ制作の会」の宣伝です。
わんくま大阪47 LT
View more PowerPoint from Tomonori Ohba

こっちは笑いを取れたので満足ですw

Androidカスタムコンポーネントのススメ

はじめに
Androidアプリケーションの機能実装のアプローチとして、コンポーネント(Component / Control、Widgetと称すこともあります)を拡張していく方法があります。特にコンポーネントの振る舞いに紐づく機能は、それをActivityクラスに実装するよりコンポーネントに実装する方が、全体的にシンプルなコードになることがあります。
例として、必須入力チェック機能付きEditTextコンポーネントを作成してみます。
※いつもの如くeclipseは英語版のままなので、適宜日本語に置き換えてください

開発手順

Androidプロジェクトを作成します。プロジェクト名は「CustomComponent」、パッケージ名は「jp.tworks.android.customcomponent」としました。パッケージ名は後に使いますので覚えておきましょう。

EditTextに必須入力チェック機能を付けるために、必要な属性を考えてみます。EditTextが必須チェックを行うか否かのフラグ(boolean)と必須チェックエラーを検出したときのエラーメッセージ(String)があれば良さそうですね。

さっそく属性を定義します。/res/values/attrs.xml を追加します。
/res/values からコンテキストメニューを開き、[New] –> [Other...] を選択します。

Android XML Values Fileを選択します。

ファイル名に「attrs.xml」を入力したらFinishをクリックします。

attrs.xmlを以下のように編集します。

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<resources>
 
<declare-styleable name="ValidEditText">
<attr name="required" format="boolean" />
<attr name="required_message" format="string" />
</declare-styleable>
 
</resources>

declare-styleable name=”xxxxxxxx” のxxxxxxxxは、これから作成するカスタムコンポーネントのクラス名を指定しておきましょう。

次にカスタムコンポーネントのクラスを作成します。プロジェクトにクラスを追加します。srcからコンテキストメニューを開き「New」–>「Class」をクリックします。

Package名を「jp.tworks.android.customcomponent.widget」、クラス名を「ValidEditText」、継承元クラスをAndroid標準の「android.widget.EditText」としました。

ValidEditTextクラスのコンストラクタを定義しましょう。widgetには3タイプのコンストラクタがありますが、ここではそのうちの1つ(引数が2つのバージョン)を定義します。

1
2
3
4
5
6
7
public class ValidEditText extends EditText {
 
public ValidEditText(Context [...]

Tagged

双方向Bindingが可能なAndroid Binding v0.45を使ってみた

前置き
Android Bindingが0.45にバージョンアップしていたので試してみたところ、何と双方向Bindingに対応しているではないですか!…とTwitterにつぶやいたら@nakajiに「blogに書け!」と言われたので、纏めてみようと思います。
はじめに
Android Bindingって何?ですが、一言で言うと「ViewとModel層を祖結合にしてくれるライブラリ」ってところです。これを使うとどう素敵になるの?という前置きは、@nakajiがコチラに書かれていますのでご参照ください。@nakajiの記事にもある通り、昔はView–>Modelへの片方向Bindingのみがサポートされていましたが、v0.45ではView<–>Modelの双方向Bindingが実現出来ていました。スバ、ラッシィ。
事前準備

Androidの開発環境(eclipse+Android SDK)を整えておく
Android Bindingのサイトから android-binding-0.45-update.jar をダウンロードしておく

開発手順

Androidプロジェクトを作成します。AndroidBindingSampleと名付けました。

事前にダウンロードしておいた android-binding-0.45-update.jar をプロジェクトの外部ライブラリとして参照追加します。プロジェクトの「Property」ダイアログを開き「Java Build Path」を選択し「Add External JARs…」ボタンを押下します。

android-binding-0.45-update.jar を選択します。

プロジェクトに参照が追加されました。

次に画面を作り…たいのですが、その準備として、画面に表示する文字情報をリソース(string.xml)に定義します。

<!–?xml version="1.0" encoding="utf-8"?–>
 
Android Binding
Enter your Height
Enter your Weight
Calc BMI

画面を作りましょう。…とその前に何のアプリケーションを作るかを決めていませんでした。@nakajiの記事と比較しやすいように、入力された身長と体重からBMI値を計算し表示するアプリケーションにします。画面に身長(EditText)、体重(EditText)、計算ボタン(Button)、BMI計算結果(TextView)を貼り付けます。貼り付けついでに、EditText:hintプロパティとButton:textプロパティに、string.xmlで定義した文字列を設定しておきます。

layout.xmlの内容はこんな感じです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:binding="http://www.gueei.com/android-binding/"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
[...]

Tagged

「はじめてのWindows Phoneプログラミング」執筆しました

参考書「はじめてのWindows Phoneプログラミング」を執筆しました。蜜葉たんと共同執筆です。

http://www.kohgakusha.co.jp/books/detail/978-4-7775-1661-2

タイトルの通り、これから”はじめて”Windows Phoneプログラミングをする方向けの内容になっています。
アプリを出している人が読む本じゃないんだからねっ!
さておき、立ち読みして良かったら買ってくださいねー。

Tagged