LoginSignup
40
39

More than 5 years have passed since last update.

対ガラパゴスAndroidのTips

Last updated at Posted at 2015-01-27

概要

メーカーが独自の仕様を盛っているAndroidにはどこかしらに謎の仕様や不具合が存在します
残念ながらAndroidアプリ開発者はこの事実を受け入れて開発を行わないといけません
本ページには避けなければいけないそれらの謎をまとめています

発見、もしくは思い出したらドンドン追記していきます
編集リクエストもお待ちしております

昔のXperia

bottomRightRadiusとbottomLeftRadiusが逆になっている

昔のXperiaでは android:bottomRightRadius と android:bottomLeftRadius が逆になっています
つまり四つ角の左上・左下にRadiusを設定しようとすると、左上・右下にRadiusが設定されるということです
もちろんその他の端末では正常に左上・左下とRadiusが設定されます

ごく一部のSHARP端末

CharSequenceをStringにCastしようとすると落ちる

ごく一部のSHARP端末ではCharSequenceをStringにCastしようとすると ClassCastException が発生します
toString() でコンバートするようにチームで徹底すると幸せになれます

Galaxy

EditTextが9000文字までしか入れられない

ソース:http://pandora.sblo.jp/article/44144389.html

GalaxySはすべてのViewに自動で9000文字をmaxに設定しています
android:maxLengthをInteger#MAX_VALUEにするか、@nullを入れると無制限にできます

SharedPreferencesが読めなくなる状況が生まれる

アプリのプロセスのユーザIDは使いまわされることと、GalaxySではSharedPreferencesのファイルの実体が通常とは別のところに保存されること、そしてアプリのアンインストール時にそのファイルが削除されないことの合わせ技で、再インストール後に残骸ファイルを作ったユーザIDとアクセスしているアプリのユーザIDが異なる状況が生まれ、ファイルににアクセスができなくなり、結果SharedPreferencesが読み書きできなくなります

WebViewでSIGSEGVする

絵文字関連でバグが有るらしい(ということまではメモリダンプから分かりましたがどうしたら良いか等不明…)。バグを踏むとSIGSEGVでアプリが静かに落ちます

HTC

Gsonが使えない

ソース:https://code.google.com/p/google-gson/issues/detail?id=255

アプリでGsonを使うと、アプリ起動時にクラスローダ上に何故か2つのGsonがロードされ、片方(アプリ側)がVerifyErrorになり、結果Gsonに依存するクラスを使用した時点でクラッシュします
Gsonのパッケージを無理やり変えてやる必要があります

低解像度の端末

View, Drawableにおいてサイズを0.7dp未満に指定すると描画されない

低解像度の端末において View や Drawable で0.7dp未満にサイズを指定すると描画されない端末がある

40
39
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
39