2013年7月30日

Nexus 4の赤LEDは完全放電を表しているが、文鎮とは限らない

Android 4.3のFactory Imageを焼いたNexus 4ですが、妙にスクリーンオフ状態の電池消費が激しいな、と思っていたら一晩で完全放電、ACに差してもうんともすんとも言わなくなりました。

Nexus 4 brick battery drainあたりで検索するとどうも赤LEDモードは完全放電の意味であることが判明。

Final fix for Nexus 4 red light of death
http://forum.xda-developers.com/showthread.php?s=4acb7bba0654e806f6f71096c669df0b&t=2250454&page=2
「完全放電死したNexus 4の裏フタをあけて、直接充電して復活させたよ。爆発には気を付けてね」

うわー、これはやりたくないなー、と思いつつ未練がましく検索していたら、赤LEDモード=死とは限らない旨の主張がいくつか見つかります。

Red notification light on Nexus 4, device unresponsive
http://android.stackexchange.com/questions/39548/red-notification-light-on-nexus-4-device-unresponsive
「赤LEDは完全放電の意味で、それはイコール死じゃない。USBじゃなくてしばらくAC充電してたら充電中アイコンが表示されるようになったよ」

Nexus 7の事例ですが、どうやら付属AC充電器とケーブル状態・ボタン状態を組み合わせた復旧(チェック?)ルートがいくつかある模様です。私の例では、「1AのACで30分ほど充電→ケーブル抜き+すぐ差し→電源ボタン15秒長押し」で充電中アニメーションアイコンが復活しました。

My Nexus 7 (2012) won't turn on
https://support.google.com/nexus/7/answer/2668668?hl=en&ref_topic=2840575&rd=1

良くわからないですけどそもそもN4の電池もちがマズイ状態になってるのを直したいのですよね...。

2013年7月 1日

obj-cで文字列リテラルのprefixとかsuffixな連結

Javaで文字列リテラル定数を定義するのに、

static final String PREFIX_HTTP = "http://";
static final String URL = PREFIX_HTTP + "hogehoge.com";

みたいにするやつをobj-cでもやりたいなと思いつつ、できないと勝手に思ってたのですが

@zaki50に「Cだとよくみるふつうの」とか言われて、ああ、そういえばとか思い出しました。

結局のところ、こういうことです。

// #define "hogehagehige"に同じ
#define STR_HOGE "hoge" "hage" "hige"

// @"hoge1hoge2hoge3"に同じ
static NSString * const HOGE = @"hoge1" "hoge2" "hoge3";

// prefix/suffixな連結はこうできる
#define HTTP_PREFIX "http://"
#define COM_SUFFIX ".com"
// http://www.google.com になる
static NSString * const URL_GOOGLE = @HTTP_PREFIX "www.google" COM_SUFFIX;
// http://www.yahoo.com になる
static NSString * const URL_YAHOO = @HTTP_PREFIX "www.yahoo" COM_SUFFIX;