Androidと聞いて(ガッ、組込みから来ました。

概要

参加者募集URLは、http://atnd.org/events/1594

ハッシュタグは、#tgtugでした。

一応、懇親会前の本編終了までのつぶやきは、トゥギャッターにまとめておきました。

「アプリケーション間連携のススメ」 by Takashi Egawa, an android API Expert

私自身は遅刻して行ったので、前半聞き逃してしまいました。

さらに、Androidの予習を怠っていたので、Intentとか初耳レベル。

もったいないことをしたなぁと思いました。

以下、手書きメモから。(遅刻なので、当然途中から

  • Intentとは操作の抽象的単位。
  • アプリケーションが「何ができるのか=操作」をシステムに伝える。
    1. Action
    2. URI
    3. MIME (RFC2045~2049読め)
  • ブラウザからの連携デモ
  • パトカー写真クリックで110番。消防車写真クリックで119番。
  • コロッセオ写真クリックでコロッセオ周辺のストリートビュー。
  • 中身はシンプルなHTML。
  • アンカーHTMLタグ(a)のURL部分をhref="tel:110"とするだけで電話アプリケーションが起動できている。
  • ストリートビューもhref="google.streetview:座標"とするだけで(重かったが)起動できた。
  • メモアプリのデモ。
  • text/plainのMIMEとして指定することで、テキストを扱えるアプリが起動
  • 複数あればユーザに委ねることができる
  • 絵文字入力が可能になったりする
  • 連絡先からメールを選ぶと、mailtoを扱えるアプリ一覧
  • SharedPreferences
  • ちょっとした永続化。という表現を使っていたと思います(うろ覚え
  • キーと値で保存。実態はXML。
  • モードの指定で他のアプリからアクセス可能。(実態はlinuxユーザIDによるアクセス権管理。
  • IntentのActionには標準的なActionのSENDと独自定義のものがある
  • SENDは標準的であるがゆえに開発者が予期しない連携が可能になるメリットがある
  • しかし、選択できるアプリが多くなりすぎたりするデメリットもある
  • 独自定義の場合は「合言葉」のようなイメージ
  • 話者は「IMoNi」の作者。
  • Androidアプリのランキングサイトによく載る
  • 闇アプリなので突然の仕様変更がある。
  • 新婚旅行中(おめでとうございます!)に変更があって繋がらなくなったが、対応できなかった。
  • ContentPrividers
  • 異なるアプリ間でのデータ共有方法
  • URI。Restfulな感じ
  • 利用側はパワフル。しかし公開側は面倒。
  • SharedID
  • SharedPreferencesもContentProvidersも全アプリに公開してしまう
  • 特定のアプリにのみ公開したい場合に使う。ユーザIDを共有
  • AIDL(Service)
  • 画面に依存しないバックグラウンド動作に適したもの
  • AIDL独自定義ファイル(Javaインターフェース、コールバック)
  • 連携対象のアプリはAIDLのインターフェースを知る必要がある
  • まとめ
  • アプリ間共有の方法は様々な方法がある
  • Androidで助け合おう

「Androidはこんなにヒドい」 by てんてす

  • 覆面プログラマMaskdrroid
  • 得意技はトップロープからのヌルポインターエクセプション (ガッ
  • Androidアプリが1万本を突破。有料アプリ35%
  • ゲーム、その他エンタメ、ツール系がそれぞれ1500~1800本で並んでいる
  • 抜きんでてダウンロードされるアプリは今のところない
  • Androidのヒドいところ
  • Apache2ライセンスで配布。
  • 使用配布自由。派生物を同ライセンスで提供しなくてもいい
  • クローズにしてもいい。
  • こんなの新たなビジネスチャンスの創出じゃないですか。既得権益が失われるんですよ。
  • linuxカーネルである。
  • googleと無縁だった組込エンジニアが色々な端末に乗せて遊び始めて大変なことになっている
  • 日本の優秀なエンジニアの余剰リソースがAndrodiにそそぎこまれてしまう
  • 最上位層はJava。
  • 簡単に開発できてしまう。今から習う学生ですから簡単にアプリがつくれてしまう
  • (Helloworldなアプリも多いが、上位アプリがしっかりしてればいい)
  • DlvikVM
  • 高機能だがリソースを食うJVMが比較されてしまう。Sunの人涙目。
  • 開発環境
  • eclipseプラグインまである。当然無料。ユーザ登録も必要ない。
  • 敷居低すぎ
  • Intent
  • 非常に便利過ぎてスライド1ページに利点を列挙すると、文字が非常に小さくなってしまう
  • ユーザーの目が肥えてしまい、何でIntent対応してないんだとなってしまう
  • マルチタスク
  • バックグラウンドアプリも簡単。
  • AlarmManager(要するにcron)もある
  • AppWidget(Home画面に機能を持たせたアプリを配置可能)
  • AppWidgetは簡単だよ!のデモ(コンパイルミスして結構苦労してた)
  • 関羽ウィジット。西園寺世界。
  • アプリの審査がない。変な待ち時間がない。
  • 最初に$25払うだけでいい。
  • ASE
  • アプリ上でpythonやruby,lua,perlが動く
  • NDK
  • 「パフォーマンスだけを追求したい人達」がやってきてしまう
  • OpenGLまで実装されてしまった
  • 結論「Androidはすばらしい」

Various web browsers on mobile platforms by J. Maurice (Opera Software)

  • Operaの中の人。
  • 日本語すごくうまい。けど英語でプレゼンです。
  • モバイルのwebブラウザ
  • 日本のケータイ、Android、iPhone、Samsung、Nokia、BlackBerry、PalmOS
  • スマートフォンシェアはSymbian(Nokia)が50%。RIM(Blackberry)が20.9%。iPhoneが18.7%。
  • シェアは小さいが、オープンという意味ではAndroidは注目の環境
  • モバイルブラウザ市場では、Safariがトップ。でも落ちてきている。
  • 2位のOperaは伸びているよ!
  • Kan Test(Javascriptベンチマーク)でOperaはすごくいいよ!
  • Compliance TestでもOperaは100%だよ!(他は95%程度)
  • ACID3でもOperaはすごいよ!
  • 「Opera mini for Android」...working on it. (諸事情で見せられません
  • NDK使っているとか何とか

「周辺情報検索アプリケーションLocoscapeについて」 by Akihiko Kodama (慶應義塾大学 インタラクションデザインラボ)

  • インターフェースの研究をしている
  • モバイルのそんな研究用途でもAndroidはオープン性などで優れている
  • 傾きによるズーミングを用いたアプリケーションを開発した。
  • 作者さんのサイトみたほうがいいかも
  • 従来の地図は鳥瞰図で、方向音痴な人には難しい。
  • 最近流行りのARアプリ(セカイカメラなど)は、近くの情報しか見れない。
  • その二つをうまく組み合わせる。mapの範囲の広さとARの分かりやすさ。
  • 端末の傾きによるズームというインターフェースで実現している
  • セカイカメラは向けた方向だけ。
  • locoscapeはそれと合わせて端末を「立てる」ことで奥を見れる。
  • 少し傾けると拡大。大きく傾けると先へズーム。
  • 食べログやFlickrとの連携。
  • 警察提供の事故情報の実証実験でもよい結果(避けて通るようになった
  • 姿勢を分析したインターフェース。(近い=体屈む=端末水平、遠い=背伸ばす=端末立てる)