万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

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

    2011/01/17 19:30 to 21:30
    http://atnd.org/events/11344



    IS03すぐ電池がなくなる。

    ■masuidrive
    Platform evangelist
    PhotoShare

    今日の目標
    家に帰ってHello worldやってみよう

    ・60分では覚えられません。

    覚えなければならないことが多い。本も厚く心理的にもバリアが大きい。
    本を読みつつ試すときに詰まる部分を中心に解説。

    Androidとは
    ちょっと変わったJavaの実行環境

    ・4つの特徴
    ブラウザなどを自分で差し替えられる iPhoneとの違い

    ・特徴的な機能

    ブラウザだけで開発→googleがリリース

    ・UI
    シングルウィンドウベース
    キーボードがあったりなかったりの違いを持っている。
    ネクサスSだけSuicaとの連携ができる
    ホーム画面にWidgetがおける
    顔認識が標準のAPI
    電話とPCとの間をサポート

    ・メーカー独自API

    ・Intent インテント
    OpenURLをTwitterAPIなどから呼び出せる

    ・セキュリティ
    アプリケーションごとに設定可能

    iPhoneとの違い
    画面の大きさがまちまち
    JRubyScalaでもできる。
    AppStoreはオブジェクトスキャナでのチェックがある
    広さ

    ・個人的な感覚
    アプリケーションを手軽にインストール
    iPhoneはアプリケーションを使いたくて買う人が多い
    アプリケーションを普及させる違いが大きい

    ・開発者から見たAndroid
    →機種差
    機種、画面サイズが違う・・悪夢
    機種によって300倍も実行速度が違うときもある
    少し前のだとメソッドが使えない
    ボタンの配列
    グラフィックがそれぞれチップが違って性能が違う
    →主に2系統なので大きな問題にならない

    春モデルはガンガン増える
    海外のは手元に持ってくるのが大変
    Tmobileがスポンサーのイベント
     機種を持ち寄って、自社のはすべて置いてある他社の持ち合う
     1,2ヶ月に1度
     日本にもあるらしい

    ・一番の違いは画面サイズ
    グラフィカルなアプリケーションをつくらない限り苦労しない
    CPU400MHz〜1.2GHz
    スレッドのタイミングが違う
    3G、Wi-FiがありWi-Fiは問題がある。Freeはできるけど外に行けない。
    通信には気を使ってDebug
    iPhoneスターバックスFREESPOTで試したり

    OSのバージョンはAPIでのバージョン
    使いたいバージョン
    1.6のアニメーションは自信がない

    C2DM→Client2DirectMessage
    OSの見た目がいろいろ変わっている

    ・業務端末でのAndroid
    どういったものができるのか?

    ・開発環境
    90%はEclipse

    src -> layout -> main.xml

    他のアプリケーションのメッセージにすれば
    インテントの機能2種類
    ・暗黙のインテント
     どんなTwitterクライアントが入っているかわからない時は選ばせられる。
    ・明示的なインテント

    Masturd・・・Twitterのクライアント

    Service2つ
    Activity:UIを持っている
    Service:UIを持っていない

    iPhone:background バックグラウンドで動かせる
    Unix:daemon 常駐プロセス

    android.app.Service

    Toast

    何時何分になれば呼ばれるAlermService

    スレッドを使わないメリット
    →途中で外からメソッドを発行したり、リモートインテントは、いろんなアプリケーションからいろいろできる

    ・TitaniumMobile
    OpenGLやグラフィックは弱い
    そのうちMovieを作る

    ・サンプルのアプリケーションから

    オープンソースのアプリケーションのリスト化
    List OpenSource applications
    http://bit.ly/androidos

    Eclipseの標準GUI
    AndroidSDK
    Graphical 〜〜

    MacEclipseで困ったこと
    コマンドラインEmacsなのであまりない

    ・LT
    NoSQL
    ・山本祐介 @yusukey

    Twitter4J
    Java用TwitterAPIライブラリ
    GoogleAppEngine

    Base64Encoderが使えない
    BASIC認証

    ・使えない
    sun.misc.*
    com.sun.*

    XMLの問題
    DOMのStringをテキストにする
    XSLTというのが使えない
    →Transformerを使わない。

    XMLの日本語が使えない
    XMLパーサが使いものにならない
    XML使わない

    xml, JSON, atom, rssをサポート

    JSONの問題

    クラスが見つからない
    →VerifyError

    ヒサモト(株)竹内