【正文】
:圖 42 服務端運行的總體流程圖 客戶端運行的總體流程圖 Android客戶端的總體運行的描述如下:用戶通過Android手機打開本系統(tǒng)的手機客戶端,即可選擇以下操作:第一,查看附件店鋪:在此頁面中用戶可以查看到當前位置附近的店鋪圖標,用戶可以點擊查看詳情。該頁面集成了拉手網(wǎng)團購開放API,該API是拉手網(wǎng)為第三方開發(fā)者提供訪問拉手網(wǎng)團購數(shù)據(jù)的REST接口。第三,分享店鋪:在此頁面用戶可以提交店鋪信息,分享給大家。其中圖片可以選擇手機相冊的圖片或者使用攝像頭拍攝??蛻舳诉\行的總體流程圖如圖 43所示:圖 43客戶端運行的流程圖服務端與客戶端是通過XML格式的數(shù)據(jù)進行數(shù)據(jù)交換的,Android客戶端所有的數(shù)據(jù)都來源對服務端的請求。服務端與客戶端交互流程圖如圖44所示:圖44 服務端與客戶端交互流程圖 ,專門用戶維護店鋪數(shù)據(jù)位Android客戶端提供數(shù)據(jù)來源。 圖45 管理員登錄頁面圖45是管理后臺的登錄界面,界面上有三個輸入框,分別是用戶名輸入框、密碼輸入框、驗證碼輸入框。驗證過程關鍵代碼如下:if (Session[validateCode] == null) { = 。 (script function () {alert(39。)。 return。 if ( == 0) { = 。請您必須輸入用戶名!39。}/script)。} string password = ()。 (script function () {alert(39。)。 return。 (script function () {alert(39。)。 return。Session 設置如下:Session[_UserID] = user_IDSession[_username]=[0].Rows[0][admin_user_name]Session[_role] = [0].Rows[0][role]管理員登錄到網(wǎng)站首頁后將看到如圖45 所示的界面,左半部分為導航區(qū)域,右半部分為內容顯示區(qū)域。 查看店鋪頁面的設計該頁面將從數(shù)據(jù)庫中讀取當前所有的商鋪的部分信息,然后顯示出來等。店主39。分類39。店名39。 添加店鋪頁面的設計在該模塊中要添加一條商鋪記錄,用戶需要輸入的信息有:項目名稱、地址,人均消費,省份,分類,電話,郵編,簡介。如果要刪除的項目比較多可以進行多選然后刪除,如圖411所示:圖411 刪除店鋪頁面 修改密碼頁面的設計 本系統(tǒng)還添加了一個修改密碼的功能,該頁面要求用戶輸入舊密碼、新密碼,新密碼要求輸入兩次以免輸入錯誤。其頁面如圖412 所示:圖 412 密碼修改頁面該頁面以地圖顯示的方式顯示所有的商鋪的位置,并在地圖上標記出來,如圖413所示:圖 413 店鋪地圖頁面 Android客戶端界面的創(chuàng)建 Android客戶端界面創(chuàng)建包括界面的設計和功能代碼的編寫以下小結分別對Android客戶端界面的創(chuàng)建進行介紹。如圖 415 所示:圖415 查看店鋪地圖界面為方便數(shù)據(jù)調用,編寫了一個店鋪類(),該類包含了店鋪所有的屬性,和調用方法,具體關鍵代碼如下:public class Mall { private int mall_ID。 private String MASK_ID。 private String address。 private String zipcode。 private String zip。 private int envi_score 。 private int server_score 。 private float lat。 private String remark。}public void setID(int mall_ID) { = mall_ID。}public void setName(String name) { = name。}public void setLat(float lat) { = lat。}public void setLng(float lng) { = lng。}Public void setAddress(String address){= address。 }public void setTel(String tel) { = tel。}public void setRemark(String remark) { =remark。如圖416 所示:圖 416 查看店鋪詳細信息界面 該頁面啟動時會調用一個PullXml類,是基于流操作文件,然后根據(jù)節(jié)點事件回調開發(fā)者編寫的處理程序。PullXml類相關代碼如下:(inputStream, inputEncoding)。 ListMall malls = null。while(eventType!=){ String nodeName = ()。break。( ((0))。}else if(mall_ID.equals(nodeName)){( (()))。 }else if(address.equals(nodeName)){(())。}break。 mall=null。 }eventType = ()。 } } 獲取當前路線到店鋪界面設計 在店鋪詳細信息界面點擊“前往”按鈕就會進入獲取路線界面,系統(tǒng)會根據(jù)當前用戶的坐標和目的地的坐標發(fā)送到Google Maps ,Google Maps會計算出相應的路線提供參考。如圖418 所示:圖418 分享店鋪界面 獲取團購信息界面設計 在此頁面用戶可以看到南寧的團購優(yōu)惠信息,點擊可以查看內容詳情。如圖420所示:圖420 應用程序說明界面 本章小結本章通過詳細介紹系統(tǒng)的開發(fā)過程,論述了本系統(tǒng)的服務端和Android客戶端的開發(fā)流程。在本系統(tǒng)的設計上, 架構和SQL SEVER 2008 數(shù)據(jù)庫在Microsoft Visual Studio 2010開發(fā)平臺進行開發(fā)的,而Android客戶端是在 Eclipse 開發(fā)平臺進行開發(fā)的,所以涉及到的技術比較多,例如:C編程語言,JAVA編程語言,XML語言,TSQL (SQL SERVER專用標準結構化查詢語言增強版),CSS網(wǎng)頁布局等等。其中最關鍵的就是不同平臺之前數(shù)據(jù)格式的轉換問題。第五章 結束語 系統(tǒng)總結在進行了長達三個多月的摸索與研究,使我掌握Android系統(tǒng)的設計所需要的詳細步驟和具體的實現(xiàn)方法。本系統(tǒng)最大的特點就是采用了服務端、客戶端模式開發(fā)的,但是客戶端不是我們所只的電腦客戶端,而是Android手機客戶端。從而實現(xiàn)了本系統(tǒng)的實用性和可靠性,通過以上技術的使用使我對Android開發(fā)和網(wǎng)站開發(fā)技術有了更深的掌握。雖然系統(tǒng)做好了,但是代碼的健壯性還不好,還有功能方面還不夠完善,這些問題還需要一步步的完善,爭取做到最好。本系統(tǒng)在未來的生活中的應用有著不錯的用途和發(fā)展?jié)摿?。由于系統(tǒng)集成了Google Maps 服務,所以本系統(tǒng)在實際生活的應用還是有一定的局限性,例如某些Android手機缺少Google Maps 服務會使本系統(tǒng)無法使用。參考文獻[1] :電子工業(yè)出版社,[2] :電子工業(yè)出版社,[3] :機械工業(yè)出版社,[4] ,[5] 周曉娟,王法能,毛勁松,基于B/S的WEB數(shù)據(jù)庫技術.航空計算技術,[6] :人民郵電出版社,[7] 吳逸賢,:科學出版社,[8] 張躍廷,:清華大學出版,. [9] :機械工業(yè)出版社,[10] 薩師煊,(第三版).北京:高等教育出版社,[11] :[12] :[13] 馬超,:人民郵電出版社,2012. 2569[14] :機械工業(yè)出版社,[15] Bruce Eckel.Thinking In Hall.2006.4146[16] Raghu Management Systems. McGrawHill,附錄本次論文中參考了外文文獻:Thinking In Java。 the reason C++ is hybrid is to support backward patibility with the C language. Because C++ is a superset of the C language, it includes many of that language’s undesirable features, which can make some aspects of C++ overly Java language assumes that you want to do only objectoriented programming. This means that before you can begin you must shift your mindset into an objectoriented world (unless it’s already there). The benefit of this initial effort is the ability to program in a language that is simpler to learn and to use than many other OOP languages. In this chapter you’ll see the basic ponents of a Java program and learn that (almost) everything in Java is an object. 中文翻譯如下:“盡管以C++為基礎,但 Java 是一種更純粹的面向對象程序設計語言”。但在 Java 中,設計者覺得這種雜合并不象在 C++里那么重要。由于C++是C的一個超集,所以包含的許多特性都是后者不具備的,這些特性使 C++在某些地方顯得過于復雜。也就是說,正式用它設計之前,必須先將自己的思想轉入一個面向對象的世界(除非早已習慣了這個世界的思維方式)。在本章,我們將探討 Java 程序的基本組件,并體會為什么說Java 乃至Java 程序內的一切都是對象。由于剛剛接觸Android手機開發(fā),在畢業(yè)設計初期面臨了巨大的困難,從開發(fā)搭建和配置數(shù)據(jù)庫都經(jīng)歷了不小的挫折,但是經(jīng)過老師和同學的幫助下,很快掌握了Android的開發(fā)模式和開發(fā)思路,使我對整個Android 的開發(fā)有了初步的了解。同時感謝各位老師對本文的認真