http://www.c2.com/cgi/wiki?DoubleBraceInitialization
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.6
原來Java除了 static initializer 之外
還有 instance initializer
不過這方法很少用到
因為其實constructor 就可以了
不過在Anonymous inner class時
因為他們沒有 constructor
這時就可以用 這instance initializer 來達到同樣的功能了
Monday, March 21, 2011
Wednesday, March 9, 2011
softlink for Android build system
最近試著在mydroid裡 某個folder下用softlink 指到mydroid外的folder
而發現mydroid一直找不到我的這個softlink指的地方
看了看build/底下的code
最後原來是
http://android.git.kernel.org/?p=platform/build.git;a=blob;f=tools/findleaves.py;h=0adf188f9bb5b1e8ced951795cbc8bafdd43cfaf;hb=HEAD#l31
裡的os.walk() default是沒有follow softlink的
http://docs.python.org/library/os.html#os.walk
所以把原本裡的os.walk(rootdir)改成
os.walk(rootdir, TRUE, NONE, TRUE) 就好了
而發現mydroid一直找不到我的這個softlink指的地方
看了看build/底下的code
最後原來是
http://android.git.kernel.org/?p=platform/build.git;a=blob;f=tools/findleaves.py;h=0adf188f9bb5b1e8ced951795cbc8bafdd43cfaf;hb=HEAD#l31
裡的os.walk() default是沒有follow softlink的
http://docs.python.org/library/os.html#os.walk
所以把原本裡的os.walk(rootdir)改成
os.walk(rootdir, TRUE, NONE, TRUE) 就好了
Friday, February 25, 2011
在webview裡用iframe
之前在android上 試著用WebView來load一個我自己的html
而這個html裡面就一個簡單的iframe會去load google.com的page
但發現這個page一直不能被load進iframe
研究了webkit許久後
才發現
http://android.git.kernel.org/?p=platform/external/webkit.git;a=blob;f=WebCore/loader/MainResourceLoader.cpp;h=3e75880483e2a772d05be1a9ab04542c6d53cc34;hb=2943c136f14cf8d0631249dd8764a0b6ab45fb98#l316
是這裡cancel掉
而原因是http-header裡有著
x-frame-options:SAMEORIGIN
而load的page(google.com) 跟原本這個html(我自己的test html)的origin並不一樣(host)
所以造成了iframe裡的google一直load不進來
而這個html裡面就一個簡單的iframe會去load google.com的page
但發現這個page一直不能被load進iframe
研究了webkit許久後
才發現
http://android.git.kernel.org/?p=platform/external/webkit.git;a=blob;f=WebCore/loader/MainResourceLoader.cpp;h=3e75880483e2a772d05be1a9ab04542c6d53cc34;hb=2943c136f14cf8d0631249dd8764a0b6ab45fb98#l316
是這裡cancel掉
而原因是http-header裡有著
x-frame-options:SAMEORIGIN
而load的page(google.com) 跟原本這個html(我自己的test html)的origin並不一樣(host)
所以造成了iframe裡的google一直load不進來
Thursday, February 17, 2011
Android Webkit enable SVG
想要在android上的webkit enable SVG
看了 http://code.google.com/p/android/issues/detail?id=1376 後
拿裡面這個patch來build
除了要ENABLE_SVG=1 ENABLE_SVG_ANIMATION=1 (也可用在buildspec裡)外
發現一直有compile error, animateTag undefined之類的
然後把make_names.pl裡面的SVG_FLAGS印出來
發現真的少了ENABLE_SVG_ANIMATION
就在花了很多時間在看是make沒處理好還是perl
怎麼找都找不出問題
最後把他clean後再build一次
就ok了...............................XD
看了 http://code.google.com/p/android/issues/detail?id=1376 後
拿裡面這個patch來build
除了要ENABLE_SVG=1 ENABLE_SVG_ANIMATION=1 (也可用在buildspec裡)外
發現一直有compile error, animateTag undefined之類的
然後把make_names.pl裡面的SVG_FLAGS印出來
發現真的少了ENABLE_SVG_ANIMATION
就在花了很多時間在看是make沒處理好還是perl
怎麼找都找不出問題
最後把他clean後再build一次
就ok了...............................XD
Friday, February 11, 2011
Android webkit裡的GIF Animation
大家一直在吵說android的webkit到底有沒有support animate GIF
有的人說有 有的人說沒有
雖然在config.h 裡 是有define ANDROID_ANIMATED_GIF
但其實關鍵是在ANDROID_LARGE_MEMORY_DEVICE
而這個option只有在比較後面的device 才有enable, 像nexus one
http://android.git.kernel.org/?p=platform/external/webkit.git;a=blob;f=Android.mk;h=21f6cf4e8b7d65479cbeb741f63a17b2d94f8238;hb=HEAD#l242
而android emulator上 並不會enable這個option
參考
http://allstarschh.blogspot.com/2010/11/default-javascript-engine-on-froyo.html
所以就目前Android 2.3上只有在device上才能看到animated GIF emulator上不行
如果一定想要在emulator上跑的話
就要自己enable ANDROID_LARGE_MEMORY_DEVICE 這個option了
有的人說有 有的人說沒有
雖然在config.h 裡 是有define ANDROID_ANIMATED_GIF
但其實關鍵是在ANDROID_LARGE_MEMORY_DEVICE
而這個option只有在比較後面的device 才有enable, 像nexus one
http://android.git.kernel.org/?p=platform/external/webkit.git;a=blob;f=Android.mk;h=21f6cf4e8b7d65479cbeb741f63a17b2d94f8238;hb=HEAD#l242
而android emulator上 並不會enable這個option
參考
http://allstarschh.blogspot.com/2010/11/default-javascript-engine-on-froyo.html
所以就目前Android 2.3上只有在device上才能看到animated GIF emulator上不行
如果一定想要在emulator上跑的話
就要自己enable ANDROID_LARGE_MEMORY_DEVICE 這個option了
Monday, January 31, 2011
Tuesday, January 25, 2011
Subscribe to:
Posts (Atom)