楊蘇雯
摘 要 在Android開(kāi)發(fā)平臺(tái)上,并在JavaWeb開(kāi)發(fā)的PC端新聞網(wǎng)站的基礎(chǔ)上結(jié)合現(xiàn)在的需求開(kāi)發(fā)了移動(dòng)版的新聞客戶(hù)端App,這個(gè)系統(tǒng)設(shè)計(jì)主要分為用戶(hù)登錄驗(yàn)證模塊、新聞列表的顯示功能模塊以及新聞內(nèi)容模塊的設(shè)計(jì)和實(shí)現(xiàn),讓用戶(hù)能夠通過(guò)App可以更方便、快捷地查看最新新聞。
關(guān)鍵字 Android;App;新聞客戶(hù)端
中圖分類(lèi)號(hào) G2 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2017)184-0045-02
隨著智能手機(jī)的普及和移動(dòng)網(wǎng)絡(luò)的快速發(fā)展,使人們的生活逐漸進(jìn)入“互聯(lián)網(wǎng)+”的模式,無(wú)論是利用計(jì)算機(jī)進(jìn)行辦公,還是在日常生活中的購(gòu)物和外出旅游,人們都可以在智能手機(jī)上使用網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)。近幾年,移動(dòng)互聯(lián)網(wǎng)技術(shù)應(yīng)用的越來(lái)越廣泛,傳統(tǒng)的網(wǎng)絡(luò)業(yè)務(wù)也逐漸向移動(dòng)互聯(lián)網(wǎng)方向轉(zhuǎn)型,而且,現(xiàn)在移動(dòng)互聯(lián)網(wǎng)終端也能夠隨時(shí)獲取到大量的數(shù)據(jù)。而且人們也都習(xí)慣了在智能手機(jī)上通過(guò)各種各樣的App,來(lái)滿(mǎn)足我們?cè)谌粘I钪械囊恍┕ぷ餍枨?。然而,想了解新聞?zhuān)題各個(gè)欄目的具體內(nèi)容,用戶(hù)可以通過(guò)App來(lái)查看系統(tǒng)中的相關(guān)新聞,這樣就可以讓用戶(hù)能夠更加方便地查看最新新聞。本文通過(guò)研究Javaweb技術(shù)和Android開(kāi)發(fā)App的技術(shù),設(shè)計(jì)實(shí)現(xiàn)新聞系統(tǒng)網(wǎng)站的手機(jī)版應(yīng)用。
1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
這次App開(kāi)發(fā)的設(shè)計(jì)是通過(guò)實(shí)際所在系的Android客戶(hù)端,主要的功能有新聞模塊的具體內(nèi)容顯示,也就是將新聞瀏覽技術(shù)實(shí)現(xiàn)。系統(tǒng)是由用戶(hù)登錄驗(yàn)證、系部概況、通知公告、學(xué)生工作、招生信息、新聞動(dòng)態(tài)顯示、專(zhuān)業(yè)建設(shè)以及聯(lián)系方式介紹等8個(gè)模塊構(gòu)成。網(wǎng)站的App移動(dòng)端的系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖如圖1。
1.1 用戶(hù)登錄驗(yàn)證模塊
用戶(hù)登錄系統(tǒng)時(shí),系統(tǒng)將通過(guò)Android App端與JavaWeb后臺(tái)進(jìn)行信息傳遞來(lái)驗(yàn)證用戶(hù)是否為本系統(tǒng)的合法用戶(hù)。在用戶(hù)驗(yàn)證時(shí),系統(tǒng)通過(guò)Android App端獲取到用戶(hù)輸入的數(shù)據(jù),并將數(shù)據(jù)傳遞到JavaWeb后臺(tái)中:JavaWeb獲取到數(shù)據(jù)之后通過(guò)系統(tǒng)內(nèi)編寫(xiě)的業(yè)務(wù)邏輯來(lái)對(duì)用戶(hù)進(jìn)行驗(yàn)證,看其是否合法,并將驗(yàn)證后的結(jié)果返回到Android App客戶(hù)端。只有登錄用戶(hù)通過(guò)驗(yàn)證就是系統(tǒng)中的用戶(hù),可以查看系統(tǒng)中的通知公告、系部概況、學(xué)生工作、招生信息、專(zhuān)業(yè)建設(shè)、聯(lián)系方式等一系列功能,只有在數(shù)據(jù)庫(kù)的User表中存在的信息才是合法的,否則將會(huì)提示登錄者,“你的賬號(hào)不存在,請(qǐng)注冊(cè)”。
1.2 新聞列表模塊
用戶(hù)在經(jīng)過(guò)驗(yàn)證模塊,確定合法身份后就可以登錄到新聞系統(tǒng)的主界面。主界面上的內(nèi)容主要包括系部概況、通知公告、學(xué)生工作、招生信息、新聞動(dòng)態(tài)、專(zhuān)業(yè)設(shè)立和聯(lián)系方式等7個(gè)模塊的點(diǎn)擊按鈕。用戶(hù)選擇后能夠進(jìn)入按鈕對(duì)應(yīng)的新聞列表顯示的界面。列表顯示界面的最主要的作用就是能夠根據(jù)用戶(hù)提交的不同新聞?lì)愋蛠?lái)顯示新聞的具體內(nèi)容,有新聞標(biāo)題、發(fā)布者、時(shí)間等一系列信息的新聞條目。顯示的列表通過(guò)分頁(yè)技術(shù),一頁(yè)只能顯示10條列表數(shù)據(jù),并對(duì)新聞列表中的新聞按照發(fā)布時(shí)間進(jìn)行排序??梢宰層脩?hù)看到最新的新聞動(dòng)態(tài)。
1.3 新聞內(nèi)容模塊
新聞的內(nèi)容模塊的最主要的作用是將新聞標(biāo)題、發(fā)布者、時(shí)間和具體新聞內(nèi)容等顯示在界面上。用戶(hù)在新聞列表顯示模塊中選擇某一條新聞后,Android App端將會(huì)把這條新聞的ID利用WebView的數(shù)值方式傳遞到JavaWeb的服務(wù)器中,通過(guò)Service中的查詢(xún)業(yè)務(wù)邏輯進(jìn)行處理,查出數(shù)據(jù)庫(kù)中對(duì)這條新聞的存儲(chǔ)數(shù)據(jù),并將結(jié)果數(shù)據(jù)發(fā)送到Android端,并在WebView的控件中將獲得的數(shù)據(jù)結(jié)果顯示出來(lái)。
2 系統(tǒng)功能實(shí)現(xiàn)
2.1 用戶(hù)登錄驗(yàn)證模塊
將用戶(hù)登錄的UI(user interface)界面布局實(shí)現(xiàn),在AndroidApp端編寫(xiě)訪問(wèn)JavaWeb系統(tǒng)服務(wù)器的子線程,在子線程中利用doGET方式將數(shù)據(jù)發(fā)送給后臺(tái),在后臺(tái)經(jīng)過(guò)邏輯程序的驗(yàn)證,Android移動(dòng)端使用數(shù)據(jù)流獲取到數(shù)據(jù)將其返回,并解析成我們熟悉的數(shù)據(jù),讓其在App頁(yè)面上顯示,以便我們更方便地看到與自己相關(guān)新聞動(dòng)態(tài)。
2.2 新聞列表顯示模塊
得到上一個(gè)界面中傳遞的新聞?lì)愋蚽ews_ type,然后將獲取到的news_type發(fā)送給JavaWeb中的Servlet控制器,然后再經(jīng)過(guò)Service中的業(yè)務(wù)邏輯進(jìn)行查詢(xún),獲取這個(gè)新聞?lì)愋偷那?0條新聞信息,并將其返回到List集合中,但是由于List集合自身的限制,無(wú)法直接將數(shù)據(jù)傳遞到Android的移動(dòng)客戶(hù)端,只能使用Json的形式將數(shù)據(jù)封裝成json字符串的形式發(fā)送到Android移動(dòng)端。Json數(shù)據(jù)封裝格式:[{id:“20”,title:“就業(yè)信息”,editor:“電子系”,date:“2016-06-29”}]Android App端獲取數(shù)據(jù)格式并將其解析,最后顯示在ListView組件中,最后在其前臺(tái)頁(yè)面顯示[ 1 ]。利用SQL語(yǔ)句對(duì)出入前臺(tái)的數(shù)據(jù)進(jìn)行排序,按發(fā)布時(shí)間進(jìn)行排序,最新的新聞動(dòng)態(tài)在新聞列表頂端顯示。
2.3 新聞內(nèi)容顯示模塊
新聞內(nèi)容要在頁(yè)面中顯示,就必須要在顯示列表的模塊建立ItemoncLickeListener接口,利用它來(lái)獲取用戶(hù)選擇要顯示的頁(yè)面。新聞顯示列表模塊只要將新聞的id值傳遞給新聞內(nèi)容模塊中,在新聞內(nèi)容顯示模塊中新聞內(nèi)容的顯示能夠利用解析器對(duì)Json字符串進(jìn)行解析,并將解析后的數(shù)據(jù)通過(guò)WebView組件在頁(yè)面上進(jìn)行顯示。為了將開(kāi)發(fā)系統(tǒng)的周期縮短,利用WebView組件傳遞數(shù)據(jù)將此模塊功能實(shí)現(xiàn)。在Android客戶(hù)端就能看到通過(guò)ID獲取到的數(shù)據(jù),并可以看到新聞的具體內(nèi)容。
3 結(jié)論
本文的新聞系統(tǒng)的設(shè)計(jì)是基于Android平臺(tái)的作者所在系網(wǎng)站的Android移動(dòng)端應(yīng)用,設(shè)計(jì)中使用了Servlet技術(shù)、Android數(shù)據(jù)傳遞、對(duì)線程并發(fā)執(zhí)行技術(shù)和Json字符串封裝技術(shù)等。這個(gè)App是基于PC端新聞系統(tǒng)的基礎(chǔ)上開(kāi)發(fā)的,所以它的結(jié)構(gòu)設(shè)計(jì)合理,使用時(shí)方便操作,實(shí)現(xiàn)頁(yè)面直接的跳轉(zhuǎn)更加靈活。后期讓周?chē)娜耸褂靡欢螘r(shí)間,經(jīng)過(guò)測(cè)試,并對(duì)App設(shè)計(jì)中的不足進(jìn)行改進(jìn)和完善,最終達(dá)到了設(shè)計(jì)需求。
參考文獻(xiàn)
[1]賀維.Android應(yīng)用開(kāi)發(fā)基礎(chǔ)教程[M].北京:中國(guó)電力出版社,2014:46-47.
[2]李興華.名師講壇——Android開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典[M].北京:清華大學(xué)出版社,2012:620-624.
[3]李毅.基于Android平臺(tái)的新聞客戶(hù)端設(shè)計(jì)與實(shí)現(xiàn)[J].石家莊職業(yè)技術(shù)學(xué)院學(xué)報(bào),2016,28(6):43-45.