Android Bazaar and Conference 2011 winter参加メモ

(感動したことすら書いておかないと忘れるのでメモ)

12:00〜12:40 工学部新2号館 3F バザール

コミュニティブース

トートかっこいい、Tシャツほしい。

その他

Nexus S触った!!!すごい興奮した!
会場の熱気で汗かいた。


龍馬伝見てたからってものあるけどNHKエンタープライズさんの
「映像」と「地図」も楽しめる電子書籍がすごく気になった。
各地の駅にアプリへの2次元バーコードがあって
観光案内アプリがダウンロードできてしかも各スポットの
無線LAN開放とかしたら僕はちょっと行きたくなると思うたぶん。


コトフリさんの多言語切り替え地図アプリがすごく便利そう。
逆に海外に行ったときにコレあるといいなって思う。


なんか、位置情報のこと、好きなのかもしれない...

13:00〜13:40 D会場(212号) 頓智ドット

Android NDKについてのはなし
  • Android NDKとはAndroid Native Development Kit
    • Nativeコード(C,C++)による高速化ができるらしい

使う理由は以下の処理を早く動作させるため
  1. 3Dグラフィクス描画
  2. 画像処理
  3. 物理シュミレーション

環境構築(必要なもの)
  • 通常の開発環境(eclipse+AndroidSDK)
  • ADT
  • cygwin(Windosの場合のみ必要)
各言語のコーディング方法

eclipseでCDTという人もいるらしい

Java→Nativeの値を渡す方法
  • 配列そのままだとオーバーヘッドが大きいため

Native側でアドレスを取得し、ポインタとして扱う

14:00〜14:40 D会場(212号) GREE(開発)

IOSAndroidも動作できるからいいよね
入力フォームのサンプル
  • input type=email @つきキーボード表示
  • input type=Number テンキー

※type=URLとかTELとかSearchとかもある

CSS3

話し聞いてる時にデジャヴ体験したから
あんまりよく覚えてない。

Device-Pixel-Ratio アイコンをキレイに見せる
  • HTML上の1ピクセルがデバイス上で何ピクセル
  • なんかアイコンがぼんやりしている
  • 解決方法は以下のどちらか
    • 2倍のサイズの画像を縮小して表示
    • meta name view poert target-densitydpi=devicedpi
WebページからAndroidのカメラアプリを呼ぶ方法
  • AddjavascriptInterface

特にIOSの場合バイナリ修正が面倒なためHTMLでつくるといい

15:00〜15:40 D会場(212号) 白石俊平(HTML5)


HTML5で何できる?

より美しくインタラクティブ
技術 概要
canvas 2D3Dのビットマップグラフィック
SVG ベクターグラフィック
操作感とリアルタイム性
技術 概要
Web workers バックグラウンド処理
Websocket リアルタイム性の高い新たな通信形式
Server-Sent-Event HTTPベースのサーバプッシュ
オフラインでも利用可能
技術 概要
アプリケーションキャッシュ オフライン利用が可能
WebStrage 簡単に利用出来るストレージAPI
FileAPI ファイルの読み書きが可能
WEBサービス間の連携がされに容易に
技術 概要
クロスドキュメントメッセージ Webページ間でメッセージのやりとり
Cross Origin Resource Shareing Originを超えたHTTP呼び出し
プラットフォームとのより深い統合
技術 概要
Drag & Drop API Drag & Drop 操作ができる
Geolocation API あとでしらべる
Device API WEBアプリからカメラアクセス
JavaScriptによるRIA開発

16:00〜16:40 D会場(212号) はてな

はてなフォトライフ for Android
  • Activity Stackを用いて実装
  • 自動UPLOADの実装
  • Serviceを自動起動して数十秒ごとにファイルシステムを監視
  • カメラの撮影INTENTを捕まえた方がいいがINTENTを発行するかわからなかったため確実に動くファイルシステムの監視で実装した。


工夫:スクリーンがONのときだけファイルシステムを監視する(電力対策)
問題:たまに前ファイルUPLOADされてしまう時がある。
原因:lastModifiedが起動直後に狂うため
対策:TimeZoneのずれを吸収するロジックを埋める

  • メモリ削減対策
    • メモリアナライザ
    • Eclipseプラグイン どんなオブジェクトがメモリ消費してるかわかる
  • DDMSで見れるスレッド一覧
    • HTTPClientが勝手にスレッドをつくるらしい
  • TraceView
  • プロファイル結果をグラフィカルに表示してくれる。
  • SDKに入っている。
はてなモノリス
  • 設計と実装
    • 出来る限りWEBで実装
  • 本番機・テストサーバの差
    • 非表示の設定項目
  • adb shell am startで起動した際に
  • 開発者用の設定項目を表示させることができ
  • そこでテスト機・本番機を切り替えた