【正文】
y{()。....................//此處省略部分引入相關(guān)類的代碼public class ServerAgent extends Thread{public Socket socket。//設(shè)置線程執(zhí)行標(biāo)志位} catch (IOException e) {()。//停止線程執(zhí)行} catch (IOException e) {()。負(fù)責(zé)與服務(wù)器進(jìn)行通信的是login方法中創(chuàng)建并啟動(dòng)的一個(gè)獨(dú)立線程,這樣做可以讓程序有更好的交互性和穩(wěn)定性。}//方法:從Preferences中讀取用戶名和密碼public void checkIfRemember(){SharedPreferences sp = getPreferences(MODE_PRIVATE)。(uid)。(0, MENU_EXIT, 0, 退出)setIcon()。發(fā)布日志模塊有PublishDiaryActivity實(shí)現(xiàn),主要功能是讓用戶編寫(xiě)新日志并發(fā)布。主要代碼如下://方法:連接服務(wù)器,發(fā)表日志public void publishDiary(){new Thread(){public void run(){()。 //創(chuàng)建一個(gè)Socket連接}String message = NEW_DIARY + title+|+diary+|+uno。//關(guān)閉進(jìn)度對(duì)話框(, 日志發(fā)布失敗,請(qǐng)稍候重試!, ).show()。圖524 查看照片界面相冊(cè)管理包括查看相冊(cè)列表、修改相冊(cè)權(quán)限和查看相冊(cè)照片等功能。ListView lvAlbumList = null。((position)[1])。break。}}。()。簡(jiǎn)單來(lái)說(shuō),如果啟動(dòng)AlbumActivity時(shí)在Intent對(duì)象中設(shè)置了名為“visitor的Extra字段,則說(shuō)明是在瀏覽他人的相冊(cè)照片。//調(diào)用MyConnector的sayBye方法}()。()。return。圖522 更新心情對(duì)話框拍攝照片功能由ShootingActivity實(shí)現(xiàn),該Activity負(fù)責(zé)調(diào)用系統(tǒng)的照相機(jī)拍攝照片,拍攝照片界面如圖523所示。主要的功能是為用戶提供發(fā)布日志、拍照上傳和更新心情的功能選項(xiàng)。圖520 個(gè)人中心界面還提供了兩個(gè)菜單選項(xiàng):搜索用戶和退出程序,含有選項(xiàng)卡的界面,這兩項(xiàng)菜單選項(xiàng)通過(guò)重寫(xiě)onCreateOptionsMenu方法來(lái)創(chuàng)建。EditText etPwd = (EditText)findViewById()。//將用戶名存入Preferences(pwd, pwd)。該類對(duì)象的主要功能是與服務(wù)器進(jìn)行通信,MyConnector對(duì)象中包含與連接到服務(wù)器的套接字,可以通過(guò)該套接字連接獲取輸入輸出流進(jìn)行數(shù)據(jù)的發(fā)送和接收。//關(guān)閉輸入、輸出流及Socket對(duì)象socket = null。//獲得輸入流對(duì)象 = new DataOutputStream(())。import static 。ServerAgent sa = new ServerAgent(socket)。import 。()。代碼如下:package wpf。//result = ()。Connection con = null。}return result。PreparedStatement ps = null。}return result。PreparedStatement ps = null。(user, null)。String u_state = (String)(u_state)。/String hid = (4)。if((login)){//action為登錄信息String u_no = (String)(u_no)。登錄后的功能界面如圖514所示。具體設(shè)計(jì)如表59所示。表54 相冊(cè)表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小是否為主鍵是否可以為空x_idx_namex_accessx_dateu_nointvarcharinttimestampintN/A18N/AN/AN/A是否否否否否否是否否(5) 用戶信息表user用戶信息表用于記錄用戶的相關(guān)信息,主要的字段有:用戶ID、用戶密碼、用戶昵稱、用戶郵箱地址、用戶心情、用戶頭像ID,具體設(shè)計(jì)如表55所示。圖512 數(shù)據(jù)庫(kù)模型圖2. 基本信息表(1) 好友關(guān)系表friend好友關(guān)系表用于記錄具有好友關(guān)系雙方ID的表,主要包括的字段有用來(lái)唯一標(biāo)識(shí)一組好友關(guān)系的編號(hào)、主人ID、好友ID和日期。圖58 訪客記錄實(shí)體圖訪客記錄實(shí)體包括訪問(wèn)記錄編號(hào)、被訪問(wèn)者編號(hào)、訪問(wèn)者編號(hào)和訪問(wèn)日期。圖55 照片實(shí)體圖照片實(shí)體包括照片編號(hào)、照片二進(jìn)制數(shù)據(jù)、照片所屬的相冊(cè)、照片描述和照片名稱。圖52 好友關(guān)系實(shí)體圖好友關(guān)系實(shí)體包括好友關(guān)系編號(hào)、好友主方、好友客方、好友關(guān)系建立的日期,好友關(guān)系編號(hào)要設(shè)置為自增類型。第5章 系統(tǒng)詳細(xì)設(shè)計(jì) 設(shè)計(jì)目標(biāo)基于Android的社交分享平臺(tái)提供了一個(gè)信息發(fā)布和信息共享的平臺(tái)給用戶,用戶通過(guò)瀏覽器訪問(wèn)Web服務(wù)器和通過(guò)Android手機(jī)端訪問(wèn)服務(wù)器時(shí)享受到的功能基本相同。圖47 管理相冊(cè)模塊圖個(gè)人中心模塊下的最后一個(gè)選項(xiàng)卡是管理相冊(cè)模塊,該模塊的功能是顯示相冊(cè)列表、顯示照片、修改相冊(cè)權(quán)限、刪除照片、評(píng)論照片和創(chuàng)建新相冊(cè)。圖45 查看聯(lián)系人模塊圖查看聯(lián)系人模塊是個(gè)人中心模塊下的一個(gè)選項(xiàng)卡,通過(guò)選擇該選項(xiàng)卡啟動(dòng)該模塊的功能,該模塊有顯示好友列表,顯示訪客列表的功能。登錄或注冊(cè)成功之后轉(zhuǎn)入個(gè)人中心模塊。Android SDK及其Eclipse開(kāi)發(fā)插件ADT。圖32系統(tǒng)流程圖用戶要使用基于Android的社交分享平臺(tái)必須要成功登錄,或者成功注冊(cè),登錄后會(huì)自動(dòng)跳轉(zhuǎn)到個(gè)人中心,可以選擇退出或繼續(xù)操作,若是繼續(xù)操作,可以從個(gè)人中心選擇相應(yīng)的選項(xiàng)卡,在各選項(xiàng)卡下進(jìn)行操作。根據(jù)對(duì)系統(tǒng)的分析,畫(huà)出系統(tǒng)的用例圖,如圖31所示。2. 用戶登錄,讓已注冊(cè)用戶登錄平臺(tái)。Eclipse,Tomcat,MySQL都是免費(fèi)的開(kāi)源的,不需要購(gòu)買和注冊(cè)。圖28 AVD創(chuàng)建配置完成后,單擊Create AVD按鈕,然后返回到Android SDK and AVD Manager界面,之后選中剛剛創(chuàng)建的模擬器,單擊Start按鈕,耐心等待一段時(shí)間后,運(yùn)行模擬器,至此,Eclipse集成開(kāi)發(fā)環(huán)境搭建完畢[10]。耐心等待安裝完后,在彈出的界面中,直接單擊Finish按鈕,重啟Eclipse,完成ADT的安裝。3. 登錄Android官方網(wǎng)站,在。如果我們想要?jiǎng)?chuàng)建自己的模板代碼,PDE會(huì)幫助創(chuàng)建模板代碼,同時(shí)它還為Eclipse提供了一個(gè)完整的開(kāi)發(fā)測(cè)試插件的環(huán)境[8]。平臺(tái)運(yùn)行時(shí)是插件的核心引擎,位于平臺(tái)核心中最低級(jí)別的部分,相當(dāng)于一個(gè)微內(nèi)核。在如今市場(chǎng)上各種集成開(kāi)發(fā)環(huán)境競(jìng)相涌現(xiàn)的情況下,由于Eclipse操作、管理和界面的統(tǒng)一性加之其開(kāi)源性,使其具有無(wú)限的發(fā)展空間。第3步:測(cè)試MySQL連接。MySQL支持C/S架構(gòu),Tomcat是多線程的,MySQL是多用戶、多線程的,所以能夠很好的實(shí)現(xiàn)多線程應(yīng)用。Servlet的作用是用來(lái)擴(kuò)展Web服務(wù)器的功能,響應(yīng)客戶端的請(qǐng)求并作出應(yīng)答。如果項(xiàng)目中有引用其他類則打包成JAR文件,則也放在WEBINF文件下。Android是一個(gè)真正意義上的開(kāi)放性移動(dòng)平臺(tái),運(yùn)行在虛擬機(jī)上的全部應(yīng)用程序都是平等的,打破了程序間的界限,不管對(duì)于使用者還是開(kāi)發(fā)者都是方便快捷的。第2章 系統(tǒng)相關(guān)技術(shù)概述 Android移動(dòng)平臺(tái)簡(jiǎn)介Android狹義上說(shuō)是一種在Linux系統(tǒng)上發(fā)展起來(lái)的手機(jī)操作系統(tǒng),廣義上說(shuō)Android不僅指操作系統(tǒng)它還包括用戶界面和應(yīng)用程序。論文的第1章為緒論,這一章主要講述了基于Android的社交分享平臺(tái)的研發(fā)背景、國(guó)內(nèi)外研究現(xiàn)狀、前景意義和系統(tǒng)結(jié)構(gòu)。用戶可以在海量的數(shù)據(jù)中根據(jù)自己的喜好去關(guān)注或者跟蹤喜好的信息。同年。07年底,全球手機(jī)用戶人數(shù)超過(guò)33億。在未來(lái)的網(wǎng)絡(luò)中,以人為本的社交分享平臺(tái)將會(huì)獲得更多的青睞。s open source advantage and that powerful intelligent mobile phone will also like puter as the Internet terminal which can be supplied to the outside service, make the information exchange and sharing of resources synchronously, timely and conveniently, these characteristics are increasingly popular among people. So this thesis choose social sharing platform based on Android as the direction of my graduate design.Social sharing platform based on Android which use Java language as development language, MySQL database as a background database, Tomcat as the Web application server, is a plete set of client, server and database as one of the social sharing platform. The system consists of ten modules, respectively is the Web module, logining and registering module, the individual center module, seeing contact person module, managing diary module, managing albums module, user searching module, friendspage module and server module. This paper mainly expounds the social sharing platform based on Android for each module of the needs analysis, feasibility analysis, detailed design process etc.The research and development for social sharing platform based on Android will contribute to the social sharing platform adapted to municating platform mobile, portable trend, but also can contribute to the social improvement of science and technology. And this will be to the vast number of businesses to bring more business opportunities and profits.【key words】social sharing。在Web ,社交分享類網(wǎng)站是具有突出特點(diǎn)的一項(xiàng)網(wǎng)絡(luò)服務(wù)?;贏ndroid的社交分享平臺(tái)是利用Java語(yǔ)言作為開(kāi)發(fā)語(yǔ)言,以MySQL數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù),Tomcat作為Web應(yīng)用服務(wù)器,是一套完整的集客戶端、服務(wù)器端和數(shù)據(jù)庫(kù)為一體的社交分享平臺(tái)。 MySQL。目前流行的Android系統(tǒng),不僅擁有低廉的成本還具有流暢的用戶體驗(yàn),開(kāi)放性較強(qiáng),現(xiàn)在已成為世界上增長(zhǎng)最快的智能手機(jī)平臺(tái)而且有Android Market和眾多第三方應(yīng)用商店做后盾,具有非常豐富的應(yīng)用資源。 國(guó)內(nèi)外研究現(xiàn)狀當(dāng)前國(guó)外移動(dòng)社交分享業(yè)務(wù)的存在方式主要有三種:第一種是移動(dòng)運(yùn)營(yíng)商與移動(dòng)社交分享業(yè)務(wù)的提供商合作,主要是以WAP網(wǎng)站方式實(shí)現(xiàn)的;第二種是終端制造商通過(guò)內(nèi)置或軟件升級(jí)的方式,利用其智能終端提供移動(dòng)社交分享功能;第三種是移動(dòng)運(yùn)營(yíng)商在其移動(dòng)網(wǎng)絡(luò)平臺(tái)上引入當(dāng)下流行的在線社交分享網(wǎng)絡(luò),提供其移動(dòng)版本。同年十二月,安卓市場(chǎng)下載量達(dá)到100億。事實(shí)上,用戶通過(guò)瀏覽器訪問(wèn)Web服務(wù)器時(shí)享受到的功能,與通過(guò)Android手機(jī)端訪問(wèn)服務(wù)器時(shí)享受到的功能大體相同??尚行苑治鰪哪繕?biāo)方案,技術(shù)、經(jīng)濟(jì)、操作三個(gè)方面分析確定了系統(tǒng)開(kāi)發(fā)的作用意義。虛擬機(jī)是手機(jī)硬件與上層應(yīng)用程序之間的信使,所有Android應(yīng)用都必須運(yùn)行在虛擬機(jī)之上。不僅由于Servlet和JSP規(guī)范在Tomcat中的體現(xiàn)加強(qiáng),還由于Tomcat技術(shù)先進(jìn),性能穩(wěn)定、可靠、效率高,因而Tomcat服務(wù)器受到大量Java開(kāi)發(fā)者支持這也是其成為目前比較流行的Web應(yīng)用服務(wù)器的原因之一。在以后訪問(wèn)JSP應(yīng)用時(shí)就不必再轉(zhuǎn)化編譯了。 MySQL數(shù)據(jù)庫(kù) MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介MySQL是一個(gè)開(kāi)源的SQL數(shù)據(jù)庫(kù)服務(wù)器,它簡(jiǎn)單、易用、通用的特點(diǎn)是大多數(shù)人使用它的原因。 MySQL數(shù)據(jù)庫(kù)安裝與配置MySQL數(shù)據(jù)庫(kù)安裝與配置主要有以下幾步:第1步:安裝MySQL。安裝后啟動(dòng)界面如圖22所示。隨著開(kāi)放靈活的Eclipse的流行,用有越來(lái)越多基于Eclipse開(kāi)發(fā)的應(yīng)用。Eclipse的視圖、菜單欄、編輯器、工具欄由WorkBench控制。2.