自Android 3.0平版系統問世以來,有許多原本在手機螢幕上無法發揮的應用得以在平板電腦上實現。而艾鍗學院此次將結合Embedded Linux與 Android應用程式開發兩項課程實作,將Android平版電腦點餐軟體搭配發票列印機運作。APP應用軟體不再僅僅只是跑跑遊戲或是上上網、看看影片,而是可以結合其他硬體進入另一個商用的領域。
另外,由於此專題同時橫跨了APP軟體開發、嵌入式系統開發兩個領域,因此我們將以貼近業界實作專案的角度,來帶領學員了解如何從無到有去建構一個可商品化的專案,如何建構一個專案應有的設計流程、架構分析,到最後的產品驗證與實作驗收,使學員能即早了解與具備進入相關產業應有的工作技能與工作方法。
-
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 整合開發。
Android à Print Server 端(Android 3.0):
1. 專題發想、功能定義
2. Android POS UI介面圖面設計(ICON繪製、版型設計、美工繪圖)
.
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):
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機制撰寫