• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SSH的Android客戶端與服務(wù)器端的數(shù)據(jù)交互

      2020-09-28 07:05:41蔡群英
      電腦知識與技術(shù) 2020年16期
      關(guān)鍵詞:服務(wù)器端移動互聯(lián)網(wǎng)

      蔡群英

      摘要:通過分析Android的技術(shù)體系和流行的JAVA EE服務(wù)器端SSH框架,給出了Android客戶端與服務(wù)器端的數(shù)據(jù)交互方式。

      關(guān)鍵詞:移動互聯(lián)網(wǎng);Android客戶端;服務(wù)器端;SSH;數(shù)據(jù)交互

      中圖分類號:TP393? ? ? ?文獻標識碼:A

      文章編號:1009-3044(2020)16-0055-02

      Abstract:Through the analysis of Android technology architecture and popular Java EE server-side SSH frame, the data interaction mode between Android client and server-side is given.

      Key words:mobile Internet; Android client; server-side; SSH; data interaction

      1引言

      手機作為移動互聯(lián)網(wǎng)的終端,相比較原來的計算機終端,Android有其內(nèi)存少,運行速度慢等特點,要求網(wǎng)絡(luò)傳輸數(shù)據(jù)量小,開發(fā)以手機為終端的移動互聯(lián)網(wǎng)項目,需要解決的關(guān)鍵技術(shù)就是智能終端如何與服務(wù)器端進行數(shù)據(jù)交互,本文就此方面展開介紹。

      2 Android與SSH

      2.1 Android的技術(shù)體系

      Android是Google公司于2007年11月發(fā)布的基于Linux平臺的開源手機操作系統(tǒng),基于Linux技術(shù),由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。Android的體系結(jié)構(gòu)是由五大部分組成:Linux內(nèi)核、Android Runtime、Libraries、Application Framework和Application。在Android的Android Runtime中,提供了大部分java語言核心庫的功能,系統(tǒng)支持的運用一般都是使用java語言并基于Android SDK進行開發(fā),而對于那些大規(guī)模運算和執(zhí)行效率要求高的應(yīng)用,使用c/c++語言來開發(fā),開發(fā)完成后編譯生成類庫添加到應(yīng)用中,但整個應(yīng)用程序如界面繪制、進度調(diào)試等核心機制都是部署到框架層通過java來實現(xiàn)[1]。

      Android應(yīng)用程序的組件有四種類型:Activity組件、Intent組件、Service組件和用戶界面。用戶界面和控制是分離的,用戶界面是一個xml文件,activity是用于控制用戶界面的,使之與系統(tǒng)進行交互,每一個用戶界面,都需要編寫與之對應(yīng)的activity程序,要從一個用戶界面進入另一個界面,通過調(diào)用activity的startActivity()方法來實現(xiàn)。AndroidMainfesg.xml是整個Android應(yīng)用程序的配置文件,在這里對Activity、Intent、Service等組件進行配置,并進行應(yīng)用程序的權(quán)限聲明。

      2.2 SSH

      JAVA EE是JAVA語言體系中的三大技術(shù)平臺之一,用于開發(fā)企業(yè)級的應(yīng)用程序。在移動互聯(lián)網(wǎng)時代,很多web應(yīng)用項目的客戶端都同時部署到Android平臺上,并使用JAVA EE搭建服務(wù)器端。在JAVA EE的體系結(jié)構(gòu)中,SSH(Struts2、Hibernate和Spring)是一個流行的輕量級框架組合。

      3 Android客戶端與服務(wù)器端的數(shù)據(jù)交互

      3.1什么是JSON

      JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,采用完全獨立于編程語言的文本格式,是目前比較流行的數(shù)據(jù)交換語言,在網(wǎng)絡(luò)數(shù)據(jù)傳輸中應(yīng)用非常廣泛。JSON中對象以“{”開始,以“}”結(jié)束,對象中的每一個item都是一個鍵值對,表現(xiàn)為“key:value”的形式,鍵值對之間使用逗號分隔。以對象address用JSON格式來表示為例,{“city”:”chaozhou”,”street”:”xiyang road”,”zip”:521000}

      JSON相比較XML,更適合處理格式簡單的數(shù)據(jù),JSON傳輸數(shù)據(jù)不需要將數(shù)據(jù)保存為一個獨立的文件,直接編寫成字符串就可以,并且通常傳輸?shù)臄?shù)據(jù)是有規(guī)則的數(shù)據(jù),具有一定的結(jié)構(gòu)的,符合JSON數(shù)據(jù)解析的特點。

      3.2解析服務(wù)器端返回的JSON數(shù)據(jù)

      從服務(wù)器端響應(yīng)過來的數(shù)據(jù)是JSON格式的,需要在客戶端進行解析,然后將解析后的內(nèi)容顯示在智能終端的界面上[2]。Android自帶JSON處理,通過org.json包進行解析,主要有JSONObject類、JSONStringer類和JSONArray類。解析時服務(wù)器端返回的字符串作為JSONArray的參數(shù),通過循環(huán),將字符串中的每個對象讀取出來,保存在JSONObject對象中。通過JSONObject對象的getString()方法取得每個鍵值。

      3.3 SSH架構(gòu)的客戶端與服務(wù)器端的數(shù)據(jù)交互

      整個WEB應(yīng)用程序采用MVC的設(shè)計模式,M是模型;V是視圖,由Android客戶端的界面來實現(xiàn);C是控制器,由action來實現(xiàn)。分為表現(xiàn)層、控制層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。表現(xiàn)層由Struts2框架實現(xiàn),業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層的組件交給Spring框架來管理,通過Hibernate實現(xiàn)對象關(guān)系映射,將數(shù)據(jù)訪問層對表的操作映射為對對象的操作。

      在Struts2框架中,服務(wù)器端向客戶端傳送數(shù)據(jù),是使用Struts2的JSON數(shù)據(jù)封裝功能自動將對象封裝并返回JSON數(shù)據(jù);而客戶端向服務(wù)器端傳送數(shù)據(jù),是將JSON轉(zhuǎn)換成對象。

      以查詢所有用戶為例,包括登錄界面main.xml和顯示所有用戶界面showAllUser.xml,分別對應(yīng)兩個程序來處理:MainActivity.java和ShowAllUserActivity.java,由Activity來處理與服務(wù)器端的action進行交互。

      登錄界面main.xml,相應(yīng)的處理程序是MainActivity.java,由MainActivity.java訪問服務(wù)器端的login.action,并傳遞了兩個參數(shù)username和password,由login.action執(zhí)行了之后,判斷如果有返回值,并且等于“1”,表示登錄成功,接著跳轉(zhuǎn)到showAllUserActivity.java程序,在ShowAllUserActivity.java程序控制訪問服務(wù)器端的showallUser_Android( ),查詢所有用戶,返回結(jié)果all,是List類型。

      在struts.xml文件中,設(shè)置返回的類型是“json”,則在服務(wù)器端將all封裝為JSON數(shù)據(jù),在Android客戶端的showAllUserActivity.java程序中取得返回值json數(shù)據(jù),按json的格式,讀取出每個對象,顯示在界面上showAllUser.xml。

      4總結(jié)

      本文簡單地介紹移動互聯(lián)網(wǎng)中Android客戶端與服務(wù)器端的數(shù)據(jù)交互,通過使用JSON進行數(shù)據(jù)交互,能夠提高系統(tǒng)的信息傳輸效率。

      參考文獻:

      [1] 胡文發(fā),白中英.基于J2ME/J2EE的JSON數(shù)據(jù)交換的探討[J].電子設(shè)計工程,2009,17(12):102-103.

      [2] 樊紅林.Android平臺與SSH2的通信[J].電腦知識與技術(shù),2015,11(13):35,37.

      【通聯(lián)編輯:王力】

      猜你喜歡
      服務(wù)器端移動互聯(lián)網(wǎng)
      Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      成功(2018年10期)2018-03-26 02:56:14
      微美學
      人間(2016年28期)2016-11-10 23:41:49
      智能手機在大學生移動學習中的應(yīng)用研究
      軟件導刊(2016年9期)2016-11-07 22:29:13
      基于Android的一鍵智能報警系統(tǒng)設(shè)計與實現(xiàn) 
      軟件導刊(2016年9期)2016-11-07 18:38:25
      O2O電子商務(wù)模式發(fā)展問題及對策研究
      時代金融(2016年23期)2016-10-31 14:09:08
      大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
      新聞世界(2016年10期)2016-10-11 20:13:53
      基于移動互聯(lián)網(wǎng)的心理健康教育初探
      考試周刊(2016年76期)2016-10-09 09:37:54
      在Windows中安裝OpenVPN
      基于C/S架構(gòu)的嵌入式監(jiān)控組態(tài)外設(shè)擴展機制研究與應(yīng)用
      軟件導刊(2015年6期)2015-06-24 13:09:56
      广州市| 海淀区| 定南县| 玉田县| 芦山县| 资源县| 朝阳市| 建湖县| 蒙自县| 永善县| 云龙县| 乐山市| 泰宁县| 濮阳市| 龙游县| 永胜县| 禹城市| 台山市| 五峰| 教育| 绵竹市| 原阳县| 龙里县| 青河县| 康保县| 古丈县| 西和县| 高密市| 祁连县| 神池县| 佛山市| 甘肃省| 海丰县| 突泉县| 徐闻县| 内江市| 镇江市| 清河县| 阜新| 都匀市| 永春县|