Blog - 最新エントリー
意外と時間が掛かっている、その為、接続完了の通知がレシーバに届くまでに時間が掛かる。
MediaSwitchなどはトーストで通知している為、見逃す・・・
という事で、バイブレータで通知します、少しだけ気長に待って下さい。
あと、XperiaユーザにBluetooth関係が動かない様で調査しています。
Xperiaユーザ様、すいません。
Sonyエリクソン仕様なのかな、X10のSDK(エミュレータ)を入手して調べます。
実機が欲しい所、誰か持っていないかなぁ
内容は、ANR keyDispatchingTimedOutイメージ的には、ディスパッチャが
何かを割り当てようとした時にタイムアウトしている様な意味かな?
早速、ログを解析するもまったく意味が解らない(笑)
メインのActivityで発生している模様なのは解った
デバックを実機(2.2)からエミュレータ(1.6)に変えてやってみるもアプリ画面が表示される前に「応答しません」という警告が出る
実機だと強制終了になるっぽい
デバッグで場所を確認したいが場所が判断出来ない、んー困った。
デバックのログを解析するとどうやらOnCreateで発生している模様
初期設定に重い処理(マシン依存)があるとタイムアウトが発生するのか?と仮定して、この処理をコメントアウトする。
と、エラーが出ない。場所を特定出来たので方法を考える。
何かしらOSに返さないとエラーを出すらしい。
この処理は、レイアウトのLISTVIEWに対してなので場所は変えられない
そこで、プログレスダイアログを考えるこれなら、ダイアログ自体と
処理はOSとやり取りする為タイムアウトが発生しないかも知れない
早速、重い処理を開始する前にプログレスダイアログを表示して
待ち合わせをする様に変更すると問題解消、非同期の重い処理は
これをやらないと危ない。
特に(ユーザには悪いが)Xperiaはスペックが良くないので発生する様だ
実機を買わないと行けないのか、マーケットで売れたら考えるかな。
→ 後日分かった事は、onCreate及びonStartの処理に5秒以上掛かると発生するっぽいです。
ですので、メインのUIで重い処理をする時は、Threadで非同期処理もしくはAsysncTaskで切り分けましょう
2.2を使ってみたいけどRUUでのアップロードなのか方法が判らない
バッテリーの事もありアップデートまで純正に戻す事にしたので手順をメモ
(個人の責任で処理を行って下さい、これによって発生した障害などは責任を持ちません、といってもRootedした人なら解ると思うが)
前提
・Rootedである事
・USBドライバが正常にインストールされている事
必要ファイル
・RUU_Bravo_SoftBank_JP_1.18.762.7_Radio_32.34.00.28U_4.05.00.30_2_release_128910_signed.exe
(Xdaなどに有る)
・flash_image(SDカードへコピー)
・mtd0.img(SDカードへコピー)
(Softbankの最新は、1.18.762.7)
1.音量下げ+電源でBootメニューに入る、Recoveryモードへ
2.USBケーブルを接続し画面が黒字に赤い三角の画面が出たら、DOSプロンプトからAmDrsireRecoveryでRecoveryモードに
3.もう一つDOSプロンプトを開いてadb shellを実行(SDKのTOOLSにPATHが通っている事)
4.下記コマンド
adb shell
mount /sdcard/
cd data
chmod 755 flash_image
/data/flash_image misc /data/mtd0.img
cp /sdcard/mtd0.img /data
cp /sdcard/flash_image /data
exitで抜ける。
この時に、/dataに同名のファイルが無い方は、コピーのみ(4,5行目は実行しない)また、SDカードへコピーしなくてもadb pushでPC上の場所を指定してもOK。
5.そのままプロンプトで
adb reboot oem-78
を実行する、X06HTの画面がHTCと出たままになる。
6.RUU_Bravo_SoftBank_JP_1.18.762.7_Radio_32.34.00.28U_4.05.00.30_2_release_128910_signed.exeを実行する
後は画面に従って完了まで。
(Windows7の方は、このファイルのプロパティの互換よりXP SP3で動かす設定と管理者で実行を行う、それをしないと途中でエラーを出す)
すっかり元通りになりましたが、意外と速いしバッテリー食わない
SBの2.2とMMSとを使わなきゃ行けないみたいな制約が無ければまたRootedすると思います。
DesireHDのROMがとても気になる。
なお、ここで使用したファイルが必要な方はメールくれればDowunloadなどの方法を考えたいと思います(それによって出た不具合は責任持てません)
MedhiaSwitchへのコメントでBluetooth関係が使えないというコメントが有りましたが
もし修正等で対応出来るようなら対応させて頂きたいので環境など教えて欲しいです。
本体とペアが確立されていないと反応しないので、ペアを確立した段階でお願いします。
といっても状態が解らないのでプログラムを見直してみます。
折角、買って頂いたのに申し訳無いです。
カスタムROM内のAPNの情報は設定画面に表示されないだけで(SIMで表示制限しているのか解りませんが)
結構いっぱいあります、ODだと1200件、AuraxTSenseでは500件程度いろいろな設定に対応する為でしょうかね
そんなにいっぱい有るのかと驚きます(MMSの設定とか細かく存在する模様)全て消して標準のAPN入れても動くので
不要な情報がいっぱい有るようで気になります。SIM変える人には便利なんでしょうね。
NoSQLがどのくらいのレコード件数に耐えられるか解りませんが(後で調べます)思ったよりレスポンスが良くて驚きです
Select(カーソルで1件ずつ)は意外と掛かりますがUpdateは全件に掛けても意外と速い(一瞬です)
アプリケーションで使う時もSelectの仕方に注意すればレスポンスは問題無さそうです。
突然、謎のバッテリ消費に悩まされている愛機のX06HT
1時間で10%以上、しかもWifiのみでも、しかもスリープ時も
午前中で60%以上減る状態、プログラムのデバックなどでいろいろやったからか
BatteryStatsをWipeした辺りからか、ちょっと耐えられない状態が3日続いている。
夜中に放って置いたら、朝方ほぼ0%消費グラフを見ると真っ逆さまに消費されている模様
原因を判明させる為、いろいろやっていたが
エアープレーンモードにして放っておくと夜中は数パーセント
どうも3G側で激しく電気を食っている模様。。
APNの設定も見直したり、全て消してみたりしたがまったく変わらず。
RADIOとROMを一番良かったと思う、AuraxTSense 7.5.2とRADIO 5.30_2へ戻してみる。
ちょっと様子見してみます。
→ 様子見後ですが、RADIOの書き換えで元に戻った様です。1H/1〜2%位なら許容範囲、ちょっと焦りました^^;
ROM書き換えとRADIOのバージョン戻し、フルWipeをして、ほぼ元に戻りました。
→ それでもまだ消費がキツイので、バッテリーの劣化か判断する為、純正ROMに一度戻しました。普段使いなら2日は持つようになりました、恐るべし純正ROM。
V.1.11 リリースしました。
3G通信をOFFに出来る様になったとも思います。(X06HTの実機で確認しました)
この方法は、APNDroidがとっている方法を用いています。
簡単に言うと、APN(アクセスポイント名)を正しく無い物にして
通信させないと言う手段です。IS01はこれが効かないという噂があります。
なんでこんな事をするかというとその辺の設定は(私の技術かも知れませんが)
セキュリティーに引っかかってプログラム側から制御する事が出来ません
OSからなら出来るのでOS付属の管理ツールなどであれば使えるんじゃなかろうかと思います。
私は、普段Wifi+光ポータブル+B-MobileU300SIMですので3G通信はほぼしませんが
全くしない訳ではありませんので、切り替え出来ると良いなと思っています。
あと、振り方ですが、手首のスナップで早く!!と言うよりは肘を視点に左右に振る方が反応します。
余りふり幅を少なくするとカバンの中とか胸ポケットで反応しますのでそことのトレードオフでになってます
もう少し細かい動きを取れれば面白いですが計算式を考えるのが面倒なので後の楽しみに取っておく事にします。
ご意見・ご感想は下記フォーラムへ
http://three-thread.sakura.ne.jp/tt/modules/d3forum/index.php?topic_id=3
ついにAPNの情報を更新出来た。
という訳で、APNDroidと同じ方式で3G通信を止める事が出来ると思う。
さて、実機でやってみよう!バックアップも忘れない様に。
ShakeSwitch FREEと次期のShakeSwitch MODEに実装しようと思いますが
まずはFREE版に実装しよう。
しかしテーブル名だとかOSのソースから拾って来るんだろうか
OSのソースから解析するのが早いのかねえ。
やっとAPN情報を取得する事が出来た。
DBに格納されているので、それをクエリーで引き出して来る事になる
Where無しで引っ張ってくると(環境に依存するのかも)500件越え!
こんなに入ってるのかよ!無限ループしてるのかと思った^^;
どうやらSIMの情報で表示と非表示を変えてるらしい実際見るのは2件位だし
後は、これを引っ張り出して、名前を変える。
updateか。。。
もうちょい。
自分で開発して、MediaSwitchPROを入れているんですが
BluetoothをONにするのに振ります!ちょっと強め設定なので
電車内とかでONにするのはちょっと恥ずかしい動く振りをして何気に
シェイクしてONにしたりします。
ただ、弱すぎるとカバンの中やポケットで反応してしまう感じ・・・
くるくる回したりとか十字に動かしたりとか面白そうだけど恥ずかしいよねたぶん。