俺がライダーだ
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

俺がライダーだ

  • 2,153 views
Uploaded on

名古屋 つ部 勉強会 2013年9月 の発表資料です

名古屋 つ部 勉強会 2013年9月 の発表資料です

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,153
On Slideshare
2,022
From Embeds
131
Number of Embeds
4

Actions

Shares
Downloads
0
Comments
0
Likes
3

Embeds 131

http://gabu.hatenablog.com 84
https://twitter.com 44
http://tweetedtimes.com 2
https://www.google.co.jp 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 俺がライダーだ @kassy_kz 2013/9/14 名古屋 つ部 勉強会 LT 2013年9月14日土曜日
  • 2. Effective Android • 私も少し 書かせてもらった • β版発売中 (宣伝) http://bit.ly/16WlWeZ 2013年9月14日土曜日
  • 3. 自己紹介 • 名前: かっしー     (@kassy_kz)     (神奈川県) • 特徴: 健全     とても健全 • 趣味: 自転車     ライダーのサーヴァント(社畜) 2013年9月14日土曜日
  • 4. 自転車たのしい ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ 2013年9月14日土曜日
  • 5. 重度の迷子クラスタです ところが. . . 2013年9月14日土曜日
  • 6. スマートフォンをマウント これで迷子の心配ナシ! 2013年9月14日土曜日
  • 7. ところが グローブはめると操作できない 2013年9月14日土曜日
  • 8. 新開発 NFCウィザードグローブ NFCタグ NFCタグ NFCタグ NFCタグ NFCタグ NFCタグ NFCタグ NFCタグ NFCタグ NFCタグ 全指先にNFCタグを貼り付け 2013年9月14日土曜日
  • 9. 10本のNFCタグを駆使して タッチパネルを使わずに スマホを操作する これぞ お触り禁止 な端末操作 け ん ぜ ん 2013年9月14日土曜日
  • 10. NFC操作で できること 1 • 任意のアプリの起動 • AndroidApplicationRecordという種類のタグを 書き込んでおけば、OSがアプリを起動してくれる • どのアプリでも起動可能 アプリ起動 2013年9月14日土曜日
  • 11. NFC操作で できること 2 • URIを飛ばす→アプリが受け取る • 任意のURLにジャンプなどが可能 • AndroidManifestにURIを受け取る定義が必要 URI取得 2013年9月14日土曜日
  • 12. ウィザードグローブ対応 地図アプリ作った • Google Maps APIV2を使用 • NFCをかざすと  - 現在地へ移動 - スクロール - 拡大縮小 が可能 2013年9月14日土曜日
  • 13. ところが . . . Maps API V2ではルート案内ができない. . . 川崎駅どこ? 2013年9月14日土曜日
  • 14. NFCだけで Google Maps アプリを操作したい 2013年9月14日土曜日
  • 15. NFCでタッチパネルを操作する 秘策 2013年9月14日土曜日
  • 16. 基本構成 アプリ Android OS 一般アプリ (GoogleMaps) デバイスドライバ 通常タッチイベント 偽タッチイベント NFC 特権アプリ (要Root) 今回開発 2013年9月14日土曜日
  • 17. コード <uses-permission android:name="android.permission.INJECT_EVENTS"/> AndroidManifest.xml とても危険なパーミッションです。 このパーミッションを宣言しただけで AndroidSDKはビルドを拒んできます 2013年9月14日土曜日
  • 18. コード /** * 単純なタップを再現するタスク **/ public static class SimpleTapEventSender extends AsyncTask<Integer, Integer, Integer> { @Override protected Integer doInBackground(Integer... params) { Log.i(TAG, "pushsync aaa"); if(params.length < 2 ) return null; Instrumentation ist = new Instrumentation(); MotionEvent event; event = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, params[0], params[1], 0); ist.sendPointerSync(event); wait_msec(300); event = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, params[0], params[1], 0); ist.sendPointerSync(event); return null; } } 単純なタップイベントを発生させるコード 2013年9月14日土曜日
  • 19. コード /** * ムーブイベントを再現するタスク **/ public static class SlideEventSender extends AsyncTask<Integer, Integer, Integer> { @Override protected Integer doInBackground(Integer... params) { if(params.length < 4 ) return null; int count = 20; // Down Instrumentation ist = new Instrumentation(); MotionEvent event = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, params[0], params[1], 0); ist.sendPointerSync(event); wait_msec(300); // Move for(int i=0; i<count; i++) { MotionEvent event21 = MotionEvent.obtain(SystemClock.uptimeMillis (), SystemClock.uptimeMillis(), MotionEvent.ACTION_MOVE, ((count - i) * params[0] + i * params[2]) / count, ((count - i) * params[1] + i * params[3]) / count, 0); ist.sendPointerSync(event21); wait_msec(100); } // Up MotionEvent event3 = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), スライドイベントを発生させるコード http://bit.ly/18k7CUp 2013年9月14日土曜日
  • 20. NFCウィザードグローブ 動作デモ 2013年9月14日土曜日
  • 21. このNFCウィザードグローブで 俺は最強の健全ライダーになる 2013年9月14日土曜日
  • 22. ところが こんな商品が・・・ http://bit.ly/tXgOJX 2013年9月14日土曜日
  • 23. あれ... 2013年9月14日土曜日
  • 24. 僕の苦労は.... 存在意義は... 2013年9月14日土曜日
  • 25. 絶望が俺のゴールだ 2013年9月14日土曜日
  • 26. 申し訳ありませんでした 発表は以上です ご静聴ありがとうございました 2013年9月14日土曜日