【正文】
能手機(jī)如三星,魅族,蘋(píng)果等和大規(guī)模建立的 4G 網(wǎng)絡(luò)使得人們進(jìn)入一個(gè)全新的時(shí)代 —移動(dòng)互聯(lián)網(wǎng)時(shí)代,這個(gè)時(shí)代迅速進(jìn)入人們的眼球。 第 2 頁(yè) 職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 畢業(yè)設(shè)計(jì)(論文)主要內(nèi)容: 1.綜述基于 Android 食物儲(chǔ)藏信息管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)的調(diào)查背景以及其具有的實(shí)際意義 ; 2.概述 Android 平臺(tái)的發(fā)展以及特點(diǎn),并對(duì)運(yùn)行環(huán)境的搭建進(jìn)行介紹; 3. 綜述該系統(tǒng)的開(kāi)發(fā)流程并對(duì)具體的功能實(shí)現(xiàn)予以介紹; 4.深入分析該管理系統(tǒng)的設(shè)計(jì)流程以及使用到的技術(shù) ; ,并對(duì)測(cè)試目標(biāo),測(cè)試環(huán)境以及測(cè)試用 例進(jìn)行概述; 6.熟練掌握基于 Linux 內(nèi)核的 Android 系統(tǒng)以及 Java 開(kāi)發(fā)工具 eclipse 的使用和開(kāi)發(fā)環(huán)境 ; 7.綜述在開(kāi)發(fā)過(guò)程中遇到的問(wèn)題以及處理方法 。 學(xué)生應(yīng)交出的設(shè)計(jì)文件(論文): 1.內(nèi)容完整、 層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設(shè)計(jì)論文; 2.包括 畢業(yè)設(shè)計(jì)論文、源程序等內(nèi)容在內(nèi)的畢業(yè)設(shè)計(jì)電子文檔及其它相關(guān)材料。另一方面,食物是人類(lèi)不可缺少的一種需求,結(jié)合這兩點(diǎn),本文提出了一個(gè)解決方案 基于 Android 的食物儲(chǔ)藏信息管理軟件。s attention. On the other hand, food is an indispensable human needs, bined with these two points, this paper proposes a solution based on the Android food storage information management software. The software makes anywhere people can understand the food stored in the home, make people can make more scientific management of food, and if food is scarce, humanized reminding people to buy the ingredients. This software using the Android language bined with small SQLite database pleted, people can through this software understanding home food consumption and according to the amount of food to food for the corresponding management, can also set the new food, of course, if an insufficient number of ingredients, you can set the insufficient number of the alarm clock to remind and the software will according to you to set the food category and quantity, automatic synthesis of new purchase list of food and provide more userfriendly software services. Key words:Mobile Inter。 intelligent management。對(duì)于龐大的信息數(shù)據(jù),我們平時(shí)所用的普通的紙張?jiān)缫巡荒軡M(mǎn)足人們的學(xué)習(xí)、生活、工作的需求,而這時(shí)候互聯(lián)網(wǎng)的出現(xiàn)幫助人們解決了太多的事宜。然后被迅速發(fā)展的 Android 系統(tǒng)被人們廣泛的接受,理解到這一點(diǎn)的谷歌公司也相繼與職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 2 很多大的企業(yè)合作,致力于將 Android 系統(tǒng)推向一個(gè)更高的層次。但是假如你手機(jī)里有這么一款軟件,你就可以打開(kāi)它,然后查看家中具體食材的食用情況,并通過(guò)軟件,獲得你需要的購(gòu)物清單,那么你在回家的途中一定回去順路去買(mǎi)一些食物,這款軟件對(duì)人們的生活 來(lái)說(shuō)是非常方便的,并且這款軟件操作簡(jiǎn)單,適用于絕大多數(shù)人 群。對(duì)于 Android 來(lái)講,它在運(yùn)行的時(shí)候會(huì)集成 SQLite,這對(duì)于 Android 來(lái)說(shuō)是很方便的一點(diǎn),所以本次畢業(yè)設(shè)計(jì)我會(huì)選擇使用 SQLite 數(shù)據(jù)庫(kù),因?yàn)槊總€(gè) Android 應(yīng)用程序都可以完美的使用 SQLite 數(shù)據(jù)庫(kù)。 3. 針對(duì)某個(gè)數(shù)據(jù)庫(kù)或表格,授予用戶(hù)存取權(quán)限。 7. 對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的刪除。Linux 內(nèi)核層:安卓系統(tǒng)是基于 內(nèi)核開(kāi)發(fā)的,在這一層中有 Android 需要的大部分驅(qū)動(dòng),比如必須要有的顯示驅(qū)動(dòng),音頻驅(qū)動(dòng)等。應(yīng)用層:在這一層中安裝了我們平時(shí)所下載的所有應(yīng)用程序,比如我們這款軟件,同樣也會(huì)存儲(chǔ)在應(yīng)用層中。 SQLite 數(shù)據(jù)庫(kù)的持久化技術(shù): SQLite是 Android 系統(tǒng)自帶的一種數(shù)據(jù)庫(kù),你不需要自己安裝數(shù)據(jù)庫(kù),只需要與本身數(shù)據(jù)庫(kù)建立連接便可以使用,而且這種數(shù)據(jù)庫(kù)占用資源非常小,利用手機(jī)應(yīng)用的開(kāi)發(fā)。 Android 開(kāi)發(fā)環(huán)境 Android 的開(kāi)發(fā)環(huán)境所要搭配的開(kāi)發(fā)工具有很多,這里主要強(qiáng)調(diào)四個(gè)工具: Android SDK、 eclipse、 ADT。 職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 6 3. 系統(tǒng)分析 可行性分析 此次開(kāi)發(fā)的軟件叫做基于 Android 的食物儲(chǔ)藏信息管理軟件,首先這款軟件需要的環(huán)境都是大眾化的,可是安裝在大部分 Android 手機(jī)上去使用,開(kāi)發(fā)環(huán)境在普通的window7 環(huán)境下就可以開(kāi)發(fā),而且此款軟件使用的數(shù)據(jù)庫(kù)是 SQLite,該數(shù)據(jù)庫(kù)是一個(gè)輕量級(jí)的數(shù)據(jù)庫(kù),特別適合這種小型軟件的開(kāi)發(fā)。 經(jīng)濟(jì)可行性 此款軟件完全由免費(fèi)開(kāi)放的 eclipse 軟件開(kāi)發(fā),不需要任何的成本,有一臺(tái)電腦,并且安裝相關(guān)的軟件就可以 進(jìn)行開(kāi)發(fā),并且,此款軟件面向?qū)ο笫谴蟊?,可以在任何一?Android 操作系統(tǒng)的手機(jī)上進(jìn)行使用,性?xún)r(jià)比和使用性非常高。 我開(kāi)發(fā)所用的電腦的操作系統(tǒng)是 window7 的,然后用的工具是 +android SDK,在這里由于 SDK 運(yùn)行起來(lái)比較慢,我又借用了另外一款虛擬機(jī) Genymotion,效果是和 SDK 一樣的,使用的數(shù)據(jù)庫(kù)是 SQLite,開(kāi)發(fā)的 Android 版本是 Android 。 流程圖大致為圖 32: 查看食品 當(dāng)用戶(hù)點(diǎn)擊查看食品之后,用戶(hù)首先得選擇用戶(hù)需要查看的儲(chǔ)藏地點(diǎn),當(dāng)點(diǎn)擊一個(gè)儲(chǔ)藏地點(diǎn)之后,用戶(hù)可以查看到該儲(chǔ)藏地點(diǎn)所儲(chǔ)藏的食物的種類(lèi),點(diǎn)擊任意食物,可以跳轉(zhuǎn)到一個(gè)新的界面,在該界面,用 戶(hù)可以看到該食物的具體信息,有食品名稱(chēng),購(gòu)買(mǎi)日期,食品剩余,存放位置以及食物提醒條件。 流程圖大致如圖 35: 進(jìn)入提醒界面 是否設(shè)置提醒 選擇提醒的時(shí)間 退出該功 能選擇 返回主菜單 是 否 圖 34 設(shè)置提醒圖 職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 11 總體設(shè)計(jì)要求 在完成以上所述的全部功能之后,該系統(tǒng)也要最低達(dá)到一定的水品,不能因?yàn)槟承┕δ艿膶?shí)現(xiàn)而拋棄了系統(tǒng)本身的一些基本的性能。再有一點(diǎn)就是此款軟件必須可擴(kuò)展性高,原因是由于個(gè)人的能力有限,另外一個(gè)人想的比較少,所以有很多用戶(hù)需要的功能沒(méi)有實(shí)現(xiàn),那么到后期如果發(fā)現(xiàn)這樣的問(wèn)題,可以在不開(kāi)發(fā)重寫(xiě)源代碼的基礎(chǔ)上,直接添加新的功能進(jìn)行擴(kuò)展。 購(gòu)買(mǎi)清單 在該模塊下,用戶(hù)可以看到自己已經(jīng)提醒的食物清單,還有食物量分別少于三天,主界面 添加食品 查看食品 購(gòu)買(mǎi)清單 提醒設(shè)置 返回 圖 42 模塊分組圖 職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 14 五天,七天的清單,當(dāng)用戶(hù)手動(dòng)的去輸入食品少于幾天之后,系統(tǒng)會(huì)根據(jù)數(shù)據(jù)庫(kù)中信息來(lái)為用戶(hù)生成一個(gè)清單模塊。 存放在廚房中的食品的信息: ID,name,date,day,leftday,seat。 } /*創(chuàng)建表 */ Override public void onCreate(SQLiteDatabase db) { String DB_CREATE=CREATE TABLE food(_id INTEGER PRIMARY KEY,name TEXT,date TEXT,day INT,alertday INT,seat TEXT)。 String DB_CREATEKITCHEN=CREATE TABLE kitchen(_id INTEGER PRIMARY KEY,name TEXT,date TEXT,day INT,alertday INT,seat TEXT)。 } /*升級(jí)數(shù)據(jù)庫(kù) */ Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Autogenerated method stub (DROP TABLE IF EXISTS notes)。 (KEY_DATE, date)。 return (DB_TABLE, KEY_ID, initialValues)。 //return mCursor。 職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 17 (KEY_DATE, date)。 } /*刪除數(shù)據(jù) */ public boolean deleteData(String rowName) { return (DB_TABLE, KEY_NAME+= ?,new String[]{rowName})0。 (, 0)。 //啟動(dòng)時(shí)間 long startTime = ()。 //創(chuàng)建對(duì)象 AlarmManager am01 = (AlarmManager)getSystemService(ALARM_SERVICE)。 職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 20 (, )。 主界面 當(dāng)用戶(hù)點(diǎn)擊進(jìn)入系統(tǒng)之后,會(huì)看 到如下的界面,在該界面,用戶(hù)可以根據(jù)自己的需求去點(diǎn)擊相應(yīng)的按鈕,如圖 52 圖 52 主界面 當(dāng)點(diǎn)擊進(jìn)入系統(tǒng)之后,我們會(huì)看到 4 個(gè)圖片以及兩個(gè)按鈕,這些按鈕及圖片都會(huì)實(shí)現(xiàn)相應(yīng)的功能,當(dāng)然代碼的話(huà)同樣是給他添加監(jiān)聽(tīng),然后具體編寫(xiě)讓它實(shí)現(xiàn)的具體功能,代碼如下: //imagebutton 監(jiān)聽(tīng) (new OnClickListener() { public void onClick(View v) { 職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 21 Intent intent=new Intent()。 } })。 } 添加食品 當(dāng)用戶(hù)點(diǎn)擊進(jìn)入系統(tǒng)之 后,會(huì)看到四個(gè)按鈕,我們先點(diǎn)擊其中的添加食品,進(jìn)入到如圖 53: 圖 53 添加食品界面 職場(chǎng)大變樣社區(qū)( ):下載畢業(yè)設(shè)計(jì)成品 22 當(dāng)用戶(hù)點(diǎn)擊添加食物 進(jìn)入此界面之后,映入眼簾的是幾個(gè)存儲(chǔ)地點(diǎn),代碼實(shí)現(xiàn)也是給他設(shè)置監(jiān)聽(tīng),點(diǎn)用戶(hù)點(diǎn)擊一個(gè)圖片之后,會(huì)進(jìn)入相應(yīng)的界面。 ()。具體的實(shí)現(xiàn)代碼如下: //gridview 監(jiān)聽(tīng) (new () { public void onItemClick(AdapterView? parent, View v, int position, long id) { if(position+1==1) { //查詢(xún)是否已經(jīng)存在該食品 Cursor cur = (food01)。 (, )。 startActivity(intent)。 代碼如下: //點(diǎn)擊 設(shè)置日期 (new () { public void onClick(View v) { int mYear = ()。 (, monthOfYear)。 } },mYear,mMonth,mDayofmonth) .show()。當(dāng)你點(diǎn)擊添加按鈕之后,進(jìn)入相應(yīng)的儲(chǔ)藏室,大家會(huì)看到很多的圖片,這個(gè)是因?yàn)榭紤]到用戶(hù)再添加食物的時(shí)候,如果單純 的知識(shí)讓用戶(hù)手動(dòng)的去輸入一些東西,那么用戶(hù)體驗(yàn)就會(huì)非常不好,考慮到這一點(diǎn),在界面上固定的寫(xiě)了一些家中平時(shí)常用的食品,但是如果那些固定的食品中沒(méi)有用戶(hù)所需要的食品,那么用戶(hù)也可以手動(dòng)的去添加一些食物。