下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、AndroidJSON 網(wǎng)絡(luò)數(shù)據(jù)交換2011-10-3013:33:33我來(lái)說(shuō)兩句收藏我要投稿字體:小大什么是 JSONJSON(JavaScriptObjectNotation)是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,非常適合于服務(wù)器與客戶端的交互。JSON 采用與編程語(yǔ)言無(wú)關(guān)的文本格式,但是也使用了類 C 語(yǔ)言的習(xí)慣,這些特性使 JSON 成為理想的數(shù)據(jù)交換格式。和 XML 一寺 JSON 也是基于純文本的數(shù)據(jù)格式。由于 JSON 天生是為 JavaScript 準(zhǔn)備的,因此,JSON 的數(shù)據(jù)格式非常簡(jiǎn)單,您可以用JSON 傳輸一個(gè)簡(jiǎn)單的 String,Num
2、ber,Boolean,也可以傳輸一個(gè)數(shù)組,或者一個(gè)復(fù)雜的 Object 對(duì)象。首先創(chuàng)建一個(gè) Web 項(xiàng)目 ServletTest1:我們創(chuàng)建一個(gè)名為 User 的 JavaBean 作為用戶對(duì)象類,用來(lái)保存演示數(shù)據(jù)paulLagucom.scivletrpublicclassUserprivateintid;privateBtrmgnaite;priTatiQJ-ngprivate5匕二工審牙unHurxpobliaintgecld(returnid;)pnbliavoidid)this*id=id;)poblicScringreturnrLome;pobliavoidBetName(Her
3、ingnamethis,name=nainie;publicgecZmaxl()returnemail;)pobliavoidsecEmail(Scnngemail)thia,email=email;pdblicScrLnggecenriet()returnqq二Bq二F_pobliavoidsecSender(Snrrnggender)tbis-gender=gender;HTTPAMA/W&CTO.COM2:我們創(chuàng)建一個(gè) ServletDemo 的 Servlet 類作為服務(wù)器的接口程序packagecom.android.servlet;importjava io IOExcep
4、tion;publicclassServletDemoextendsHctpServletprivatestaticfinallongserialVersionUID=5451751140414610393L;privateLi3tlist;處理post方式提交的數(shù)據(jù)protectedvoiddoPost(HttpServlet;Requestreq,HttpServletResponsereap)throwsServleExcept!on,工。ExceptiondoGet(req,reap);I處理gz方式提交的數(shù)據(jù)protectedvoiddoGet(HttpServletRequestr
5、eqfHttpServletResponsereap)throwsServletExcaption,lOExceprionreap.secContentType(ntext/plamn);reap.secCharacterEncoding(rfUTF-8r,);PrintWriterout=resp.getWriter();準(zhǔn)備用戶數(shù)據(jù)prepareData();/JSON數(shù)組JSONArxayarray=newJSONArxay();for(Usertoean;list)/單個(gè)用尸JSON對(duì)豪JSONObjectobj=newJSONObject();try(obj.put(id”,bean
6、.getld();obj.put(rfname11rbean.gecName();otj.putLBaagetExnail();otoj.put(gundur,bean.getGender();catch(Exceptione)array.put(obj);力輸出out.write(array.toString();out.flush();out.close();privatevoidprepareData()list-newArraytist();Usertoeanl=newUser();beanl.setld(1001);beanl.setName(Litongl);beanl.setEm
7、ail(n);beanl.setGender(ninale11);list.add(beanl);Userbean2newUser();bean2.setld(1002);bean2.setName(nLicong2rf);bean2.setEmail(r,n)bean2.setGender(male);list.add(bean2);3:把該 Servlet 部署到 Tomcat 下,發(fā)布項(xiàng)目需要修改 web.xml初一口pp=二二口匚=2xmlriB-ava- sun.cos/xml/ns/jav3eeJitrp;/53VJTsurMyWebApplictionAafiplicauionE
8、orce3UoervleoT&BCoervlet-classcaia.android,servlet.ServletDenoAw1AXkAWA/VWJVVVVAAAA/AAAAVVVXoetvlev-joappiu1?oervlec-nameTest(IHTTP7AA/WW2CTOCOM4:發(fā)布成功后,在瀏覽器輸入地址 http:/localhost:8080/ServletTest/Test,輸出如下結(jié)果:(id:1001,1100113.con,name:Litonglfgender,T:Trmalen,曠:工中:id;1003reiaAillOOSeifiS.CDnnaint;L
9、itangS,gender1*:r,KAler,15:準(zhǔn)備好服務(wù)器的接口后,我們準(zhǔn)備寫(xiě)客戶端的程序,創(chuàng)建一個(gè) android 項(xiàng)目我們創(chuàng)建一個(gè)名為 JSONActivity 的 Activity 類首先我們修改 UI 布局 layout/main.xml3rni1Trersi.cin=,l-Cwencoding=ut:fS,rCLinearLayoutnmlris;android=,J3ttp;/5cJierad5,android.GOHE/apk/res/ndroidprandroid:orienr&tion-vert-ical”andrarci!Layotir口工drii二打工工工
10、工士已二出:layouthei5ht=tnTexEVlewaizdzoLcl:zd=f,i?+zd/fc=xfiCfLL口匚L口/口口匚才HTTPz/WWW2CT口,8N6:實(shí)現(xiàn)客戶端獲取網(wǎng)絡(luò)數(shù)據(jù)的核心代碼:pa&k-aeetm.androld.,importjaa*io*3ufferedReader;classrsOHAccivicySKtendsGLivitypublicvoid.anCreaEe(Sundlesavedriir-a-rLC&Sr.ace)(super.onCreateeaw巳值工口3二anc5匚a匚巳】;setCenttnTViewR.La7aat,n:3
11、Lf:);try(Strin.gBu.ffer3b-new5tring3afflier();門(mén)在測(cè)試過(guò)程中, 經(jīng)常是用本機(jī)做測(cè)盅證絡(luò)韓, 訪問(wèn)本機(jī)的工P地址要設(shè)置為例上Srinffurl=,ptJJccp:/LO,0.2.2:SO&OSerwletTesiL/Tesc;Stringbody=getContent.(arl);JSONA2T:ayarrai*三JSOMirra-y(b&dy):for(inti=0;iarray,Length(;1+)CTSOWObjecx.obj-array.geeJSGMObject1;3b.appead(id:.&ppndfobi.g
12、曰匚工zrt(id).append(p,c11);sb.append(,rnair:e:rr).append(obj(jecscriiz5naire)-appeno(rrBr,);sb.&fEnd(g&nder;*app&nd(obj.getStringgender).appendCsb.appead.(email!.append(abj.geEStrlng(r,eiaaL).appendsb,append(nr);T&x.tVi&urext.Vierf=(Tex-Vi&w)fi_ndw*ew5yTdid.;-ex.VView,eeVText-(
13、St*VQ5V-i?();)catch(Exceptione)()privateStringgetConuenu(Stringurl)throwsKKceptionsb-AE慟()*tpC1ieatclient-aew0七工息口工匚巳匕匚口匕工匕口匚():ticr-pEaransh.cr.p?arams=client.g&DPa.ramst);設(shè)置網(wǎng)絡(luò)超時(shí)參數(shù)已七七1:匚口1111名二亡1口11?a1且憶3:.后2匚匚0121:目匚1:1口左丁工工2口口七(打匕七1:a工段n9,3000);HctpCarLuectiorLParam5.setrLaaout(ht-tpParans,5OQ0);HttpResFanseresp5n5e=client.eicecat-e(newHttpGeturl);HttpEntityentityresponse*eEntity();if(erLtlny=ntLll)fered-F-SSe-red.r=new(newIijpitStzeaziReade(eStringline=null;wb-ilef(line=reader.r&aidLiEL&()1=null)/ses-p-erraissid
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)外教2024年度服務(wù)協(xié)議樣本版
- 2025年度大型餐飲集團(tuán)廚師長(zhǎng)職業(yè)發(fā)展規(guī)劃與薪酬體系合同3篇
- 2024年04月綿陽(yáng)市商業(yè)銀行2024年春季招考筆試歷年參考題庫(kù)附帶答案詳解
- 2025年度廠房租賃安全協(xié)議:安全生產(chǎn)目標(biāo)管理與考核評(píng)價(jià)合同3篇
- 2024年04月重慶重慶銀行總行內(nèi)控合規(guī)部招考筆試歷年參考題庫(kù)附帶答案詳解
- 2025年度智能制造裝備廠房承包與技術(shù)支持合同4篇
- 個(gè)人住宅出租協(xié)議格式(2024版)版B版
- 2024簡(jiǎn)明居間服務(wù)協(xié)議模板版B版
- 2025年度彩鋼景觀亭搭建安裝合同3篇
- 2025年度國(guó)際承包工程合同履約保證金管理辦法3篇
- 中國(guó)華能集團(tuán)公司風(fēng)力發(fā)電場(chǎng)運(yùn)行導(dǎo)則(馬晉輝20231.1.13)
- 中考語(yǔ)文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- 2022-2023學(xué)年度六年級(jí)數(shù)學(xué)(上冊(cè))寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(shū)(3篇)
- 電工工具報(bào)價(jià)單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識(shí)別實(shí)例
- 流體靜力學(xué)課件
- 顧客忠誠(chéng)度論文
- 實(shí)驗(yàn)室安全檢查自查表
- 證券公司績(jī)效考核管理辦法
評(píng)論
0/150
提交評(píng)論