【unity】スレッドでudp通信受信時、アプリを終了する時に固まる?

unity(c#)でudp通信を受信する処理をスレッドに書いていたが、
OnApplicationQuitにthread.Abort();を入れても、
そこで止まっているのか、アプリがフリーズしてしまっていた。
(unity editorの状態ですら落ちていた)

Thread周りが問題なのかな…と思っていたが、
client = new UdpClient(port);して作成していた、
UdpClientをクローズしていなかった事が問題の模様。
(Tread関係なく、ここで止まっていた)
client.Close();をAbortの後に入れることで、落ちなくはなった。

google maps httpsから表示されない?

https内のページに置いた場合、
単純に、httpsの時の場合の指定をしなければいけないだけだった。


表示されなかったケース:
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></scrip

t>

表示されたケース:
<script src="https://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></scrip

t>

読み込みページに依存する、以下の方法でも表示された。
<script src="//maps.google.com/maps/api/js?sensor=false" type="text/javascript"></scrip

t>

【iOS】phpからAESの文字列を受け取り、それをDecryptしたい

例えば…
共通の鍵:dylug94fp31lsift があり、それを使って、
342075b10a0bbf52d09b5bad92cbed66
というphpから渡された文字列をDecryptしたいとする。

その場合、一旦、バイト配列に変換する必要があった。

http://iphoneappcode.blogspot.jp/2012/04/aes-encryption-and-decryption.html
(↑サイトの、dataFromHexStringという関数を参考にした)

XmlPullParserException: PI must not start with xml .. でパースできない(BOM付きxmlの扱い)

utf-8xml、bom付きのファイルを解析する必要があったが、
そのままPullParserに入れると落ちてしまった。

ファイルそのものの保存形式を変えたいと真っ先に思ったが、
諸々の都合でそれは出来ず…

調べると、やはりbomを何とかしないといけないようで、
HttpGetで取得したbyte array(下記の変数result)の値を、

String xmlStr = "";

if(result[0] == (byte)0xEF && result[1] == (byte)0xBB && result[2] == (byte)0xBF){

 //UTF-8 BOM付きであれば頭削除

 xmlStr = new String(result, 3, result.length - 3 , "UTF-8");

}else{

 xmlStr =  new String(result, "UTF-8");

}

というように、頭にbomがあればトリムして文字列化した物を
PullParserに渡すようにしたら、無事エラーは起きなくなった。

参考:http://www.geekality.net/2011/05/23/java-how-to-deal-with-the-bom-in-a-unicode-inputstream/

iOS SDK5で、iOS3.1.3向けに書き出す場合

libSystem.B.dylibをOptionalに設定する必要がある。


※もし無ければ、自分で追加して設定する必要がある模様です。

【Java】特定のclassのstaticなプロパティに、動的にアクセスしたい

大量にある、連番のstaticなstring propertyに一気にアクセスさせたいと思い…調べると、以下のような事で実現可能だった。(まあ…javaなのでちゃんとclass設計しておけば、このようなバグを招きやすいような処理を入れることもないでしょうけど…(^o^))


Class utils = Utils.class;//Utils classへの参照を取得

  Field keyName = utils.getField("STATIC_FIELD_SAMPLE" + 0);//"STATIC_FIELD_SAMPLE0"というstatic propertyへの参照を取得

  String resultStr = (String)keyName.get(null);//"STATIC_FIELD_SAMPLE0"に設定されている(この場合は)文字列を取得

(※本来は、上記はtry〜catchで囲わないと警告が出ると思われます)

Androidで実行時、windowのbackgroundに画像を設定していると、遷移時にdefault.pngが透ける

Androidで実行時、windowのbackgroundに画像を設定していると、遷移時にdefault.pngが一瞬透ける(初回は抜けない、2度目以降に抜け出す。default.pngを表示しない設定にすると、今度は真っ黒な表示が一瞬出る)という問題が3.0でも未だに直っていない…。(iOSでは問題無い)

なので、開かれる側のwindowにはほぼ必ずviewを置くと思うので、そこのbackgroundに指定する必要がある。

…3.0で結構Androidが改善されたというアナウンスが合ったけど、あまり2.0系と変わっていないような…