簡單題:
一、簡述對http協議的理解(什么是,組成部分,get與post的區別)。
****
1. Http協議 是因特網上應用最為廣泛的 基于TCP/IP通信協議來傳遞數據的 屬于應用層的 一種網絡傳輸協議。Http的全稱是(HyperText Transfer Protocol,超文本傳輸協議)。
2. Http由請求和響應組成。請求包括:請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成。響應包括:狀態行、消息報頭、空行和響應正文。
3. Get和Post的區別:
* GET提交的數據會放在URL之后,以?分割URL和傳輸數據,參數之間以&相連,POST方法是把提交的數據放在HTTP包的Body中。
* GET提交的數據大小有限制(因為瀏覽器對URL的長度有限制),而POST方法提交的數據沒有限制.
* GET方式提交數據,會帶來安全問題,比如一個登錄頁面,通過GET方式提交數據時,用戶名和密碼將出現在URL上,如果頁面可以被緩存或者其他人可以訪問這臺機器,就可以從歷史記錄獲得該用戶的賬號和密碼.
****
二、簡述tcp三次握手的過程(能畫出簡圖,并文字描述,可那滿分)
****
### 第一次

第一次握手:建立連接時,客戶端發送[syn](https://baike.baidu.com/item/syn)包(syn=j)到服務器,并進入[SYN\_SENT](https://baike.baidu.com/item/SYN_SENT)狀態,等待服務器確認;SYN:同步序列編號(***Synchronize Sequence Numbers***)。
### 第二次
第二次握手
服務器收到[syn](https://baike.baidu.com/item/syn)包,必須確認客戶的SYN([ack](https://baike.baidu.com/item/ack)\=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入[SYN\_RECV](https://baike.baidu.com/item/SYN_RECV)狀態;
### 第三次
第三次握手:
客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK([ack](https://baike.baidu.com/item/ack)\=k+1),此包發送完畢,客戶端和服務器進入[ESTABLISHED](https://baike.baidu.com/item/ESTABLISHED)(TCP連接成功)狀態,完成三次握手。
完成三次握手,客戶端與服務器開始傳送數據。
****
三、簡述AsyncTask中的execute(Params... params)與doInBackground(Params... params)的作用
****
1. execute(Params... params)的作用:觸發異步任務的執行。
2. doInBackground(Params... params)的作用:在工作線程中執行異步任務。
****
四、簡述HttpUrlConnection的Get請求的處理步驟
****
1. 創建URL對象;
2. 通過URL對象的openConnection方法獲取一個URLConnection對象并強轉成HTTPURLConnection類型。
3. 調用HTTPURLConnection的方法 設置請求方式(GET/POST/PUT/DELETE等)、連接超時、讀取超時等。
4. 判斷服務器響應嗎是否是200。如果是200說明請求成功,否則做其他操作。
5. 服務響應成功,從HTTPURLConnection中讀取輸入流,并轉換成我們想要的數據(String數據/Bitmap/文件等)。
****
五、簡述ListView多條目的核心步驟;
****
1. 重寫getItemViewType(int postion) 方法,返回對應postion條目要顯示的View類型。
2. 重寫getItemViewCount方法,返回要顯示View類型的數量。
3. 在getView方法中,獲取條目類型并判斷,使用convertView加載不同的布局文件,從而完成一個ListView展示不同的列表項。
- 咨詢項目實戰
- 第一單元 HTTP協議
- 1.1 OSI七層模型
- 1.2 HTTP協議(重點)
- 1.3 HTTPS協議(了解)
- 1.4 TCP/IP協議擴展
- 1.5 WebService簡介及實戰(無接口)
- 1.6 課后練習
- 第二單元 HTTPURLConnection
- 2.1 ANR
- 2.2 網絡判斷
- 2.3 HTTPURLConnection
- 2.4 課后練習
- 第三單元 AsyncTask
- 3.1 AsyncTask概述
- 3.2 AsyncTask基本使用
- 3.3 課后練習
- 第四單元 圖片異步加載
- 4.1 圖片異步加載概述
- 4.2 LruCache
- 4.3 DiskLRUCache
- 4.4 圖片三級緩存概述
- 4.5 封裝圖片加載緩存框架
- 第五單元 ListView多條目
- 5.1 ListView多條目概述
- 5.2 ListView多條目的使用
- 第六單元 ListView實現下拉刷新上拉加載
- 6.1 下拉刷新和上拉加載更多
- 6.2 XListView概述
- 6.3 XListView的使用
- 第七單元 封裝網絡框
- 7.1 封裝網絡框架概述
- 7.2 網絡框架的封裝
- 第八單元 項目介紹
- 8.1 公司項目團隊架構簡介
- 8.2 項目文檔及項目流程介紹
- 8.3 項目管理
- 8.4 項目開發
- 第九單元 項目框架搭建
- 9.1 基類封裝概述
- 9.2 Application中初始化配置
- 9.3 項目中的工具類
- 9.4 封裝網絡請求框架
- 9.5 封裝圖片異步緩存框架
- 第十單元 搭建UI框架1
- 10.1 側滑菜單概述
- 10.2 主界面框架搭建
- 第十一單元 搭建UI框架2
- 11.1 TabLayout的概述
- 11.2 TabLayout的使用
- 第十二單元 圖片上傳
- 12.1 圖片上傳概述
- 12.2 圖片上傳的實現
- 第十三單元 PullToRefresh
- 13.1 PullToRefresh概述
- 13.2 PullToRefresh的使用
- 13.3 緩存業務實現思路
- 第十四單元 事件分發及滑動沖突
- 14.1 事件分發概述
- 14.2 事件分發流程
- 14.3 事件分發的使用
- 第十五單元 傳感器的基本使用
- 15.1 傳感器概述
- 15.2 傳感器的使用
- 第十六單元 HTML與CSS復習
- 16.1 HTML
- 16.2 CSS
- 第十七單元 js復習
- 17.1 js基礎語法
- 17.2 js數組和內置對象
- 17.3 js常用事件
- 17.4 js對象模型
- 17.5 js 正則表達式
- 第十八單元 WebView
- 18.1 WebView 概述
- 18.2 WebView的使用
- 18.3 WebView與js交互
- 第十九單元 項目案例
- 項目概述
- 第二十單元 項目答辯
- 周考
- 第一周周考
- 第二周周考
- 第三種周考
- 月考
- 接口文檔