
自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機制撰寫
 
 


 
 

 
        
 
 


 
                
