A Day In The Life

とあるプログラマの備忘録

android

Cocos2d-x でネイティブ連携する方法

Cocos2d-x でゲームを開発していると広告を表示させたり、ランキングを追加したり、課金を入れたり、SNS や Twitter と連携したり、アクセス解析をしたり、など iOS や Android の機能を使わないと実現できない機能があります(このようにプラットフォームと …

Androidでui::ScrollViewの背景が緑色になる時の対処方法

Cocos2d-x(3.4 Final) の ui::ScrollView クラスを使うとAndroidで背景色が緑色になる現象が発生しました(iOS ではこの現象は発生しません)。 こちらのページに載っている方法で解決することができました。 Problems with UIScrollView: Green Background an…

Cocos2d-xのゲームの構造がどのようになっているか紐解いてみる

Cocos2d-xでゲームの開発を始めてそろそろ5ヶ月たちます。とにかく作ってみるといった感じで基礎知識があるかもも怪しいまま(Scene と Layer の違いがわからんとか)開発を続けていました。最近になってiOS/Androidとのネイティブ連携ではまったり、iOSだと問…

Android のソフトウェアキーボード表示・非表示を検出する

Android でソフトウェアキーボードの表示・非表示を検出する方法です。 LinearLayout クラスの onMeasure メソッド内でビューの高さを測ることでキーボードが表示されているかどうか検出できます。 import android.content.Context; import android.util.Att…

Android でライブラリの追加無しでマルチパート POST する方法

Android SDK には Apache Commons の HttpClient など HTTP 通信するためのライブラリがあらかじめ搭載されているのですがマルチパート POST するためのライブラリがありません。Apache のライブラリをプロジェクトに自前で追加してもいいのですが必要のない…

Nexus S を快適に使うために1番よいデータプランは何か

ゴールデンウィーク中に Google の Nexus S を購入しました。 Google Nexus S【アンドロイド2.3搭載シムフリースマートフォン】 日本で SIM ロックフリーの端末の契約は色々と制約が多いです。Nexus S をメインで使うか2台目で使うかで最適なデータプランも…

Android で LocationManager と MapView を連携させる

Android で Google Map を使ったアプリを作成しようとしたのですが、ライブラリに癖があって結構苦労しました。そこで LocationManager を使って MapView(Google Map) 上に位置情報を表示させる簡単なサンプルプログラムを作成してみました。 サンプルプログ…

Javascript 関数の戻り値を Android から取得する方法

Android の WebView を使って Javascript 関数を呼び出すには WebView#loadUrl メソッドを使います。ただしこの方法だと関数の戻り値を取得することができません。 一番簡単で手軽な方法として Javascript の alert 関数を使って WebChromeClient クラスの o…

Android で GPS 衛星からの情報を NMEA 形式で取得する方法

Android 2.0 から GpsStatus.NmeaListener というリスナが追加されました。このリスナは NMEA-0183という形式で GPS 衛星の情報を取得できます。このリスナかなり細かい情報がとれて面白いのでデータを取得するプログラムを作成してみました。 なお NMEA の…

Android の位置情報を確実に取る方法

Android の位置情報は端末や OS のバージョンによって微妙にとれるタイミングやプロバイダがちがうので iPhone にくらべかなり癖があります。中には LocationManager#requestLocationUpdates メソッドを呼んでも30分以上メソッドが呼び出されないなんて事も…

iPhone/iPad & Androidプログラミング入門

iPhone/iPad&Androidプログラミング入門 (日経BPパソコンベストムック) 去年の12月に日経ソフトウェアに書いた記事「16個のサンプルで一目瞭然高度な機能がすぐ使える!」がiPhone/iPad & Androidプログラミング入門に再掲載されました…

iPhoneとAndroidでちょっとしたデータの保存方法を比較してみる

データベースを使うほど大げさなものじゃなくて、ちょっとしたデータを保存したいときって結構あると思います。 そんな時iPhoneはNSUserDefaultsクラス、AndroidはSharedPreferencesクラスを使います。両者ともにKey-Value形式でデータを保存できます。ただ…

iPhoneとAndroidのアプリケーション間連携方法を比較してみる

アプリAとアプリBがあり、アプリAでテキストボックスに文字を入力しボタンを押すとテキストボックスの内容をアプリBの画面に表示するサンプルを使って説明します。 iPhoneの場合 iPhone では UIApplication クラスの openURL メソッドを使うと他のアプリを起…

iPhoneとAndroidで真北の取得方法を比較する

この前書いた日経ソフトウエア2010年1月の記事の中でiPhoneとAndroidの電子コンパスについて書いたのですが、紙面の都合上Androidで真北をとる方法を載せることができませんでした。せっかくなので補足の意味も込めてAndroidで真北をとる方法を紹介しiPhone…

日経ソフトウエア2010年1月号にiPhoneとAndroidの記事を書きました。

11月24日に発売された日経ソフトウエア2010年1月号に同僚の麻野さんと共著で「iPhone vs Androidプログラミング」という記事を書きました。 この記事の元ネタは以前このブログで書いた以下のブログ記事です。 開発者目線でAndroidとiPhoneを比較してみる こ…

Androidプログラミング入門 vs Android完全解説

新大阪でGoogle Androidプログラミング入門とGoogle Android完全解説の両方を置いている本屋さんを見つけました。Android完全解説は内容が古いので買わないように気を付けてください。 参考 Androidプログラミング入門

AndroidとiPhoneのUIの実装方法を比較する

使えるUI部品の種類は似たり寄ったりですね。iPhoneはガベージコレクションが使えないのでオブジェクトの開放をしてやる必要があってめんどくさいです。 Viewの種類 iPhoneにはチェックボックスがなく代わりにUISwitchがあるのが面白いです。両者の違いはな…

AndroidとiPhoneのイベントハンドラの実装方法を比較する

両者の大きな違いはiPhoneはInterface Builderでイベントの定義ができるのに対しAndroidはレイアウトXMLでイベントの定義ができないところです。 またiPhoneはselectorという関数ポインタに似た仕組みがあるのでコード上でも割と簡単にイベントの定義ができ…

開発者目線でAndroidとiPhoneを比較してみる

iPhone と Android 両方のアプリ開発を経験したので両者を比較してみます。 技術情報 iPhone iPhone Dev Center iPhone Dev Center(日本語) Android Android Developers Android Developers(日本語) OS iPhone Mac OS Xベース Android Linuxベース 開発言語/…

AndroidとiPhoneの加速度計アプリの実装方法を比較してみる

大きな違いとしてはiPhoneの場合加速度計のみ管理しているのに対してAndroidは他のセンサー(温度計や磁気センサーなど)と一括りにして管理しています。またiPhoneでは加速度計オブジェクトを直接取得できるのに対しAndroidでは加速度計オブジェクトを取得す…

ドコモとKDDIのAndroid携帯に対するスタンスの違い

ドコモが「グーグル携帯」 無償ソフト採用、低価格で09年発売 というニュースに関連して下のような記事を発見しました。 アンドロイド携帯の品質に日本ユーザーは満足できるか? この記事でKDDIとドコモのAndroid携帯に対するスタンスの違いが顕著で面白かっ…

iPhoneとAndroid

iPhoneとAndroidをユーザーの視点から比較した記事を発見しました。 AndroidよiPhoneに学べ…ハードじゃなくてソフトが重要なのよ なかなか的を射ているなぁと思いました。 僕がAndroidアプリ開発を中断してiPhoneアプリ開発に路線変更したしたのはiPhoneのUI…

ひっそりと書いた記事

4月にひっそりとThink ITにAndroidの記事を書きました。 Androidの記事というよりはマインドマップやUMLを使ってどのようにAndroidアプリを設計すればいいかという内容です。 AndroidアプリのサンプルにMame Talkを使っています。 【伝わる!モデリング】Goo…

Android勉強会第1回に行ってきました。

19日の月曜日に第1回Android勉強会に行ってきました。 業務の都合で30分ほど遅れて行ったのですが80人収容の会場がいっぱいで座ることができませんでした。 Androidに対する関心の高さがうかがえます。 第1部は丸山先生によるActivityとIntentの説明 第2部は…

Android Developer Challengeの詳細結果が送られてきました。

Android Developer Challengeの詳細結果が届きました。Mame Talk Effective use: In the top 25% of all submitted applications Polish: In the top 25% of all submitted applications Indispensability: In the top 25% of all submitted applications Or…

Androidアプリ開発標準を作成してみました。

本格的にAndroidアプリの開発をするとなるとやはり開発標準が必要になると思います。 ガチガチに決める必要はありませんが、開発標準があれば複数人開発にも一定の秩序ができてやりやすくなるかと思います。UI標準D_PAD_CENTERまたはバックボタンで代用でき…

Mame Talk散る

昨日Android Developer Challengeの結果が送られてきました。 Mame Talkは残念ながら優秀50アプリには選ばれませんでした。We regret to inform you that your entry was not among the top 50 submissions. However, we'd like to bring a couple of intere…

Android Hackathon & 豆ナイト

金曜日午後からAndroid Hackathonに行ってきました。 Androidの主要APIの説明のあと数人の組にわかれてアプリをひたすら作るという企画でした。 ぼくはGoogle Mapチームでチャット相手の現在位置がわかるアプリの作成をしました。 時間足りなくて完成までは…

Googleデベロッパー交流会に行ってきた

お題がAndroid SDKということでGoogleデベロッパー交流会に行ってきました。 以下気になった話題です。IME(日本語入力)がGoogleで開発中らしく近くフレームワークに組み込まれる予定。Dalvikバーチャルマシンはスタックベースではなくレジスタベース。レジス…

Android Developer Challenge締切

Android Developer Challenge第1回のエントリーが締め切られましたね。 Mame Talkは優秀50アプリに選ばれるのかどうか楽しみです。 似たようなアプリがなけりゃいい線いきそうなんですがいまは何ともいえません。 発表が待ち遠しい...。 ちなみに発表は5月5…