【Android 4.3以降のエラーに対応】いまから帰りますメッセンジャー v13.1.2をリリース

Android 4.3以降の機種で起動エラーになる問題に対応しました。

保存したデータの末尾に改行が含まれると、
Android4.3以降の機種では余分な文字列(スペース)が
付加されてしまうという問題でした。

■問題の詳細

現象
手元のNEXUS 7(4.4)では、以下の手順で現象が発生します。
①SharedPreferences.Editor#putStringで末尾が"\n"(改行)の文字列を保存します
②そのアプリを再インストールする
→すると、末尾の"\n"の後に、何文字かの空白(ブランク)が挿入されてしまいます
 本アプリの場合、この空白の行を読み込んだとき、意図しない文字列であったため、エラーになっていました。

<補足>
・このエラーが発生しているバージョンは4.3以降の機種でした
・なかなかWEBに情報がなかったのですが、以下のサイトで同様の現象を指摘している投稿を見つけました

http://www.developpez.net/forums/d1411001/java/general-java/java-mobiles/android/probleme-sharedpreferences-android-4-3-a/

対策
回避策になるのですが、SharedPreferencesで保存した文字列の末尾の"\n"を
別の文字に変換して保存し(例えば"\n"→"<br>")、読み出し時に元に戻すようにしました。

ただ、なぜ空白文字が挿入されてしまうのか?
という点については何も分かっていません。
また、NEXUS 7の場合は、アプリのバージョンアップ時に挿入されたのですが、

別の端末では、バージョンアップ時とも限らない気がしています。

なにか情報をお持ちの方がいらっしゃいましたら、
是非、ご教示ください(_ _)

■備考

不具合のご報告と
調査のご協力ありがとうございました!

対応が遅れてしまってすみません(_ _)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>