自分用メモ

Androidマーケットの使用が9月あたりに変わって
android.hardware.screen.portraitの機能制限が加わるようになった際に、
いろんな端末が弾かれ慌てて、
Activityの画面の向きをmanifastでの
android:screenOrientation="portrait"の指定から
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)などに変更したりしました。

ただsetRequestedOrientationをonCreateで呼び出すと一旦Activityを破棄するのが原因かどうかわからないけど、
始めから横持ちして画面遷移してきた時に強制終了していましたが、
manifastのactivityタグに下記を記載することで解消されるみたいです。

android:configChanges="keyboardHidden|orientation"

この記述をするとActivityが破棄されずにonConfigurationChangedを通過するようになるみたいで、
一度Activityが破棄される事による弊害を回避するのにもいいかもしれないです。




api level8まで、つまりAndroid2.2までは
java.util.Arrays.copyOfRangeがdalvikに含まれていないらしく使用できない。

そんな場合はSystem.arraycopyで代替functionを書いて
自作Utilクラスに追加しておくと便利

public static byte[] copyOfRange(byte[] array, int start, int end){
   &nbspint size = end - start;
   &nbspif(size <= 0) {
       &nbspreturn null;
    }
   &nbspbyte[] array_ret = new byte[size];
   &nbspSystem.arraycopy(array, start, array_ret, 0, size);
   &nbspreturn array_ret;
}
HTC EVO 3Dのadb driverは
android-sdk-windows/extras/google/usb_driver/android_winusb.infの
x86に
-----------------------------------------------------------------
; HTC Evo 3D
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0CBA&MI_01
------------------------------------------------------------------

と追記してあげると、HTC Syncのインストール不要なので幸せになります。

知らない人のために追記すると
USB デバイスのデバイスIDを調べてgoogleのドライバに追記していけば、
ほぼ全ての端末がドライバインストールをgoogleのドライバで済ませられます。

MACだとこんなのに悩まないんですけどね。