March 7, 2010

Nexus One -programming

把玩了這麼久,總該做點正事。

把公司開發的軟體直接丟上去跑的結果,就是出現了搞笑的超小字的界面,UI layout整個亂掉。果然1.5到1.6的升級不是升假的,難怪market上面一堆軟體都以這為分界,切成兩個版本發布,也難怪一堆使用者都覺得拿著1.5的magic整個很像孤兒一般。

把project改了一些相關設定之後升級至1.6的SDK,原以為惡夢到此為止。結果才發現核心部份也有少許不相容,造成底層沒有反應。這問題目前尚待解決。

UI Layout。
UI亂掉的部份主要是因為1.6以上開始支援One app, Multi screens。更多技術內容可以參考這裡。我這邊具體的作法是先把底下這段加入Manifest.xml中。

然後再改用1.6的SDK去build,如此一來UI的layout就可以保持原樣了。

不過SDK有說,這樣做是讓它跑在相容模式底下,會不會有什麼performance issue我就不清楚了。也許比較好的方式還是依大中小三種尺寸做不同的UI設計吧。

Root Directory。
另外玩一玩就發現,原本應該"/"底下每個folder都可以正常進去的,到了N1上卻發現某些folder沒辦法 listFiles了。原本的code沒有去check listFiles()得到的東西是不是null,這就是造成crash的原因。

在N1上,"/config"與"/cache"對這兩個folder listFiles()會return null,如果有去掃folder的請稍微注意。

像這幾天用aFile Lite也有相同的crash的狀況,同時還造成http server沒有反應的問題。不過只要把軟體設為"只管理SD卡的文件",一切就又恢復平靜了。



然後然後還有一個看起來是N1的bug。順便也寫在這邊。
我在使用某些ap的時候,比如PlurQ,如果按home回主畫面,會回到主畫面的右邊那一頁(但應該回到中間那頁,按home都是回中間那頁呀。),而且桌面上所有widget或者icon會全部不見!需要左右滑過桌面才會再回來~

這個狀況似乎不是每次會發生的,目前還沒找到什麼固定的步驟可以複製出來。就是有時候會,有時候又不會那樣。

然後之外網路上有討論到的,點一點變兩點的狀況今天早上也發生過一次,不過在關掉螢幕再打開之後就恢復正常了。看樣子是軟體bug吧。




結語。
總的來說這還是隻不可多得的好手機啦~ 也是一個工程師的超棒玩具!夠我把玩好一陣子不會膩的了!

0 Comments: