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