iPhone5とその周辺

iPhone5をあまり悩まず予約しました。

機種変更自体はすんなり決めたのですが、悩んだのはキャリア。
今のメインキャリアはSoftbankなのですが、auはテザリングできるんですよね。
仕事柄・趣味柄どうしても持っている端末が多くなるので、
できるだけ持ち運ぶ端末は減らしたいところ。
auにNMPすればテザリング用端末を1つ減らすことができるので大変助かります。

と、思ったのですが、結局予約したのはSoftbankでした。
メールアドレス(未だvodafone)が変わることの周知やNMPの予約番号のことを考えるとなんだか面倒で。テザリングだけなら今の通信環境でもできてますし。
というわけで、あと2年はSoftbankの売上に貢献することになりそうです。

iPhone5と同時にiPodNanoとiPodTouchが更新されました。
iPhone5はリークされまくっていたので、まあ予想通り・予定通りでしたが、
iPodTouchはかなり良くなりましたね。もう3G/LTEの無いiPhoneということで、
Wifiルーターを持っている人にはいいと思います。

そして、iPhone5の周りの反応を見て思うのは、Appleもすっかりコモディティ化したな、ということ。

かつてのAppleはデザイナーか、わざわざ苦労を買ってまで面白い機械を触るギークくらいしか使わないニッチなコンピューターだったのに、今や勉強会に行ってもMac率は確実に5割を超えるような勢い、iPhoneに至っては、電車の車両内の7割くらいの人がiPhoneだったりします。Appleを持つことがステータスではなく、生活の一部になりました。

まあ何を言いたいのかというと、

「Apple製品のAppleロゴがうざく感じてきた」

ということ。なんでだろうなあ。会社のディスプレイはDellだらけだけど、そうは感じないのに。

[Android] Audio Focusで他のアプリの音を止める

http://developer.android.com/training/managing-audio/audio-focus.html

によれば、Audio Focusで他のアプリの音声がコントロールできるそうだ。

アプリに組み込んでみたが、onResumでrequestAudioFocusにAUDIOFOCUS_GAINしたら、、、

 

すごい!音が止まった!

 

相手はWinAmpでしたが、ピタっと音が止まってこちらの音が鳴る。素敵です。

サンプルソースはそのうち。

[Android] WebViewのonPageStartedでJavaScriptを挿入してはならない

某アプリを作成していてハマったことを。

Androidが標準的なブラウザをアプリの中に持つために、android.webkit.WebViewというものを用意しているのですが、addJavascriptInterfaceというJavaScript側からJavaを叩けるようになる便利なものがありまして、これを使っていろいろ試していました。

publicvoid onPageStarted(WebView view, String url, Bitmap favicon) {
    view.loadUrl(jsString);
}

こんな感じでonPageStartedでJavaScriptを挿入したのですが、これがどうも上手く動かない。
いろいろ試して分かったのは、
「onPageStartedでJavaScriptを挿入した場合、 HTMLのレンダリングとJavaScriptの解釈が同時に走り、JavaScriptの値をHTMLに反映できない」
らしいのです。
結局はonPageFinishedで入れ込んだあと、JavaScript側で処理を行なって事なきを得ましたが、
これってハマる人が多そうな気がします。WebViewの挙動にはくれぐれもお気をつけて。