【iOS】音楽を止めずに効果音を同時に再生するには

iOSでは音を再生する時の選択肢として MediaPlayer Farmework と AVFoundation Frameworkの2種類があります。

今回はこれらの組み合わせで多重再生ができないかどうかを調べてみました。

続きを読む 【iOS】音楽を止めずに効果音を同時に再生するには

Android入門 アプリ開発の基本、ビューのライフサイクル(図解)

Android アプリケーション開発では、いつどのイベントが発生するかを知っておくというのは大事な事です。

アクティビティを実装する場合はアクティビティのイベントがいつ発生するか(ライフサイクル)が大事ですし、自分でビューを作る時はビューのイベントを把握しておくとスムーズに実装ができるようになります。

Androidのアクティビティについてはいつどのイベント公式サイトのアクティビティライフサイクルの項目で分かりやすく図示されているのですが、ビューのライフサイクル、イベントの詳細を見つけられなかったため、今回は整理も兼ねてこの記事を公開することにしました。

Android の View は Activity#setContentView() を呼ぶだけでも onFinishInflate(), onAttachedToWindow(),onLayout(),onDraw(),onMeasure()といったイベントが発生するのをご存知でしょうか?

どのタイミングでどのイベントが呼ばれるのか?

カスタムビューを作る時に処理をどのイベントに実装すべきかを悩んでいる方の助けになれれば幸いです。 続きを読む Android入門 アプリ開発の基本、ビューのライフサイクル(図解)

【Android】 ndk-build clean でシンタックスエラー。原因はNDK r8eのバグか?

Android で NDKビルドを動かすとndk-build cleanでエラーになってしまった。

こういうの。

dk-build clean 
Clean: gnustl_shared [armeabi-v7e] 
/bin/sh: -c: line 0: syntax error near unexpected token `(' 
/bin/sh: -c: line 0: `rm -rf (TARGET_OBJS)' 
make: *** [clean-gnustl_shared-armeabi] Error 1

色々調べたところ、原因は Android NDK r8eの問題のようで
android-ndk/build/core/build-binary.mk

の49行目を次のように修正したらエラーが出なくなった。

変更前:

$(cleantarget): PRIVATE_CLEAN_FILES := ($(my)OBJS)

変更後:

$(cleantarget): PRIVATE_CLEAN_FILES := $($(my)OBJS)

変更後の実行結果:

/Library/android-ndk/ndk-build clean NDK_DEBUG=1 all 
Clean: cvjava [armeabi-v7a]
Clean: gnustl_shared [armeabi-v7a]
Clean: gnustl_static [armeabi-v7a]
Clean: scv [armeabi-v7a]

再現環境はインストールしたバージョンは NDK r8e の OS X 64ビット版(android-ndk-r8e-darwin-x86_64.tar.bz2)
でした。
他の環境で試したわけではないのですが、他の環境ではこれでエラーがでないのでしょうか。

追記

Linux 64bit r8e でも再現するという情報をいただきました。対策も同様でいいそうです。

【Android】9-patchが動かない?そんな時に確認する4つのポイント

Droid20130321
せっかくAndroidデザインのために頑張って画像にナインパッチ(9pach)を使ったのに、ちゃんと効かない。
画像の周りの黒い点が見えてしまってる。さぁどうしよう。

そんな時は騒がず慌てず4つのポイントをチェック。 続きを読む 【Android】9-patchが動かない?そんな時に確認する4つのポイント

【Android】背景画像のリピートが効かない問題

画像のコストを下げるために、背景画像に tileMode=”repeat” を指定してタイルとして使っていたのですが、
Android 2.3 系以下の端末で特定のアクティビティでだけリピートが聞かなくてハマりました。

どうやらハニカムで修正されたOSの不具合だそうで…以下対策がわかったのでメモ。 続きを読む 【Android】背景画像のリピートが効かない問題

【Java】 Mapを値でソートする方法

Javaでソート対応のマップと言えばTreeMapだけど、TreeMapはキーのソートにしか対応してません。

マップの値でのソートはオブジェクト外の要素でソートしたい時などは値でのソートが出来ると便利ですので、今回はその方法をご紹介します。

続きを読む 【Java】 Mapを値でソートする方法

WebViewでshouldOverrideUrlLoading()が反応しない問題

StackOverflowでも”shouldOverrideUrlLoading(…) not executed if “window.location.href” modified in a timeout callback“と報告されているが、WebViewで JavaScript から location.href を書き換えると通常shouldOverrideUrlLoading()が反応するのに setTimeout()を使用して location.href を書き換えた場合は shouldOverrideUrlLoading() が呼ばれません。 続きを読む WebViewでshouldOverrideUrlLoading()が反応しない問題

iPhoneで電話番号リンク問題の対処方法まとめ

iPhone の Safariは連続する数字が勝手に電話番号のリンクになってしまいます。
電話番号や郵便番号(123-4567)のようなハイフン区切りだけでなく、
小数点(123.4567)のようにドット区切りの数値までも電話番号リンクになります。

これでは困るので対処方法をまとめました。
(iPhone 4, iPhone 4sで動作確認)

目次:

  1. 1.iPhone 版 Safari用の対策
  2. 2.Safari以外のアプリ用の対策
  3. 3.修正できないアプリ用の対策

続きを読む iPhoneで電話番号リンク問題の対処方法まとめ