很久以前就有個想法,想要將自己的程式碼無料分享出來,
最近有去上過android apps開發的課,上過課後花了點時間利用課堂教的寫了一個apps,
在Acer Iconia B1 A71上面測過是OK的,相關程式碼以及開發過程稍微整理一下就寫了這篇blog.
第一次寫blog, 第一次寫android apps, 若有不周,歡迎批評指教, 缺漏的部份日後會慢慢補上.
轉貼或引用本篇blog內文章段落&程式碼, 不必交代出處.
過程:
上過課後,對android sdk開發環境有了點瞭解後, 開始建置開發環境, 打通幾個環節後(有google網路上一些其他人的android學習筆記), 設計簡單的分鏡表, 畫出需要的幾個畫面的草圖, 就按照分鏡表開始慢慢寫程式畫出一個個的activity.
兩個步驟_Android sdk環境建置(for Windows OS):
1.到下面這個網址,在Java Platform, Standard Edition欄位內找到Java SE 7u13的項目,它的左邊JDK(DOWNLOAD)點下去下載安裝.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.到下面這個網址內點選"Download the SDK(ADT bundle for Windows)",
http://developer.android.com/sdk/index.html
訂便當系統:
目的在於每日訂便當作業無紙化, 適用於每天菜色固定幾家外送服務的店家, 將平板電腦至於櫃台上,方便同事在平板電腦上操作訂便當手續,等到每天早上10點一到,專司訂便當業務的人可以操作平板得知當日訂便當人數數量,找零錢等等可以清楚的一目瞭然.
- 首頁上秀出系統日期時間, 下方有三個按鈕,分別是' 找零 ' , ' 訂便當' , '總訂單 ' , "訂便當"分六個activity來跑完整個流程.
- 左上角有工具列:'刪訂單' , 維護(人員名單,菜單), '結束'(將整個apps關閉)
- 資料儲存是利用sqlite,主要是用到sqlhelper類別,有三個table(人員表,菜單表,訂單表),人員表跟菜單表固定存在,但是訂單表在隔天第一筆訂單存進來時會刪掉今天的所有訂單,這樣可避免讓訂單表無限擴大.每回儲存新的一筆訂單時,會去檢查系統日期,若與訂單表上最新的一筆訂單的日期不同就會先清掉表內所有訂單後再新增進去.
- 每回要跳到別的Activity都會先結束掉目前所在的Activity(使用this.finish()).
- 修改訂單的行為改用先刪訂單再新增訂單的方式取代.
- 安裝.apk後,第一件事情就是新增全部人員名單以及菜單後才可使用本系統.
- 刪單,訂便當流程部分activity的item觸控點選採用ListView,GridView元件,sqlite table內有幾筆資料就呈現幾個item可供觸控點選.
- Activity之間傳遞資料靠的是bundle物件.
- java array公用變數傳入函數內,在函數內改變array變數數值等同改變公用array變數的數值.
- 兩個java string比較差異性要用compareTo方法,例如:array2[0].compareTo(nowdate)
- Intent物件跳往下一個Activity時,權限控管請見AndroidMainfest.xml,
- textview元件加入textview1.setMovementMethod(new ScrollingMovementMethod());可讓textview觸碰捲動.