發表文章

目前顯示的是 1月, 2017的文章

BenQ 42CB500 液晶電視(液晶顯示器)開箱

圖片
一直以來都用兩台電腦螢幕同時接了Windows筆電、MacBook Pro、中華電信MOD、Nexus Player,整個桌面其實變的很凌亂。 於是一直有在打算要買台大尺寸的液晶螢幕一次解決,由於還想要能夠坐遠一點來觀看電視(MOD),所以切換訊號輸入希望能夠透過搖控的方式,而目前據說只有EIZO的高階機種才有遙控器,所以也只好直接選擇液晶電視了。 但其實我只想要買32吋的,只是國產的32吋液晶電視解析度最高都只有1366x768,如果要買解析度Full HD以上的就只有40吋以上才有。上網查國產的液晶電視以BenQ的CP值最高,目前BenQ 42CB500在蝦皮拍賣上已經低於萬元,覺得是個還不錯的買點,就直接在網路上訂了一台。 開箱 下訂刷卡的隔天就收到了,收到的時候覺得真的很大台,在大箱子上的視訊盒是另外附的,需自行安裝。 現在很多台灣的廠商都把液晶電視都用液晶顯示器再附上專用的視訊盒的方式來販售。而我因為已經都使用中華電信MOD就沒有要接傳統第四台的訊號了,所以就沒有安裝這個視訊盒。 打開箱子第一個看到的是電視的腳架 其他的箱內配件:遙控器、腳架、固定螺絲、說明書 變壓器建立在電視裡,所以電源線沒有一大塊外露的變壓器,接在插座上比較方便,但液晶電視的機身也滿厚的 但是螢幕的邊框很小 金屬霧黑材質的腳架還滿有質感的 接腳架的方式,要使用螺絲起子,上面也都有寫R/L不會裝錯邊 機身正後方的輸出入插口 機身側邊另一組輸出入接口,最左邊鎖螺絲地方打開就能夠安裝視訊盒 機身另一側是沒有使用遙控器也能操作電視的開關按鈕 接上訊號輸入來源(MOD或電腦),電視已經可以使用了 設定值 由於我也有要把電腦接到這台電視使用,所以能不能有更多的影像細部微調會是我比較在意的地方。在影像調整設定的地方,有幾組影像模式:「鮮明」、「標準」、「劇院」、「用戶」。而使用者自行細部微調的所有設定,會自動放在「用戶」這組設定值裡面。方便在遙控器上可以直接切換不同到設定場景。 影像設定 在影像的設定裡可以調整的有:影像模式、色溫、畫面比例、雜訊抑制、自動對比增強、動態背光調整、伽瑪模式、色彩模式...等項目。 影像模式 可以設定的項目:對比度、亮度、色

如何實作從API抓取資料顯示在列表頁(ListView)上

圖片
透過API取得資料顯示在App畫面,資料由後端的資料庫統一管理更新內容,確保使用者每次開啟App能夠看到最新的資料,並且將資料以列表的方式呈現在App上是很常見的設計,所以一直都有在想要寫實作這種功能的文章。 剛好最近很幸運能夠擔任 Girls in Tech 與 CodePath 合辦的 Android 8週 bootcamp 的其中一位講者,CodePath要求學員要繳交的其中一份作業剛好也是必須要實作出這些功能,就借花獻佛的整理一些內容成為一篇教學文章。 實作結果如下圖: 這篇教學將說明要實作下列幾項功能: 使用3rd-Party Library: 網路連線、讀取/顯示圖片、解析JSON ListView:自訂Adapter、顯示不同類型的item API回傳的JSON內容顯示到列表裡 一、使用3rd-Party Library 專精於某項功能的第三方Library開發團隊,大部份的情況會比獨自一個工程師在實作上考慮到更多的面向,像是網路連線時會有許多的錯誤判斷處理。加上開發的時程有限,建議如果像是網路連線及讀取顯示圖片這種屬於App基礎建設的部份,可以使用第三方的Library就好。 但若是客制化的UI元件如果在開發時程內來得及的話則不太建議使用第三方Library,原因是UI視覺的東西很容易在客戶看過之後希望工程師能再修改調整,使用別人的Library不是自己撰寫的程式內容有可能會比從頭刻元件還要花更多的時間。 1.解析JSON 這邊使用的是Google推出 用來方便建立與解析JSON格式的 Java Library: Gson 。雖然就算沒有使用Gson也是可以自行使用 getJSONObject、getJSONArray如同剝洋蔥一層一層慢慢解析,但如果API的設計非常複雜的時候,一層一層慢慢解析就會變得相當費工,使用Gson則是可以更方便用「點」的方式進入一層一層的解析出JSON裡的值。 a.首先在Gradle裡面加上 dependencies { compile ' com.google.code.gson:gson:2.6.2 ' } b.透過API回傳的Json格式定義資料模型的class 假設我們有個api回傳的JSON如下: 我們觀察這個JSON可以看到,是包

Gson發生錯誤訊息: Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 10 path

圖片
會發生這個錯誤訊息的原因,在於定義某個Json回傳格式有錯誤,像是上述的錯誤就是定義回傳為Object,但收到API回傳的格式為Number 假設我們有個api回傳的JSON如下: 而在撰寫Gson class時定義時不小心寫錯了回傳格式: 就會發生上述的錯誤訊息,解決的方法,再仔細檢查一遍定義格式的Gson class有沒有寫錯,改成下圖的格式就正確了。因為api回傳的JsonObject第一個值是int, 之後才是包了JsonArrary。