Android 手機開發和機頂盒開發的區別(軟體角度)
通過開發電視類的應用和手機的應用,感覺主要有以下三種區別:
1、 解析度 的不同
手機的分別率320*480,480*800,480*854)
機頂盒 :TCL800:800x450 TCL720P:1280x720
機頂盒普遍比手機的解析度要大很多而且寬要比高要要多,比如當前流行的手機分別率為480*800寬為480 高800。而電視的螢幕大部分是寬要大於高的,比如TclSdk中的模擬器的解析度1280*720(寬是1280、高是720)寬要大於高的。開發者在做佈局方便的開發的時候要注意寬和高的比例。如果寬要大於高在做tab也顯示的時候就能只是顯示一個tab頁的內容了,要顯示三個或者兩個tab頁的內容了。在做ListView 的時候ListItem的長度要做適當的調整,或者內容做一些填充這樣使用者體驗才會更好一些。在一般的layout 一行可以顯示的空間就會更多。比如:一個登陸頁面在手機佈局上是 兩個上下排列的EidtText 然後 EditText控制元件的下方會有兩個水平排列的button;但是在機頂盒開發的佈局就要兩個EditText 要水平排列而且button的寬和高肯定要做適當的增寬 中間要加部分空隙這樣才夠協調。以上只是拿幾種情況做了一下比較,在(電視)上做應用佈局上還是要開發者下一番功夫的。
2、 控制方式的不同
在手機上開發應用控制的方式主要有這麼三種 鍵盤、光感按鍵、觸控式螢幕,現在的手機主要是通過光感按鍵和觸控式螢幕。這種通過觸控獲取焦點都是比較容易的,這一點sdk裡的控制元件支援的比較好的而且使用者體驗也不錯。但是電視上開發的應用操作都是用遙控器來操作,獲取焦點相對複雜一點。比如當前的頁面沒有控制元件獲取焦點,就需要你通過控制遙控器的上下左右方向鍵去獲取焦點,這樣做當然可以但是使用者體驗上就會差很多。所以在電視上開發的應用基本上都是先讓該頁面上的某一個控制元件獲取焦點處於活動狀態(讓使用者一下就知道該怎麼處理焦點)。
3、 網路連線方式 機頂盒可以有有線
現在機頂盒上普遍都有RJ45介面(網線介面),也就是說可以通過網線連線網路。手機是沒有網線介面,我們做的都是基於無線模組的開發(wifi,行動網路)的開發。在sdk中只有wifi 和行動網路相關的api 但是沒有網線相關的api。所以要獲取網路地址和其他相關網線相關屬性就不能直接通過api來獲取。但是也是有辦法的。android的核心是linux 咱麼可以通過執行linux shell 來獲取android系統的相關屬性比如:獲取mac地址 Runtime runtime = Runtime.getRuntime(); runtime.exec("ifconfig eth0"); 雖然比較山寨但是也是比較實用的。