壁にぶつかりながら都度Updateしていきます。
Control Pointのインスタンスは一つに
例えば、Androidのネットワーキングはmainthreadでは出来ないので、非同期でControlPointを定義しようとします。
protected Object doInBackground(Object[] objects) {
ControlPoint c = new ControlPoint()
c.start();
c.search("upnp:rootdevice");
}
これだと二回目の非同期処理でクラッシュします。startのところです。どうもログをみているとControlPointの処理は継続しているようだったので、ControlPointはstaticにしてみたところ、クラッシュはなくなってsearchが何度でもできるようになった。
static ControlPoint mC = null;
protected Object doInBackground(Object[] objects) {
if( mC == null ){
mC = new ControlPoint()
}
mC.start();
mC.search("upnp:rootdevice");
}
これでも動きますが、singletonにしてあげたほうがよいですね。