2015年12月28日 星期一

為 Android 專案加上 Material Design 風格的 Navigation Drawer

最近手機從 htc 換成 Nexus 5x,很多原本用慣的 htc 內建 App 都要自己重新找替代品,在氣象方面找到的大部份畫面我都不喜歡,於是打算利用幾個週未晚上的時間自己製作了一個基於 Material Design 的版本,內容當然是來自中央氣象局,所以資訊的豐富程度應該會比 Google 氣象來得充足,正好是一個從頭寫起的乾淨專案,所以很適合用來一邊寫一邊 copy 程式碼做紀錄,這篇就是在記錄怎麼從單一 MainActivity 改到有 Material Design 規範的 Navigation drawer 並將 ActionBar 換為 Toolbar。

首先來讀一下 Material Design 的 Drawer guideline:Navigation drawer

2015年8月27日 星期四

給 iOS, Android 開發者的 Windows App 開發基本功

前陣子在 Channel 9 上了一篇 Windows App 的開發入門影片,再將片中的 slide 與 sample 記錄在此,供有興趣入門 Windows App 的 iOS、Android 開發者看看。

2015年8月26日 星期三

Universal Windows Platform (UWP) App 開發資源整理

Windows 10 推出後,不論是針對開機與運行速度或操作直覺性,的確獲得非常多好評,近期在社群上也看到一些公司開始招聘 UWP 應用程式開發人員的消息。

此外,也許還有不少未入門的開發者不清楚,所以特別提兩件事,第一,使用 Visual Studio Community 開發 UWP 是完全免費的。第二,建立 UWP 的開發者帳號上傳 App 只需要付一次性的 19 USD 費用,是目前所有平台中成本最低的。

底下整理了一些 Universal Windows Platform 的開發與設計資源讓有興趣入門的開發者們參考,如果希望看到繁體中文的內容,可以把 en-us 改為 zh-TW 即可。

2015年4月18日 星期六

Android Accessibility

關於 Android 的無障礙支援文章非常非常的少,中文搜尋結果大多都是將 Android Developer 官方文件翻譯成簡中的資源,繁體中文的資料文章和範例似乎一個都沒有,所以我想還蠻適合來仔細的寫一篇 Android Accessibility 實作教學…

2015年3月22日 星期日

9-patch 紅線標示作用

9-patch 圖檔上下左右的黑線,對於 Android App 的開發者來說應該是相當的熟悉,但在官方的一些 sample 專案中可能會看到畫著紅線的 9-patch 圖檔,這是在 Android 4.3 ( Level 19 ) 才開始支援的標示方法。

2015年3月21日 星期六

Android TV 入門

前陣子公司某個產品線開發 Android TV 的版本時和同事一起 survey 了有關 Android TV 的 Leanback API,趁著記憶還在寫篇筆記。

2015年2月28日 星期六

初級技術團隊管理的經驗分享

2014 年 3 月被指派接任一位離職主管的空缺,至今滿一年了,記錄下這段時間產生的一些心得及經驗。這些都只是個人想法,沒有任何理論根據,大概不認同的聲音會很多。但就如同一直以來撰寫技術筆記的想法一樣,想到可能還是會幫助到一些晚輩,也可以讓 2、3 年後的自己回頭看看有沒有進步,那就來分享一些我期望自己在這個角色上做的事。

工程師自我管理經驗分享

2014 年初,大概距離現在一年前吧,工作型態變得和以往很不一樣,編程的時間少了許多,這陣子時常會回想自己還是一個單純的工程師時做的事而懷念起那種日子,有點擔心日子久了,一些細節和從工程師角度思考的初衷會慢慢忘掉,所以我想寫一篇當了 5 年工程師所累積的心得,也許可以幫助到一些晚輩,甚至未來的自己。

2015年2月18日 星期三

避免 Lint 發出 Incomplete translation 錯誤

在編譯 apk 時若有跑 Lint 檢查,偶爾會被提示字串未翻譯的問題,大致上類似以下訊息

2015年1月30日 星期五

使用 Google Play-Service 而造成 Unable to execute dex

Google Play-Service Library 算是撰寫 App 必用的幾個 Library 之一,但很麻煩的一點是它很大,很多東西不一定會用到,以我的專案為例,目前就 Google Analytics、GCM、Google Cast 這三個而已,而一個 Java dex 檔案中受限於 65536 個 methods,身邊不少開發者朋友因為使用了 Play Service 而發生爆 method 的狀況。

2015年1月27日 星期二

在 Jenkins Server 使用 git 的注意事項

如果選擇在 mac 環境上建立 Jenkins 服務,且是使用 官網提供的自動安裝包 來建立,在使用 git plugin 時可能會碰到一些情況

2015年1月24日 星期六

使用 Lint 檢查是否使用大於 minSDKVersion 的 API

Lint 是一個 Android SDK 內建的靜態分析工具,放在 SDK 的 tools 資料夾底下,如果已經將編譯工具轉換至 Gradle 後,每次編譯皆會自動執行 Lint 來檢查專案的安全性、效能等潛在問題。