【正文】
Spree –merce 。 Mmerce 。5權(quán)威編程 ,人民郵電出版社 2007附錄1 英文原文 Abstract— Mobile and emerce applications are tools for accessing the Internet and for buying products and services. These applications are constantly evolving due to the high rate of technological advances being made. This paper provides a new perspective on the types of applications that can be used. It describes and analyses device requirements, provides a literature review of important aspects of mobile devices that can use such applications and the requirements of websites designed for mmerce. The design and security aspects of mobile devices are also investigated. As an alternative to existing mmerce applications, this paper also investigates the characteristics and potential of the PhoneGap crossmobile platform application. The results suggest that effective mobile applications do exist for various Smartphones, and web applications on mobile devices should be effective. PhoneGap and Spree applications can municate using JSON instead of the XML language. Android simulators can be used for ensuring proper functionality and for piling the applications. Keywords Emerce 。Michele E. Davis and Jon A. Phillips,《 學(xué)習(xí) PHP amp。參考文獻(xiàn)[1]汪永松編著 Android平臺開發(fā)之旅(第2版) 北京:機械工業(yè)出版社,2012[2] 王國輝, 李偉等編著 程序員開發(fā)寶典系列:Android開發(fā)寶典 北京:機械工業(yè)出版社,2012[3] 王衛(wèi)紅編著,Android應(yīng)用開發(fā)基礎(chǔ)教程 北京:機械工業(yè)出版社,2015[4] 張領(lǐng), 李根福, 王敬杰編著, Android程序開發(fā)范例寶典, 北京:人民郵電出版社,2015[5] 黃雋實著, Android和PHP開發(fā)最佳實踐, 北京:機械工業(yè)出版社,2013。為天下儲人材,為國家圖富強。在生活上,老師待人親切誠懇、關(guān)愛學(xué)生,像一位兄長一般關(guān)心照顧我們;在學(xué)術(shù)上,他理論素養(yǎng)深厚、知識淵博、治學(xué)態(tài)度嚴(yán)謹(jǐn),極大地影響了我們,這一切都會讓我們感動銘記和受益終身的。在論文的結(jié)束之際,我在此,謹(jǐn)向他們表達(dá)我由衷的感謝和祝福。接下來,對軟件的進一步優(yōu)化,可以在以下幾個方面入手:首先,由于是O2O模型需對軟件安全性進行測試,其次對軟件的界面進行美化,使界面更加符合用戶的使用習(xí)慣,其次,要規(guī)范設(shè)計和代碼過程,對影響系統(tǒng)性能的關(guān)鍵算法和代碼進行必要的優(yōu)化,最后,研究系統(tǒng)與數(shù)據(jù)庫的接口,充分利用商用數(shù)據(jù)庫提供的優(yōu)化方法。在開發(fā)軟件過程中,將信息輸出到日志信息中,從而對程序的變量做到整體的把握。在使用這一方案時,測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。白盒法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對所有邏輯路徑進行測試。通過上述2個功能的測試我們接下來對于查看訂單,查看收藏的功能進行測試,我們可以添加獲取訂單或收藏來查看收藏訂單功能是否能夠完全實現(xiàn),其中該功能的測試用例如下表535所示:535 查看訂單(收藏)的測試用例表編號名稱操作結(jié)果1添加收藏測試將“菜市場1號”進行收藏在收藏列表中可以看到“菜市場1號”2刪除收藏測試將“菜市場1號”移除收藏列表在“菜市場1號”的主界面中收藏按鈕變?yōu)椤盀槭詹亍?下達(dá)訂單測試選擇購買蔬菜下達(dá)訂單,并成功支付訂單列表中存在該訂單,點擊可以查看該訂單詳情或刪除4刪除訂單測試將訂單移除訂單列表刷新后,該訂單被刪除當(dāng)商家被用戶收藏過后,用戶再次登錄商家的主界面后,收藏按鈕會顯示為“取消收藏”,表示用戶已經(jīng)收藏了該商家,收藏效果圖如圖537所示:圖537 收藏效果圖可以點擊“取消收藏”按鈕來取消收藏,當(dāng)取消收藏后,用戶再次進入該商家,按鈕將會變成“收藏”如圖538所示:圖538 未收藏效果圖白盒測試又稱結(jié)構(gòu)測試、透明盒測試、邏輯驅(qū)動測試或基于代碼的測試。我們采取的購菜的測試用例如下表533所示:表533 購菜功能測試用例表編號名稱操作結(jié)果1訂單總額不夠選擇少量蔬菜,使其總額小于起送價提示“繼續(xù)選菜”和“給予小費”選擇,下單不成功2給予小費總額不夠給予小費下單成功,進入支付界面,支付成功跳轉(zhuǎn)到首頁3繼續(xù)選菜繼續(xù)選菜,到達(dá)起送價下單成功,進入支付界面,支付成功跳轉(zhuǎn)到首頁以此運行測試用例,發(fā)現(xiàn)訂單成功下單,并且能夠支付成功,發(fā)現(xiàn)訂單能夠成功的在“我的訂單”中進行查看,如果訂單下達(dá)不成功,則無法進入支付界面,則購菜失敗,需要重新選擇并下單才可以。登錄認(rèn)證測試后,我們將對購菜功能進行測試,只有選擇好正確的蔬菜商和蔬菜后,我們才可以下達(dá)訂單并且進行支付,如果所購買的蔬菜總額不夠起送價時,提供“給予小費”和“繼續(xù)選擇蔬菜”2個選擇。3空用戶名登錄測試不輸入用戶名,輸入直接密碼登錄提示輸入用戶名,如下圖5334錯誤信息測試輸入錯誤的用戶名和密碼,登錄系統(tǒng)系統(tǒng)提示登錄失敗跳轉(zhuǎn)到登陸界面,如圖531所示5成功登錄測試輸入正確的用戶名和密碼進行測試登錄系統(tǒng)登錄成功自動跳轉(zhuǎn)到系統(tǒng)的首頁如圖534所示。如下圖5312空密碼登錄測試用戶輸入用戶名,但不輸入密碼登錄。功能測試也就是我們常說的黑盒測試,我們對軟件的額具體功能進行測試,在這里我們根據(jù)系統(tǒng)的功能分為3部分,分別是用戶認(rèn)證的功能測試,購買蔬菜功能測試,查看訂單和收藏的功能測試。我需要不斷的進行修改,保證軟件盡可能的滿足需求分析的要求。缺少測試工作的軟件開發(fā)是不可靠的。軟件測試的經(jīng)典定義是:在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質(zhì)量,并對其是否能滿足設(shè)計要求進行評估的過程[13]。軟件測試(英語:software testing),描述一種用來促進鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程。collect表包含收藏編號,用戶標(biāo)號,菜商標(biāo)號,使用軟件時,用戶選擇查看收藏可以查看自己曾經(jīng)收藏的一些列菜商的詳情,通過和其他表相互聯(lián)系,用戶也可以查看到更加詳細(xì)的信息。其中表seller的結(jié)構(gòu)如下表522所示:表5_2_2 蔬菜商seller表結(jié)構(gòu)名稱字段名稱數(shù)據(jù)類型主鍵非空菜商編號S_idInt(10)YESYES菜商名字S_naemChar(6)NOYES商標(biāo)S_urlChar(6)NOYESVegetable表中存儲的是蔬菜的相關(guān)信息,用于用戶對蔬菜的選購,該表中存在蔬菜名稱,蔬菜標(biāo)號,所屬菜商及蔬菜單價等信息,這些信息會幫助用戶了解并選擇自己想要的蔬菜,并將其加入菜單,該表主要為用戶提供蔬菜的詳細(xì)信息,其中他的表結(jié)構(gòu)如下表523所示:表523 蔬菜vegetable表結(jié)構(gòu)名稱字段名稱數(shù)據(jù)類型主鍵非空菜品編號V_idInt(10)YESYES菜品名稱V_nameChar(6)NOYES菜商編號S_idInt(10)NOYES菜品單價V_moneyDouble(3)NOYES菜品圖片V_urlChar(6)NOYES Order表詳細(xì)記錄了用戶自己的歷史訂單,該表中有訂單編號,時間,總額,用戶編號,菜商標(biāo)號,當(dāng)用戶登錄系統(tǒng)后,如果用戶想要查詢以往的歷史訂單,他就可以通過選擇抽屜效果里的“訂單”,來借助服務(wù)器端PHP文件來查詢該表,獲取訂單的詳細(xì)信息,當(dāng)成功獲取后,其就在軟件中列表顯示,其表結(jié)構(gòu)如下表524所示:表524 訂單order表結(jié)構(gòu)名稱字段名稱數(shù)據(jù)類型主鍵非空訂單編號O_idInt(10)YESYES訂單總額O_moneyDouble(3)NOYES訂單時間O_timedatetimeNOYES用戶編號U_idInt(10)NOYES菜商編號S_idInt(10)NOYES訂單詳情表order_detail記錄了訂單的詳細(xì)信息,當(dāng)用戶想要查看某一訂單的詳細(xì)情況時就要讀取該表中的內(nèi)容,當(dāng)用戶點擊軟件中的某個order時,該軟件就會將該order的名字傳遞給服務(wù)器端,服務(wù)器端的PHP文件通過處理該軟件發(fā)送的order名字,查詢到od_id及訂單編號,然后在通過訂單編號查詢表order_detail里的訂單詳情,可以詳細(xì)的讀取出某一訂單的訂單標(biāo)號,訂單包含的菜品,以及單個菜品的單價等。和上文中表514中提到的方法一樣,當(dāng)然除此之外還有一些代碼和界面沒有展示。 }開始采用的是simpleadapter,對listview進行配置,但是后來發(fā)現(xiàn)實在不好用,也曾嘗試listadapter但是也不理想,最后只能自己寫適配器,雖然比較麻煩,但功能還是能按自己的要求去完成還算比較不錯,當(dāng)然如果可以不寫的話也可以用其他類型的適配器。 ((CharSequence) (evaluate))。 asyncloadImage(iv_header, (String)(image))。 MapString, Object contact = (position)。 TextView tv_name = (TextView) ()。 } else { view = (, null)。其中自定義設(shè)配器的代碼如下表517展示:表517 設(shè)配器實現(xiàn)代碼片段public View getView(int position, View convertView, ViewGroup parent) { View view = null。在這里也可以快捷的需要收藏。需要先獲得控件總體布局,然后在總體不居中查找屬于數(shù)量的控件名。 } } catch (Exception e) { ()。 if ((Yes)) { (, name+password)。 convertStreamToString cStreamToString=new convertStreamToString()。 HttpEntity entity = ()。 (p_entity)。 (new BasicNameValuePair(password, password))。 ArrayListBasicNameValuePair pairs = new ArrayListBasicNameValuePair()。 DefaultHttpClient client = new DefaultHttpClient()。表515 Android端接收PHP文件代碼new Thread(new Runnable() { public void run() { MapString, String parmas = new HashMapString, String()。要判斷語句是否成功執(zhí)行以方便對用戶做出提示,這里采用mysqli_affected_rows($con)來進行判斷如果其0則,SQL語句成功執(zhí)行,否則提示執(zhí)行失敗,請重新選擇之類的,具體PHP代碼如下圖5110所示。由于插入第二張表時需要用到第一次插入order表的o_id,我采用的是通過$id=mysqli_insert_id($con)。 result != null) { (result)。 } protected void onPostExecute(Bitmap result) { if (iv_header != null amp。 } catch (Exception e) { return null。 try { HttpResponse hr =