版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、An droid客戶端與服務器數(shù)據(jù)交互流程一個門戶網(wǎng)站的制作的流程:首先,由網(wǎng)頁設計師只做網(wǎng)頁設計,即 畫出來網(wǎng)站在瀏覽器中顯示的樣子,然后由前端人員編寫 Html+CSS+JS 來實現(xiàn)網(wǎng)站的動態(tài)效果,比如說導航欄的下拉顯示, 然后Ajax的局部信息更新等,然后通過后臺程序如JSP,PHP, .NET 等語言將數(shù)據(jù)庫中的信息與前臺頁面相結合,這樣,一個站就這樣被建好了。而An droid客戶端,也是有UI設計師,UI前端,程序構 成的,同樣程序這邊的話,最近Html5+CSS3的火熱開啟,很多公司也需要html5+css3 進行An droid程序的開發(fā)了。嗚嗚,搶我的 飯碗。雖然說哥也是懂h
2、tml+css 的。嘿嘿,這樣解釋的話,可能大 家不清楚,其實木有必要弄清楚網(wǎng)站的建站過程,這里只是給大家普及一下知識,沒必要弄清楚。基礎知識:我們需要知道,Http協(xié)議是基于TCP協(xié)議的,而TCP協(xié)議 是一種有連接,可靠的傳輸協(xié)議,如果丟失的話,會重傳。所以這樣 的話,就不會有數(shù)據(jù)的丟失了。而 Http協(xié)議有三種方法,Get,Post,Head方法,但是用的多的只有 Get和Post方法,Get方法 是將請求參數(shù)放在請求頭中,所以請求的參數(shù)在URL中可見,而Post 方法是將請求參數(shù)放在數(shù)據(jù)部分,所以在 URL中不可見,Post相對 來說保密,所以在提交重要信息的時候,用的都是HttpPos
3、t方法來實現(xiàn)的.而在B/S模式中,B代表瀏覽器,S代表服務器,在瀏覽器和服務器 的通信之中,因為B/S之間不會一直保持連接,所以才會加入Cookie機制,來辨認所操作的對象。用戶瀏覽網(wǎng)頁的操作如下:當用戶點擊一個連接或者一個按鈕的時候,瀏覽器通過發(fā)送一個請求給服務器,然后由服務器接收該請求,然后解析到用戶請求的是哪些內容,然后查找到相關資源,再將數(shù)據(jù)返回給瀏覽器,由瀏覽器解析數(shù)據(jù),然后顯示給用戶看到用戶所需要看到的頁面。所以,An droid和B/S模式差不多,其實也就是發(fā)送請求,接收數(shù)據(jù),然后解析數(shù)據(jù),顯示到手機上的過程,沒什么太大的區(qū)別,誰讓咱用的是互聯(lián)網(wǎng),用的是TCP/IP協(xié)議呢,是吧。
4、要理解是:所有的操作都是向服務器請求數(shù)據(jù)的過程。?首先,我們要熟悉 An droid的HttpGet和HttpPost請求。其中Apache公司已經(jīng)提供1.使用HttpGet請求Baidu的主頁:/使用HttpGet方法,把百度的主頁傳入HttpGet hettpGet = newHttpGet(” ”);/使用默認的HttpCIientHttpClie nt he = newDefaultHttpClie nt();try /執(zhí)行HttpGet方法,并且獲取返回的響應HttpResp onse resp onse = he.exeeute(hettpGet);/如果響應碼為200則表示獲取成
5、功,否則為發(fā)生錯誤if(resp on se.getStatusL in e().getStatusCode() = 200) /s就是獲得的HTML弋碼Stri ng s = En tityUtils.toStri ng(resp on se.getE ntity();System.out.pri ntl n( s); catch(Clie ntProtocolExceptio n e)e.pri ntStackTrace(); catch(IOExcepti on e)這樣就向百度服務器發(fā)送了一個 HttpGet請求,請求的是百度 的搜索首頁,服務器返回來都是Html代碼,只是瀏覽器有解析
6、HTML 的功能,將HTML代碼轉換成所顯示的頁面,所以,打印出來的都是 HTML代碼。?/使用HttpPost發(fā)送請求HttpPost httpPost = new HttpPost(url);/使用NameValuePaira保存請求中所需要傳入的參數(shù)List<NameValuePair> paramas = new ArrayList<NameValuePair>(); paramas.add( new BasicNameValuePair("a", "a"); try HttpResp onse httpResp on s
7、e;/ 將 NameValuePair 放入 HttpPost 請求體中httpPost.setE ntity( newUrlE ncodedFormE ntity(paramas,/執(zhí)行HttpPost請求httpResp onse = new DefaultHttpCIie nt().execute(httpPost);/如果響應碼為200則表示獲取成功,否則為發(fā)生錯誤if(httpResp on se.getStatusLi ne().getStatusCode() = 200) Stri ng s = En tityUtils.toStri ng(httpResp onse catch
8、 catch catch這樣就發(fā)送了一個HttpPost請求了。簡單吧。所有的獲取數(shù)據(jù)操作基本上都是在HttpGet和HttpPost上拓展開的,然后發(fā)送了請求之后呢,服務器就會接受到一個請求了,服務器接收到請求就會通過方 法來接收到 在An droid客戶端中發(fā)送的參數(shù),并且通過后臺程序來 解析參數(shù),然后通過數(shù)據(jù)庫查找到所需要的信息,然后通過PHP后臺將數(shù)據(jù)處理成JSON數(shù)據(jù)格式返回給HttpResponse的Entity,然 后通過EntitiyUtils.toString 方法來將Entity轉化成為String對象,然 后所得到的String對象呢就是一個JSON數(shù)據(jù)了。接下來的事情就是 JSON數(shù)據(jù)的解析啦。最后簡單說一下動態(tài)建站的過程吧:頁面分為兩種,一種靜態(tài)的,一 種動態(tài)的,現(xiàn)在靜態(tài)的站基本上都沒了,全是動態(tài)的了,靜態(tài)頁面全 是用Html+CSS寫的,只能實現(xiàn)簡單的從一個頁面打開另外一個頁面, 沒有與服務器進行數(shù)據(jù)交互的過程,只是進行簡單的加載靜態(tài)頁面, 不會有數(shù)據(jù)從數(shù)據(jù)庫里面進行差刪改查等操作,并且不用使用模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修合同范本簡化版
- 房屋出租簡約合同樣式
- 出租車承包合同
- 線上辦公信息安全協(xié)議
- 旅館承包合同范例
- 房地產(chǎn)經(jīng)紀公司代理合同模板
- 技術成果轉讓股權協(xié)議
- 2024年汽車租賃合同范本
- 抵押物借款合同的社會責任
- 教職工違紀聘用合同案例
- 汽車起重機日常檢查維修保養(yǎng)記錄表
- 中國醫(yī)科大學2023年12月《康復工程學》作業(yè)考核試題-【答案】
- 浙江省9+1高中聯(lián)盟2022-2023學年高一上學期11月期中考物理試題(解析版)
- 七年級上冊英語期中專項復習-補全對話(含答案)
- 鐵的單質(導學案)高一化學
- 絞吸式挖泥船水下疏挖河渠施工工法
- 反腐倡廉廉潔行醫(yī)
- 心血管內科醫(yī)療質量評價體系與考核標準
- 2022-2023學年廣州市南沙區(qū)小升初全真模擬數(shù)學檢測卷含答案
- 2023年食品安全糧食類理論知識考試題庫(含答案)
- 人教版五年級上冊數(shù)學《可能性》作業(yè)設計
評論
0/150
提交評論