Skip to main content

· 2 min read

話說到職 1 個多月了,每天都在學習,用從來沒想過的技術去解決各種問題的感覺實在很不錯。

昨天剛好有機會到成大計中,和修課的同學介紹 Firefox OS。也剛好把過去幾個月來對 Firefox OS 的了解做了一次整理。

在 1 小時的簡報之後,還接著 2 小時的上機實作課程。

上機課程中我做了一個看來很眼熟的範例,搭配 Github 實際拿來教學的效果也很不錯。

同天西班牙剛好也有個App Days活動,用整天更深入介紹 Firefox OS,簡報也可以下載。

Firefox OS 整個系統運作可以到 http://www.mozilla-hispano.org/archivos/docs/fxosappdaysvall/arquitectura.pdf 查看。(工商服務一下,Firefox 已經內建 PDF viewer,網頁上直接開 PDF 不用先下載)

WebAPI 簡報 http://www.mozilla-hispano.org/archivos/docs/fxosappdaysvall/webapis.pdf

· One min read
(不知道為什麼影片解析度要用360p這麼低)

Mozilla Co. 的 VP of Products Jay sullivan 來展示「Firefox OS」目前的版本, 其中桌面有個「everything.me」功能,除了可以用來裝 Web App 外, 因為 Web 的特性,所以不用像其他平台需要先安裝好再試用 App,而可以直接點選開始使用 App (Web)。 把 web 變成不需安裝、反安裝,隨查隨用的一次性 app 的概念還蠻有趣的。

· 3 min read

一直以來,在業餘時間裡我做了不少 Mobile App,寫了本 Android 開發書籍,參與並研究了一些 Web 框架和服務。前年開始也直接將Play!Django等 Web 框架,和 Android 開發的經驗應用在工作上。

我相信整合 Web 與 Mobile,以雲為基礎建設,讓連網設備 / 使用者得以跨平台在各種終端使用的應用,會是接下來技術的趨勢。

在主持GTUG Taipei 活動的兩年時間裡,跟著學了很多新東西,從中我也發現,現在已經有許多企業級或跟 Mobile App 開發相關的技術,都可以歸類到 Web 技術範疇了:

  • 越來越多人使用 JSON 來取代 XML
  • 各種 RPC 紛紛改成使用 RESTFUL API* non-rel, 適應雲端架構的MongoDB也可直接將資料儲存成 JSON 格式
  • Web Server 端可以使用 node.js 寫,透過 Event callback 形式的呼叫,可以得到很好的效能
  • 可以使用PhoneGap/Cordova來封裝成各行動平台的 App
  • 最近名字跟 Microsoft 連在一起Titanium 也可以用網頁技術生成各行動平台的 App

因此當我知道 Firefox OS 在台灣有開發團隊時, 我告訴自己:這是個可以待在台灣,同時又有可能改變世界的機會。

我很幸運,待的前公司環境與同事也非常好,可以推薦給大家。 當然,也歡迎大家來和我作伙伴

接下來我的分享應該會多出不少 Firefox OS 相關的心得,敬請期待。

· 3 min read

幾周前在 GTUG Taipei 活動,聽了 David Wu 分享的 "A Deep Dive into Android Open Source Project" 演講,回來後對 Slide Menu 效果很感興趣,也在gPaper 改版時使用到這個技巧。

後來我選擇使用的是 Simple Side Drawer 這個 Library https://github.com/adamrocker/simple-side-drawer

Simple Side Drawer 的好處是只要把它提供的 jar 檔放到專案中,就可以搭配如ActionBarSherlock等函式庫一起使用。

使用 Simple Side Drawer

使用時首先是下載 jar 檔放進專案的 lib 目錄中並匯入。

接著需要在 onCreate 中初始化:

> protected void onCreate (Bundle data) {
>    ....
>
> mSlidingMenu = new SimpleSideDrawer(this);
> mSlidingMenu.setBehindContentView(R.layout.behind_menu);`</pre><pre>`&nbsp;`</pre><pre>`}`</pre><pre>`之後在程式裡的任何地方,都可以透過呼叫:`</pre><pre>`&nbsp;`</pre>> <pre>`<code>mSlidingMenu.toggleDrawer();`&nbsp;</code></pre><pre>`

來控制側邊欄的開關。下面以常見的點選 App 圖示來控制側邊滑動選單做例子,來介紹側邊滑動選單可以如何整合到 App 中。

透過點選App圖示控制側邊滑動選單

將 Side Menu Drawer 設定好之後,並不會有按了 App 圖示就開啟側邊選單的效果,需要一些程式碼來控制。

在程式中的 onCreate 或 onResume 裡加入控制碼,強制顯示 App 圖示旁的小箭頭,作為側邊滑動選單的視覺參照,讓使用者注意到 App 圖示點選了還有功能:

ActionBar actionBar = this.getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true);

在 onOptionsItemSelected 的判斷裡,加入點選 App 圖示時的動作:

case android.R.id.home:     mSlidingMenu.toggleDrawer();     return true;

這樣點選 App 圖示後,就會出現開關側邊滑動選單的效果。

· One min read

前年為了慶祝小朋友出生,寫了gPaper (原名 gTracingPaper) 這個描圖 App。

gPaper的特色是除了基本的白板、黑板或任意顏色的畫板可供塗鴉之外,還可以匯入圖片或照片當作底圖來照著描繪。

畫好後的圖片可以單獨儲存,或是將底圖一同輸出 (如上圖效果)。

這次改版將諸多原本在子選單裡的功能都放到如同 G+、FB 的側邊滑動功能選單裡,主界面變得清爽多了,操作時也減少了一次點選步驟。

gpaper App 可以直接從 Play Store 下載。

Get it on Google Play