AppleさんのTechTalksに来ております
1日目はUtility、2日目のGameということですが、あえてGame回に参加しています。
本国から技術陣がたくさん参加してきてて、ラボでは技術的な相談に乗ってくれています。
まだ終わっていないのですが(Appleさん提供のWifiから書いています)
オーバービュー的な深さではありますが、重要な点を選んで網羅的に提供していただいており、なかなかに有用なセッションではないでしょうか。
また終わったらアップデートします。
yuzora project ~週末開発日記〜
きままな日常から技術的な部分を切り取ってお伝えします
2013年11月7日木曜日
2011年6月23日木曜日
WindowsでのAndroid開発環境構築メモ
WindowsでAndroid環境構築をしてみたのでそのメモです。
こういうのは時期によって手順やノウハウが変わってくるので、私もよく最新の体験談を参考にするのですが、自分でも提供してみようと思います。さらっと。
開発環境は、Eclipse + ADT Plugin + Android SDK + JDK で出来ている。
この4つ入れて、EclipseでADT Pluginの設定すれば終わり。
※Android SDK Managerからのダウンロードはものすごく遅いことがあるので余裕を見ておきましょう(Proxy環境だと一晩かかりました)
1.JDKをインストール
Javaの開発環境
インストーラつきでらくらく
2.Android SDKをインストール
Androidの開発環境、JDKが必要。ここだけコメント多いのでわかると思いますがだめだめです。
インストール時、JDKが認識されないというくだらないバグあり(rev10の時から)。なぜ放置しているのか。
JDKが無いと言われたら、一度Backで戻って再度進むと回避できます。
インストール後、Start SDK Managerを起動するかと聞かれるので起動すると、パッケージが更新される。
いきなり更新を始めるので、接続エラー出る場合(プロキシ環境の人など)はいったん中断し、Settingからプロキシ設定と、Force https://~をチェックする。windows版なんだからプロキシ設定くらいie設定から読み取るべきではないかと思う。更新は結構時間がかかる。というかダウンロードありえないくらい遅い。
これの中身を検索してURLを抽出し、http://dl-ssl.google.com/android/repository/〜から直接ダウンロードしたzipファイルを、AndroidSDKインストールフォルダのtempに置く。そしてインストールするとダウンロード済みとして扱ってくれる。
3.Ecllipseをインストール
統合開発環境(IDE)。バージョンいろいろあるがとりあえず新しめの 日本語版Helios を使用してみた。
pleiades ultimate http://mergedoc.sourceforge.jp/index.html#/pleiades_distros3.6.html
起動するとワークスペースを置く場所を聞いてくる。
4.ADT Pluginをインストール
EclipseでAndroid SDKを使えるようにするためのプラグイン。
Eclipseの新規ソフトウェアインストールダイアログ(ヘルプメニューにある)にて、下記URLを追加
開発ツール(Developer Tools)をすべてインストール
5.EclipseにAndroid SDKの場所を設定する
設定(Preferences) > AndroidにてAndroid SDKのフォルダを指定
設定 > 一般(General) > Workspace でエンコードを UTF-8 にしておく
環境変数PATHにAndroid SDKのtoolsおよびplatform-toolsを追加する
環境変数PATHにAndroid SDKのtoolsおよびplatform-toolsを追加する
以上で基本的なインストールは完了です。(たぶん。これ書いてる時点でまだダウンロード終わってないので追記するかもしれないです)
追伸
この手順で完了してました!
追伸
この手順で完了してました!
2011年6月11日土曜日
YouTubeに初動画アップ
Sound StageというMacAppStoreで販売しているアプリの操作説明ムービーを作るソフトが使いやすかったので、練習動画をアップしてみました。
サンプル動画 ひまわりぐりぐり
動いているのは、置くだけでマルチタッチでぐりぐり動かせるクラスのテストプロジェクトです。
ただこれだけのアプリですけど、実機で、特にiPadでいじってると楽しいんですよ。
指についてくる動きをするだけで楽しいと感じるのが興味深いです。
サンプル動画 ひまわりぐりぐり
動いているのは、置くだけでマルチタッチでぐりぐり動かせるクラスのテストプロジェクトです。
ただこれだけのアプリですけど、実機で、特にiPadでいじってると楽しいんですよ。
指についてくる動きをするだけで楽しいと感じるのが興味深いです。
2011年6月6日月曜日
iOSメモリのお作法
本稿は、2011/5/28(土)に開催された、第4回iPhoneアプリ開発合宿in府中にて発表した内容です。
お作法という偉そうな題名にしていますが、ごく基本的な内容です。iOSの公式ドキュメントに書いてある内容をまとめたものになっています。
スライド 「iOSメモリのお作法(改訂版)」
良いアプリとは?
良いアプリの条件は数々ありますが、内容の前に重要なのが落ちない事です。可用性が低いアプリはいくら良いものを持っていても評価が低くなってしまい、レビューが荒れる原因にもなりかねません(^^;)。かなり勿体無いです。本稿は、アプリがなぜ落ちるのか、またiOSでのメモリの作法を理解することで、落ちないアプリに近づいていただくことを目的としています。
お作法という偉そうな題名にしていますが、ごく基本的な内容です。iOSの公式ドキュメントに書いてある内容をまとめたものになっています。
スライド 「iOSメモリのお作法(改訂版)」
良いアプリとは?
良いアプリの条件は数々ありますが、内容の前に重要なのが落ちない事です。可用性が低いアプリはいくら良いものを持っていても評価が低くなってしまい、レビューが荒れる原因にもなりかねません(^^;)。かなり勿体無いです。本稿は、アプリがなぜ落ちるのか、またiOSでのメモリの作法を理解することで、落ちないアプリに近づいていただくことを目的としています。
アプリはなぜ落ちるのか?
アプリが落ちる原因についてはいくつか考えられます。
2011年3月10日木曜日
iOS4以降で実装されたマルチタスキング対応アプリの状態遷移をまとめてみました。
iOSアプリの状態遷移
iOS4.0からアプリのマルチタスキングが導入され、アプリはバックグラウンドという状態を持てるようになりました。それ以前にはアプリの状態というのは起動中(アクティブ)かそうでないかぐらいの区別しかなかったものが、これによってぐぐっと複雑になり、アプリケーションガイドを一度見たくらいではたぶん完全には理解できなくなったのではないでしょうか。(ガイドにはちょっと嘘も書いてあります)
アプリケーションガイドによると、アプリの状態というのは下記5種類があるそうです。
・非実行
・非アクティブ
・アクティブ
・バックグラウンド
・一時停止(サスペンド)
フォアグラウンドっていう状態はないみたいですね。たしかApplicationDelegateにapplicationWillEnterForegroundっていうのがあったはずですが、あれはフォアグラウンド状態に遷移するときに呼ばれるんじゃないんでしょうか。
そうなんです。フォアグラウンドっていう状態はないんです。このへん、自分でもよくわからなくなったので、あちこち調べて理解したのですが、最近人に聞かれる機会があったので図にしてみました。
IOS4以降のアプリ状態遷移図
ログ入れて実機(iPhone4)で調べたので実際の動作と同じになっていると思います。(間違いあったらご指摘お願いします)
図中、起動系は赤、終了系は青の線と色分けしています。
先程のフォアグラウンドの件、これがフォアグラウンドだという明確な記述は見つけられませんでしたが、たぶんACTIVEかINACTIVEかのどちらかにいる時をフォアグラウンドといってるっぽいですね。
ローカル通知はどう受け取るか
どういうときに状態遷移を理解していると便利かという事例として、時刻がくると発報するローカル通知を使ったアプリを作っている時に、通知イベントの動作で困ったことがありましたのでそれを紹介します。
通常、ローカル通知イベントが発生するとアラートウィンドウが出ますが、アプリが動いている(わざとあいまいな表記をしています)時に発生したローカル通知イベントは、アラートウィンドウを出さずにApplicationDelegateに通知されます。アプリからは、アラートウィンドウが出たかどうかを知る手段がないんです。
そこでログを入れて調べていますと
- アラートウィンドウが出るパターン (メソッド名は一部省略しています)
- アラートウィンドウが出ないパターン
となっていました。どうやらNotify通知を受け取るのがapplicationDidBecomeActiveの前か後かによって判別できそうです。フラグをBecomeActive時にYES、ResignActive時にNOになるフラグを作って、フラグがYESの時は自力でアラートウィンドウを出すという対策を施しました。
でも、すべての場合についてこれで良いかどうか確信が持てません。こういう時はテストして調べることになるのですが、すべての状態を網羅しないと完全とは言えません。
このような場合に状態遷移図を見てテストケースを決めるわけです。
今回の場合は、メールなどのアラートを出していたりするときのNotify通知のテストが漏れていることがわかりました。(ちゃんと動きました)
参考になれば幸いです。
2011年3月4日金曜日
Facebookにページを作りました
Facebook勉強中です。
とりあえずページを作ってみました。よろしくお願いします!
ついでにここのテンプレートいじってShareボタンといいね!ボタンを各投稿の下↓につけてみました。(こちらを参考にさせていただきました)
とりあえずページを作ってみました。よろしくお願いします!
ついでにここのテンプレートいじってShareボタンといいね!ボタンを各投稿の下↓につけてみました。(こちらを参考にさせていただきました)
登録:
投稿 (Atom)