Home

Flashマインドマップ開発ブログ

2009年は色々復活したい

明けましておめでとうございます。

昨年は、人生で初めて病気による入院を経験しました。
病気に関連して、なるべく残業を減らしたり、それまで「自分がやりたいこと」にこだわっていた働き方を少々変更して一歩引いた視点から仕事に取り組んでみたりと、色々な試行錯誤をした年でもありました。

今年こそは体を完治させ、マラソンやバンド活動なども復活させたいと思います。
仕事の上でも、去年よりはもう少しギアを上げていこう。
あとこのブログもちゃんと書く。いいかげんタイトルも変えなくては。

今年一つ目標を挙げるとするならば、英語。去年読み書きは少しは上達しましたが、喋る
シーンとなるとやっぱり苦手意識が出てしまう。
海外で働けるくらいのレベルを目指します。

最高! コクーン歌舞伎 夏祭浪速鑑

コクーン歌舞伎 夏祭浪速鑑を見てきました。
http://www.bunkamura.co.jp/cocoon/lineup/shosai_08_kabuki9.html

過去歌舞伎は数回見たことがあるのですが、今回は海外でも評判の高いコクーン歌舞伎。
オークションでも倍くらいの値段で取引されるくらい人気のチケットです。

夏祭浪速鑑は歌舞伎座で一度見たことのある題目でしたが、コクーン歌舞伎は串田和美による演出が斬新ということで、以前見たものとの違いも見所でした。

感想としては、とにかく最高! いままで見た歌舞伎や演劇の中でも一番感動した作品でした。
歌舞伎ならではの様式美と、串田さんによる陰影の濃い立体感のある演出が組み合わさり、とても素晴しい仕上りでした。
歌舞伎の中には、事前に筋書などを知っていないと十分楽しめないものもありますが、コクーン歌舞伎は歌舞伎について何も知らなくても十分楽しめるはずです。
伝統と様式美だけに縛られず、大切な物は残しながら新しい演出を取り入れていて、海外でも高い評価を得ている理由も納得です。

歌舞伎を観たことのない人でも違和感なく見れると思います。

[Android] android.webkit.BrowserCallbackAdapter を m5 バージョンに対応させる

Android の SDK が m3 から m5 に変わり、API に大幅な変更が出ていますが、これまで使っていた、BrowserCallbackAdapter が使えなくなってしまったのでそれを変更するメモ。

まず、M5 の Changes Overview のページには、

BrowserCallback has been removed and the functionality has been separated with two new classes: android.webkit.WebViewClient and android.webkit.WebChromeClient.

とあるので、WebViewClient と、WebChromeClient の2つのクラスを使うように変更すればいいみたい。

そもそもやっていたことは、サーバ上の HTML を取得してきた時点で、その HTML の一部を書き換える処理。
BrowserCallback クラスを拡張したクラスを作って、そのクラスを WebView に setBrowserCallback で渡していました。

public class ContactView extends Activity {
	private WebView wv ; // WebView 
       (省略)
	/**
	 * callback Class for loading url
	 * @author hal
	 */
        public class MyCallback extends android.webkit.BrowserCallbackAdapter{
       (省略)
        public boolean overrideUrlLoading(String url){
    		this.myLoadUrl(url); // manual load
    		return false;
        }
        public void myLoadUrl(String url){
                // HttpClient クラスを使ってデータを取得して、書き換えて data 変数に格納する処理
                (省略)
                // WebView へ 表示
            	wv.loadDataWithBaseURL(url,data, "text/html", method.getResponseCharSet(),null);
        }
    }
    /**
     * initialize
     */
    @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.view_contact);
    	// WebKitのViewを取得        
        wv = (WebView) findViewById(R.id.web);
        // コールバック用クラスを設定
        cb = new MyCallback();
        wv.setBrowserCallback(cb); 
      	// JavaScript の利用を許可
        wv.getSettings().setJavaScriptEnabled(true);
        
    }
       (省略)
}
という処理ですね。

で、BrowserCallbackAdapter が使えなくなり、WebViewClient と WebChromeClient に分割され使いかたも変わっています。WebViewClient が、キーイベントと URL ロード関連のイベントリスナ、WebChromeClient が ウィンドウ関連のイベントリスナになっている模様。
WebViewClient の リファレンスを見ると、shouldOverrideUrlLoading というメソッドがあるので、それを使えばいいのかな。第一引数に WebView のインスタンスが渡ってくるようです。

今回の場合、 BrowserCallbackAdapter の代わりに WebViewClient を継承したクラスを、 WebView::setWebViewClient でセットしてあげれば良さそう。

というわけで、以下のように変更してみたところ無事動きました。

public class ContactView extends Activity {
       (省略)
	/**
	 * callback Class for loading url
	 * @author hal
	 */
        public class MyCallback extends android.webkit.WebViewClient{
       (省略)
    	/**
    	 * Handling method called when webkit loading url
    	 * @param wv WebView class instance
    	 * @param url loading url
    	 */
    	public boolean shouldOverrideUrlLoading(WebView wv,String url){
        	Log.d(TAG, "load start:" + url);
    		this.myLoadUrl(wv,url); // manual load
    		return false;
    	}
        public void myLoadUrl(String url){
                // HttpClient クラスを使ってデータを取得して、書き換えて data 変数に格納する処理
                (省略)
            	wv.loadDataWithBaseURL(url,data, "text/html", method.getResponseCharSet(),null);
        }
    }
    /**
     * initialize
     */
    @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.view_contact);
    	// WebKitのViewを取得
        
        wv = (WebView) findViewById(R.id.web);
        // コールバック用クラスを設定
        cb = new MyCallback();
        wv.setWebViewClient(cb);
      	// JavaScript の利用を許可
        wv.getSettings().setJavaScriptEnabled(true);
        
    }
       (省略)
}
実際には、バージョンアップに伴い AndroidManifest.xml やら layout 用の xml やらも修正する必要がありましたが本筋ではない部分なので割愛しました。

ウノウさんの所へ遊びに行ってきた。

  • 2008-03-05 (水)
  • このエントリーを含むはてなブックマーク

昨日はウノウさんのとこで勉強会をしました。
ウチのエンジニアと先方のエンジニアとで軽くプレゼンをして、その後懇親会を行いました。

シリウス関:シリウスと、ラボの取り組みについて紹介
ウノウ尾藤さん:php4 -> php5 へのソース変換器について
シリウス灰田:OpenID について
シリウス安藤:スクラムについて
ウノウ山本さん:QA3分間テスティング

yacc とか lex については、だいぶ昔に電卓を作ってみたりしましたが、久しぶりに聞いて新鮮だった。
尾藤さんには、CTO として見習うことが多いなぁと思いました。
といっても僕は今 CTO じゃないけど。
とにかく、もっと愚直に技術を極めていきたいと思います。

久しぶりに更新してみる

シリウスラボ ( http://lab.cirius.co.jp )の方が忙しいのと、体調不良などでいつのまにか更新が滞っていますが、ようやく元気になってきたので、ここらでエントリしておきます。

最近は、tumblr が面白いですね。soup.io も。
ちなみに僕のは
http://tumblr.plants-web.jp/
http://hal_sk.soup.io/
です。

このように reblog できるサービスのことを、ヒップホップのようなサービスだと誰かが書いていましたが、色んな人がpostした画像やテキスト、ムービーが渾然と流れている様は、確かにそんな側面があるなと思いました。

と、とりとめのない感じですが、生きてます。ということで。

初日の出@都庁の展望台

あけましておめでとうございます。

都庁の展望台から初日の出を見れるイベントというのがあったのですが、妻が抽選に応募したら見事当選したので行ってまいりました。

5:30 に入場開始でしたが、時間より10分早く到着したのに既に30名くらいの行列。
でもなんとか東側の窓際をゲットできました。
日の出は6:51だったので1時間以上あったわけですが、すばらしい夜景と、序々に変化していく空の色を見ているうちにあっというまに日の出の時間になりました。

天気が良く、夫婦で感動して帰ってきました。

去年は「自分は何ができるのか、すべきか」ということで色々と悩み、試行錯誤をした年でした。
後半、ようやく自分がやるべきことに真っ直ぐに取り組めるようになってきたように感じています。

今年は成果を出す年。これまでの自分の知識や経験を総動員して全力で仕事に取り組みます。
チームのみんな、頼りにしてます!

ジオメディア新年会のお知らせ

僕は会社ではシリウスラボなんてものをやってますが、その関連でジオメディア新年会2008なるものを企画しました。

位置情報関連のメディアに興味のある方は、是非ご参加ください!

シリウスラボの活動を通じて様々なジオメディア開発者やサービス提供者の方と交流させていただいてきましたが、皆とても魅力的な人ばかり。「ジオメディア開発者が集まって飲んだら絶対楽しいよね」という単純な動機の元、この度「ジオメディア新年会」という飲み会を企画させていただくこととなりました。

2008/1/11(金) 19:30 から、渋谷を予定しています。

More...

Home

Search
Feeds

follow hal_sk at http://twitter.com

Page Top