Android 3.0平板點餐系統(結合POS印表機)
目錄:
一、專題目的
二、學習內容
三、系統架構
四、開發過程
五、運作成果
六、Live Demo影片
1、專題目的:自Android 3.0平版系統問世以來,有許多原本在手機螢幕上無法發揮的應用得以在平板電腦上實現。而艾鍗學院此次將結合Embedded Linux與 Android應用程式開發兩項課程實作,將Android平版電腦點餐軟體搭配發票列印機運作。APP應用軟體不再僅僅只是跑跑遊戲或是上上網、看看影片,而是可以結合其他硬體進入另一個商用的領域。
另外,由於此專題同時橫跨了APP軟體開發、嵌入式系統開發兩個領域,因此我們將以貼近業界實作專案的角度,來帶領學員了解如何從無到有去建構一個可商品化的專案,如何建構一個專案應有的設計流程、架構分析,到最後的產品驗證與實作驗收,使學員能即早了解與具備進入相關產業應有的工作技能與工作方法。
2、學習內容: Android 相關:1. Android 3.0 程式設計: UI設計、資料庫表單設計、執行緒管理、各元件之間的協調整合。
2. Android 3.0新元素Fragment元件,用於平版上建立Menu互動頁面。
3. Android 3.0軟體架構設計、物件導向模式將POS系統各元件模組化至不同的package與Class。
4. Android Adapter實作:繼續Android Adapter元件擴充開發成適合Menu與Product List呈現模式的Adapter元件。
5. Android互動UI元件開發、加入觸控式互動元件(Quick Action元件、Page View元件….),加強軟體的操作流暢性。
6. Android Print Driver開發: 將POS Print Protocol整合進Android軟體中。
Embedded Linux相關:1. Embedded Linux WiFi Print Server Porting。
2. Embedded web services Goahead Porting。
3. Embedded Linux 系統整合(F/W Upgrade機制、Shell Script系統元件流程撰寫、
Linux Print Server Porting) 。
4. POS Print Protocol 實作。
5. USB Devices 整合開發。
3、系統架構:
4、開發過程:Android à Print Server 端(Android 3.0):1. 專題發想、功能定義
2. Android POS UI介面圖面設計(ICON繪製、版型設計、美工繪圖)

3. SQLite 關連式DataBase設計(正規化)

4. Android UI Layout (切割UI產生對應的XML佈局檔)



5. 軟體架構設計: 導入Design Pattern設計各元件的溝通介面與抽像類別。

6. 軟體元件設計: 將架構中定義的各Java介面與抽像類別實作完成。
以下為列舉幾個比較重要的類別:
CheckOutAdapter:將己購買的產品清單資料,以ListView的方式呈現出來,此Adapter將實現ListView中每一條Product的呈現方式。
SqlObject:為一抽像類別,用於封裝資料庫存取的資料。
ProductPageAdapter:產品瀏覽頁將以PageView的方式呈現,PageView元件為修改至Gallery而來,將Gallery修改為每滑動一次只顯示一頁。而此Adapter將負責實現將資料庫中取得的資訊呈現在每一Page UI畫面中。
ProductProfile:SqlObject的實作類別,封裝所有與產品有關的資訊。
DataBaseDefine:定義所有的SQLite資料表單。
PosDbAdapter:Database存取的中繼層,以提供Activity頁面較高階的SQL存取API。
CheckOutMenu:己購買清單元件,負責控制不同元件之間的關連性與資料變化。
GlobalVariable:繼承至android.app.Application ,用以當做廣域的常數儲存空間。
7. Android程式碼實作(Activity頁面開發),撰寫與用戶互動的Event Listener事件處理。

8. Print Protocol設計實作
9. UI細節調整(色彩配色修整、字體與圖型大小調整,元件空間比列調整)
10. 測試與驗證程式
PrintServer à POS Print 端(Embedded Linux):

1. 開發平台SDK整合(Toolchain Kernel, rootfs,redboot)
2. CrossCompiler改用uclibc以縮小Code Size.
3.BootCode修改(ram disk 大小變更 , tftp f/w upgrade修改)
4.Flash Tool implement(Configure Data儲存用 )
5.Printer Services Porting(SMB,LPR)
6.WiFi Driver Porting (Ralink RT2880)
7.Linux啟動與軟體整合流程(Shell Script撰寫)
8. WiFi init 與configure script 撰寫
9. WebServer implement (Goahead)
10.Web UI Page(f/w upgrade, factory tool, tcp/ip setup,admin…)
11.Web F/w Upgrade機制撰寫

5.運作成果
Live Demo影片http://www.youtube.com/watch?feature=player_embedded&v=Iw0fBoT-bk06.更多Android專題想了解更多Android相關產業應用專題? 請依以下連結至Android專題總覽精華區。
http://sites.powercam.cc/board.php?courseID=143&f=doc&folderID=839&cid=3403