2013年2月10日 星期日

android apps範例_訂便當

緣起:
很久以前就有個想法,想要將自己的程式碼無料分享出來,
最近有去上過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點一到,專司訂便當業務的人可以操作平板得知當日訂便當人數數量,找零錢等等可以清楚的一目瞭然.
  1. 首頁上秀出系統日期時間, 下方有三個按鈕,分別是' 找零 ' , ' 訂便當' , '總訂單 ' , "訂便當"分六個activity來跑完整個流程.
  2. 左上角有工具列:'刪訂單' , 維護(人員名單,菜單), '結束'(將整個apps關閉)
  3. 資料儲存是利用sqlite,主要是用到sqlhelper類別,有三個table(人員表,菜單表,訂單表),人員表跟菜單表固定存在,但是訂單表在隔天第一筆訂單存進來時會刪掉今天的所有訂單,這樣可避免讓訂單表無限擴大.每回儲存新的一筆訂單時,會去檢查系統日期,若與訂單表上最新的一筆訂單的日期不同就會先清掉表內所有訂單後再新增進去.
  4. 每回要跳到別的Activity都會先結束掉目前所在的Activity(使用this.finish()).
  5. 修改訂單的行為改用先刪訂單再新增訂單的方式取代.
  6. 安裝.apk後,第一件事情就是新增全部人員名單以及菜單後才可使用本系統.
  7. 刪單,訂便當流程部分activity的item觸控點選採用ListView,GridView元件,sqlite table內有幾筆資料就呈現幾個item可供觸控點選.
  8. Activity之間傳遞資料靠的是bundle物件.
  9. java array公用變數傳入函數內,在函數內改變array變數數值等同改變公用array變數的數值.
  10. 兩個java string比較差異性要用compareTo方法,例如:array2[0].compareTo(nowdate)
  11. Intent物件跳往下一個Activity時,權限控管請見AndroidMainfest.xml,
  12. textview元件加入textview1.setMovementMethod(new ScrollingMovementMethod());可讓textview觸碰捲動.
程式碼

1.首頁:
activity_main.xml
MainActivity.java

2.找零
change.xml
ChangeActivity.java

3.總訂單
list.xml
ListActivity.java

4.訂便當:
order1st.xml
Order1stActivity.java
order2nd.xml
Order2ndActivity.java
order3rd.xml
Order3rdActivity.java
order4th.xml
Order4thActivity
order5th.xml
Order5thActivity.java
order6th.xml
Order6thActivity.java
SqlHelper.java
array_item.xml

5.刪單:
orderdel.xml
OrderdelActivity.java

6.維護
maintain.xml
MaintainActivity.java
maintain1st.xml
Maintain1stActivity.java
maintain2nd.xml
Maintain2ndActivity.java
searchresult.xml
SearchresultActivity.java
searchresult2.xml
Searchresult2ndActivity.java

7.權限控管
AndroidManifest.xml

8.所有程式下載連結:
https://docs.google.com/file/d/0B6EVEd5P2B9cMnIwV1N3ZF9IWUU/edit?usp=sharing

8 則留言:

  1. 陶吉吉 找自己
    康康 快樂鳥日子
    黃妃 風塊哭
    沈文程 五月十五彼下午
    林強 向前走

    回覆刪除
  2. 林強 這款ㄟ代誌
    ///////OP/////ED//////
    人生的滋味,
    幸福之戀,
    鴛鴦路,
    留乎人探聽,
    前輩,
    決心,
    ///////////////////
    插曲 :
    愛的奇蹟 (楊培安)
    人生如鏡 (許富凱)
    悲戀的公路 (王識賢 原唱:文夏)
    尚愛的人傷我尚重(王識賢)
    忘川河 (龍千玉)
    花(すべての人の心に花を):夏川里美
    留不住的故事 (符瓊音 原唱:黃鶯鶯)
    美麗的島嶼 (夏川里美)
    媽媽的眼淚 (蔡佳麟)
    再一次 (麥瑋婷&姜育恆)
    紀念品 (曾心梅)
    大海 (楊培安)
    斷翅的蝴蝶 (符瓊音)
    我愛你 (許晉豪)
    夢中情網 (秀蘭瑪雅&施文彬)

    你是我的靠山 (袁小迪)
    為你寫一首幸福的歌 (陳國華)
    快樂的歌 (楊培安)
    蒲公英 (林逸欣)
    月光 (楊培安)
    LOVE? (田馥甄)
    心燈 (黃思婷)
    淚そうそう(淚光閃閃):夏川里美
    起初只是朋友 (龔詩嘉)
    一切隨緣 (黃思婷)
    你一直都在 (楊培安&蕭煌奇)
    心中的遺憾 (徐懷鈺)
    日安我的愛 (黃鶯鶯&鍾鎮濤)
    我們怎麼了 (S.H.E)
    海枯石爛 ( 王儷婷 )
    如果我變成回憶 TANK (呂建中)
    希望的種子 (楊培安)
    Sorry That I Loved You (倪安東)
    I'm Fine (楊培安)
    非你莫屬 (TANK 呂建中 )
    一個人看海 (林逸欣)
    寂寞寂寞就好 (田馥甄)
    放不下 (白冰冰)
    阿母的青春 (許富凱)
    愛よ 愛よ (愛呦 愛呦):夏川里美
    自由 (張震嶽)
    幸福台階 (周逸涵)
    專屬天使 (TANK 呂建中 )
    繼續愛 (飛輪海)
    我的愛我的夢 (李政穎)
    那就這樣吧 (動力火車)
    搖籃曲(子守唄): 夏川里美
    夢想從心開始 (楊培安)
    隱隱作痛 (動力火車)
    因為有你 (王識賢&秀蘭瑪雅)
    請你記得我的好 (費玉清)
    不如甭熟識 (陳美鳳 ; 原唱:龍千玉)
    島唄(島歌):夏川里美
    愛像什麼 (Ella陳嘉樺)

    回覆刪除