masuidriveと学ぶ「60分で覚えるAndroidアプリの作り方」参加メモ

masuidriveと学ぶ「60分で覚えるAndroidアプリの作り方」に参加してきました。

第1部 masuidriveと学ぶ「60分で覚えるAndroidアプリの作り方」 @masuidrive

Ustスライド

Androidの4つの特徴
  • Open
  • All applications are created equal
  • Breaking down application boundaries
  • Fast & easy application development
■ Intent
  • アプリケーション(Activity)を呼び出し制御を移す
  • ローカルIntentとリモートIntent
  • 暗黙的Intentと明示的Intent
  • アプリ内部で別画面を呼び出すのもIntent
■ ContentProvider
  • アプリケーション間のデータ連携
  • アドレス帳へアクセスできるのもContentProvider
  • URIベースでのアクセス
  • 権限設定も可能
■ セキュリティ
  • 外部リソースへのアクセスはアプリインストール前に指定
■ 機種間の差
  • 画面サイズ
  • 入力方法
  • CPU速度
  • メモリ
  • 通信方法

iPhoneアプリの審査では非公開APIを使っていないかをチェックしているらしい
※ OS version = API version

  • HTML5を使いたい場合は2系
  • SDへのインストールに対応する場合は2.2以上
■ Intent
  • 数行加えるだけでTwitter連携するデモ


Intent intent = new Intent();
// 暗黙のIntent : 送り先が不明な場合

  • アクション : ACTION_CALL(通話を開始)、ACTION_SEND(共有)など
■ Service
  • Activity : UIを持っている
  • Service : UIを持っていない。Unixでいうdaemon。アプリを終了させても動き続ける
  • Serviceに必要なもの
    • app.Serviceクラスの実装
    • manifestでの許可
  • android.app.Serviceを継承
  • onBind()の実装が必要
■ Titanium Mobile
  • JavaScriptだけで開発できる
  • 時間がないので詳細は省略。2月に2時間程度のセミナーを行う予定

第2部 Android-LT大会

Androidの本当にあった怖い話 @yusukey

スライド

  • AndroidJavaの非互換性について
  • パッケージ
    • Androidでは sun.misc.* / com.sun.* が使えない。Base64Encoderが使えなくて困った
  • XML
    • AndroidにはXSLTが内蔵されていない → 2.2で修正済み
    • クラスが見つからないとVerifyErrorが発生 → 2.1で直ってる
    • XMLパーサが使い物にならない(マルチバイトに対応してない) → 2.2では対応済み
  • JSON
    • jsonのライブラリが古すぎ
Androidを含むGoogleソリューションによるビジネスモデル開発手法
  • 話についていけませんでした…
■ 横浜とAndroid