workshop@Naha#8

今日は (も) 前に出て喋る訳ではないので、色々メモってみます。ある意味実況中継ですが、エントリ投入は勉強会終了後という微妙なナニ。
ええと今日は以下なソレが予定されとります。

  • 色々な要素をSurfaceViewに配置し動かすやり方および OpenGL について
  • EmacsClojureAndroid アプリ開発!
  • 肉体言語 Tython について

あと、チョロ Q をスマホで操縦というアレゲなネタが投入されるらしいです。

開始 15m 前

そういや clojure だな、と言いつつ arm のドキュメントを読んだりしつつ時間をツブす。

SurfaceView とか OpenGL とか

資料は以下とのこと

実は材料を手元にオトしてない不届きモノなのですがご容赦下さひ。

  • http://mobile.dzone.com/articles/beginning-android-game
  • DrawablePanel とは
    • インスタンス作って setContentView にナニ
    • SurfaceView を継承
    • SurfaceHolder.Callback と ISurface を実装
    • 抽象クラス
  • ISurface とは
    • onInitialize()、onDraw(Canvas)、onUpdate(long) がナニ
  • ソースファイルの数がアレな件についてw
  • DrawablePanel のコンストラクタがなかなか面白いカンジ
  • AnimationThread の作りも面白い、というかこれ以前読んだのだったか
    • onUpdate して onDraw する形
  • これ、画面の上をタマがランダムに飛び回る、というアレらしい
    • 何も無い場所をタップしたらタマが生まれる
    • タマをタップしたらタマが消える
    • onTouchEvent でボールの位置判定してる
      • 判定アマくしたら面白いコトになりそげw
  • このアプリ、is とか has な関係を整理しないと微妙だった記憶あり
  • AndroidManifest の activity なクラス名を無理矢理変えて実行するという微妙ワザをご披露なさっている
  • 前回の @mgwsuzuki さんのソレを DrawablePanel 使ったナニで実装されてます
  • コレクションは三種類
    • List と Map と Set
  • この仕組み結構単純で面白いのでどんどん拡張できるんだよね、な話とか
    • パーツを全体の中でどう関連付けていくか
  • OpenGL
    • GLSurfaceView を使う
    • onCreate の中で OpenGL を透明にする (重要らしい
    • Rendere インターフェースを実装したクラスを登録する
      • GLSurfaceView#setRenderer
    • 表示
  • Renderer インターフェースを実装
  • onDrawFrameメソド
    • 1 frame 毎に呼び出される (デフォルトで連続描画モード
    • メインの描画ロジックはここへ記述
  • OpenGL のあたりは ie な方々が得意なのかな
  • てか、OpenGL 未だに微妙
    • あまりシアワセになれるイメージが無いorz
  • OpenGL シリーズ化させて欲しかったりしますな
    • 短時間で少しづつハンズオンとか

clojure とか emacs とかで Android をナニ

  • http://kinjo.github.com
  • OSX で動作確認
    • Linux でも動くはず
    • windouz は?
  • swank 経由で Android アプリの中身をいじる
    • ??
  • Clojure でゲイム開発っぽいナニ
  • java - clojure 間でばりばりメソド呼び出せる
  • https://github.com/remvee/clojurehelloandroid
  • ビルドに結構時間がかかるらしい
  • libs に clojure.jar が居る
  • :gen-class とかしてますね
  • java な書き方との対比
  • let 式に関して適切なフォロー
  • ブラウザの例
  • Lisp の実力が云々
    • 実装が小さいのえ機器に組み込んで使える?
  • UI として clojure を使う
    • Clojure を shell 代わりにして Android アプリをごにょります (!!)
  • Read Eval Print Loop
    • swank というのがある
    • swank-android-builder
    • 改造版
    • slime というナニで swank に接続するらしい
    • swank がバックグラウンドで動いてるとのこと
    • adb forward で port forward しとく
    • emacs から swank に接続 #ojagnaha0618
  • emacs 側から eval
    • すげー
  • 気づき
    • swank は UIThread とは別
      • なので Handler 使わないとアレ
    • lambda を runnable にしないと UIThread に突っ込めない
      • handler.post してます。lambda な手続きオブジェクトがアレ
      • lambda な手続きオブジェクトは Runnable らしい
      • Callable も実装?
  • 動いてる途中で動的に挙動を変えれるのって面白い
  • スライド http://kinjo.github.com/ojag-clojure/
  • これからは、書いて実行でなく、実行しながら書こう
  • パラメータ設定とかを動的に変更しながら

KPT できそうだな。

肉体言語 Tython

参加な方々が wktk している空気を感じつつ、開始を待ってる状態。なんとなく空気的に「早く始めれ」というナニが充満してます。

チョロ Q 操縦コンテンツアプリ

  • チョロ Q を赤外線でアレするのか
  • 赤外線の信号をマネすれば良いらしい
  • ADK ですか!
    • 違うらしい
    • adb が使えれば云々
  • 詳細は来月をマテ!

KPT

  • Try
    • デジタル初心者講座とかはんだづけ講座とか
  • Problem
    • 無線接続不良な人が居た

みなさまお疲れさまでした。今日はなかなか内容が濃かったです。

そしてこれから

懇親会なんですが、場所未定な件。

togetter およびその他

つぎゃらせて頂きました。

次回のネタとしては

  • @mgwsuzuki さんによるチョロ Q 実装について
  • @yasulab さんによる Django/Python なナニ

はスデに決定している模様。学生さんからの LT 発信にも期待したいです。

そういえば

帰りに IT カレッジ沖縄さまに挨拶するのをカンゼンに忘れておりました。。失礼しました。来月もよろしくお願い致します。