Androidスマートフォン向けアプリを
Androidのタブレット上で動作するように改造していたら
動作中に「NetworkOnMainThreadException」が発生しました。
・・・なんだかわからなかったので調べたところ
こんな記事がありました。
RainbowDevilsLandの記事より
NetworkOnMainThreadException
内容によると
携帯向けのAndroidアプリをAndroid3.0のタブレットで動作させると、NetworkOnMainThreadExceptionが発生している箇所があった。
どうもAndroid3.0からメインスレッド(UIスレッド)から通信を行うとNetworkOnMainThreadExceptionが発生するようになったようだ。
まさにそのとおりです。
【これを回避する方法】・・・(かもしれない)
エラーの文言通り、メインスレッド上に通信処理を記述しなければOKか・・・と思い
(まぁ、もともとメインスレッドに処理書いてた私が悪いっすね)
通信処理を外に出したユーティリティクラスを作ってそれを呼ぶようにしました。
・
・
・
あ、なんとか動いた。(NetworkOnMainThreadExceptionが出ない)
・・・そんなことか・・・
チャンチャン♪