day08 網路獲取資料

2021-09-29 20:33:39 字數 3107 閱讀 2424

0servlet

什麼是servlet

解決什麼問題 接收http請求 產生乙個http響應

怎麼寫乙個servlet

建立乙個類 繼承httpservlet

重寫兩個方法 doget dopost(httpservletrequest httpservletresponse)

怎麼能訪問到servlet

①通過web.xml

② servlet3.0之後 可以通過加註解 @webservlet("/")

專案名字/servlet路徑

①構造 init();

② service 首先獲取請求的方式 get post trace delete put head option

③伺服器關閉 就會銷毀 但是 如果是正常關閉的情況會走 destroy();

*.do *.action

form action="/專案名字/servlet路徑"

http://專案名字/aaa/bbb/test.html

servletconfig

servletcontext

request response

①服務端 utf-8

②客戶端 utf-8

response

①設定輸出流使用的碼表 utf-8

② 通知瀏覽器 當前碼表是utf-8

setcontenttype(「text/html;charset=utf-8」)

mime audio/***; video/mp4; 父型別/子型別;

request

getpost 請求體提交引數 request.setcharacterencoding()

1 網頁原始碼檢視器

自帶模擬器的localhost

用到聯網的api httpurlconnection 通過這個類可以傳送和接受網路資料,處理的是http協議的資料

傳送或接受資料之前 可以不用知道資料的型別和長度, 處理的方式 是通過流的方式

避免anr異常 要把耗時的操作放到子執行緒去做

4.0之後聯網必須要在子執行緒中否則會丟擲異常

android.os.networkonmainthreadexception

聯網必須在子執行緒中操作

子執行緒不能修改ui 修改ui必須在主線程進行 主線程又叫ui執行緒

2 訊息機制的寫法☆☆☆☆☆

①在主線程中建立乙個handler物件 並且重寫handlemessage方法

②在子執行緒需要更新ui的地方 通過handler傳送訊息

2.1建立乙個message

2.2如果有資料需要攜帶 通過message.obj攜帶資料

2.3通過handler的sendmessage方法 傳送訊息

③在handlermessage方法中 接受訊息 更新介面

3 handler原理

android程式入口 activitythread main

premainlooper()->建立乙個looper 並且把這個looper跟當前的執行緒繫結在一起 又建立了乙個訊息佇列(messagequeue) 訊息佇列對應乙個looper

looper.loop();

①looper 輪詢器 訊息幫浦 用來取出訊息 取出訊息就呼叫handler的handlemessage方法 處理訊息

② messagequeue 訊息佇列 用來管理訊息 對訊息進行排序 排序的順序是按訊息要執行的先後時間進行排序

③handler sendmessage發訊息 sendmessageattime(message msg,long time)->通過messagequeue 對訊息進行排序

handlermessage 處理訊息
④message 訊息 可以使用message.obtain方法 來獲取訊息 可以利用系統設計的訊息池

message obj可以攜帶引數
4 檢視器

5 handler 兩種作用

①執行緒間通訊 子執行緒向主線程發訊息

②在未來的某個事件執行乙個訊息

sendmessagedelayed(message msg, long time);

sendemptymessagedelayed(int what, long time);

6 runonuithread寫法

activity的乙個api 這個方法可以讓其中的runnable物件的run方法執行在ui執行緒

如果當前執行緒是主線程 立即執行run方法

如果當前執行緒不是主線程就會把runnable丟到訊息佇列 最終在主線程中執行

如果在子執行緒想跟新ui 業務邏輯比較簡單就可以使用runonuithread方法

1.runonuithread(new runnable()

7.});

7 新聞客戶端☆☆☆☆☆

①需求分析 專案負責人 產品經理 美工

② 產品經理 跳轉的流程 產品的原型

③開發人員 服務端 客戶端

④ 測試人員 jira wiki

運維 linux mysql調優 網路調優

大資料工程師 程式設計師

大資料分析師 收集的資料進行分析

bd 商務

新聞發布系統

8 smartimageview開源專案介紹

使用 把smartimageview src下**copy到專案中

使用的時候在xml布局檔案需要寫smartimageview的全路徑

9 smartimageview原理介紹

繼承imageview 重寫構造 給imageview新增功能

①聯網開執行緒

②子執行緒不能更新ui

③聯網要需要internet許可權

④子執行緒更新ui 訊息機制

runonuithread(runnable物件)

新聞客戶端

0 服務端準備資料

①聯網獲取xml檔案 (開執行緒)

②解析xml轉化成arraylist

③通過listview展示資料(獲取資料在子執行緒 要通過handler或者runonuithread更新listview)

④使用開源專案展示 (smartimageview 使用的時候 xml布局檔案 宣告節點要使用全路徑)

day08 資料結構

泛型就是使用表示乙個不確定的資料型別,根據泛型使用在類上 方法上 介面上來確定具體的資料型別。在類上寫乙個,表示在整個類中有乙個不確定的資料型別。表示在整個類中有乙個不確定的資料型別。public class generic public class demo1 在方法上寫乙個,表示在這個方法中有乙...

08 網路爬蟲

原理 httprequest 新聞伺服器 dom 文件 爬蟲應用 dom 解析 資料庫 網路爬蟲之dom解析 document element elements jsoup html 解析器 匯入jsoup 1.6.3.jar 網路爬蟲的步驟 1 網路請求 請求url 2 得到dom文件 docum...

day08資料型別 回顧

一 整型int 1.作用 記錄年齡,月份等 2.定義 age 18 底層實際上是執行了age int 18 3.型別轉換 純數字的字串能轉換成int,float型別能轉換成整型int 例 x 1.1 print type int x msg 1234 res int msg print type r...