高級思路

一、OKHttp

  1. OK get 異步請求
    ①獲取ok對象
    ②獲取request對象
    ③獲取call對象
    ④call執(zhí)行請求

  2. ok post異步請求
    ①獲取ok對象
    ②創(chuàng)建請求體
    ③獲取request對象
    ④獲取call對象
    ⑤call執(zhí)行請求

  3. 請求體
    ①string:RequestBody.create(type,"");
    ②stream:new RequestBody()
    ③form:FormBody.builder().build();
    ④file

  4. 請求頭、緩存、超時
    請求頭:reques.header() request.addHeader()
    緩存:okHttpClient.cacha(new Cache(file,time))
    超時:ok.timeout()

  5. OKHttp源碼學(xué)習(xí)

二、Retrofit

  1. retrofit使用步驟
    ①創(chuàng)建接口服務(wù)類:baseURL和方法,添加依賴
    ②創(chuàng)建retrofit對象
    ③通過retrofit對象獲取接口服務(wù)對象
    ④接口服務(wù)對象調(diào)用自己的方法
    ⑤通過call執(zhí)行請求

  2. 常用注解
    ①請求方式
    get
    post
    ②參數(shù)
    field
    fieldMap
    query
    queryMap
    ③請求頭
    FormUrlEncoded
    Header:頭
    headers:方法
    ④請求路勁
    path
    url
    ⑤請求體
    body

  3. OKHttp和retrofit區(qū)別

  4. retrofit源碼學(xué)習(xí)

三、數(shù)據(jù)庫

  1. SQL語句
    ①分類
    ②SQL語句
    ③查詢、模糊查詢
    ④排序
    ⑤聚合函數(shù)
    ⑥分組

四、 Greendao

  1. Greendao配置:123
  2. 雙檢鎖單例模式:得到表對象
  3. 獲取整個App的上下文
  4. 使用Greendao實現(xiàn)增刪改查
  5. 數(shù)據(jù)庫升級
    ①復(fù)制MigrationHelper到項目它主要是通過創(chuàng)建一個臨時表,將舊表的數(shù)據(jù)遷移到新表中,大家可以去看下源碼。
    ②新建一個類,繼承DaoMaster.DevOpenHelper,重寫onUpgrade(Database db, int oldVersion, int newVersion)方法,在該方法中使用MigrationHelper進行數(shù)據(jù)庫升級以及數(shù)據(jù)遷移。
    然后使用MyOpenHelper替代DaoMaster.DevOpenHelper來進行創(chuàng)建數(shù)據(jù)庫等操作
    ③在表實體中,調(diào)整其中的變量(表字段),一般就是新增/刪除/修改字段。
    將原本自動生成的構(gòu)造方法以及getter/setter方法刪除,重新Build—>Make Project進行生成。
    ④修改Module下build.gradle中數(shù)據(jù)庫的版本號schemaVersion ,遞增加1即可,最后運行app
  6. 收藏項目
    ①添加依賴、權(quán)限
    ②配置數(shù)據(jù)庫123,提供全局上下文,創(chuàng)建數(shù)據(jù)庫工具類
    ③TVF
    ④實現(xiàn)首頁功能:retrofit實現(xiàn)網(wǎng)絡(luò)請求、點擊事件、插入數(shù)據(jù)
    ⑤實現(xiàn)收藏功能:查詢數(shù)據(jù)庫、刪除數(shù)據(jù)、viewpager結(jié)合fragment實現(xiàn)懶加載

五、Rxjava

  1. Rxjava定義、優(yōu)點、作用、三個概念、原理、事件、調(diào)度器
  2. Rxjava使用:基本使用、鏈式使用
  3. Rxjava結(jié)合retrofit實現(xiàn)網(wǎng)絡(luò)請求
    ①定義接口服務(wù)的時候返回類型是Observable
    ②retrofit網(wǎng)絡(luò)請求
    ③call請求替換為Observable訂閱observer
    ④通過調(diào)度器控制網(wǎng)絡(luò)請求、結(jié)果處理的線程
  4. Rxjava其他操作符

六、廣播

七、架構(gòu)模式

  1. 架構(gòu)模式有幾類
    MVC、MVP、MVP
  2. MVC:Model 、View、Controller
  3. MVP:Model、View、Presenter
  4. MVP原理:用戶觸碰界面觸發(fā)事件,View層把事件通知Presenter層,Presenter層通知Model層處理這個事件,Model層處理后把結(jié)果發(fā)送到Presenter層,Presenter層再通知View層,最后View層做出改變。

八、注解

  1. Butterknife:通過注解的方式找資源
    ①添加依賴
    ②添加插件
    ③使用
  2. EventBus:事件總線
    ①添加依賴
    ②注冊、解注冊Eventbus,接受事件的方法
    ③發(fā)送事件
  • 注意
    ①普通事件粘性事件
    ②粘性事件:發(fā)送Eventbus.postAticky、接受方法注解中必須sticky=true

九、Glide

  1. Glide可以加載四種資源
    網(wǎng)絡(luò)地址、sdcard、本地資源、字節(jié)流
  2. 占位圖
    預(yù)占位圖、錯誤占位圖
  3. 緩存
    硬盤緩存:總共五種,默認AutoMatic
    內(nèi)存緩存:默認有
  4. 指定圖片的格式:asBitmap、asGif(必須放在with后邊)
  5. 指定圖片大小
  6. 下載圖片
  7. 圖形變換
    圓形、圓角、三方

十、Fresco

  1. 使用
    ①添加依賴
    ②初始化配置:init
    ③創(chuàng)建布局、找控件
    ④控件設(shè)置url
    ⑤其他屬性:圓形和圓角等

十一、Matrix和ColorMatrix

  1. 什么是Matrix
  2. Matrix功能
  3. ColorMatrix功能

十二、LRUCache

  1. 原理(*****):底層、順序、LRU順序操作、移除
  2. 通過案例學(xué)習(xí)entry順序
  3. 通過demo掌握三級緩存的原理
    ①什么是三級緩存
    ②內(nèi)存緩存工具類
    ③硬盤緩存工具類

十三、文件上傳

  1. ok上傳
  2. Retrofit上傳
  3. HTTPURLCollection上傳
  4. 相機上傳
  5. 相冊上傳

十四、下載

  1. ok下載
  2. retrofit下載
  3. con上傳
  4. 文件保存
  5. 安裝
  6. 多線程斷點續(xù)傳下載

十五、視頻播放

  1. 系統(tǒng)播放器:隱式跳轉(zhuǎn)
  2. videoview
    ①創(chuàng)建布局
    ②獲取MediaController對象
    ③設(shè)置MediaController
    ④設(shè)置路徑并開始
    ⑤設(shè)置上一個下一個
  3. MediaPlayer+surfaceView
    ①創(chuàng)建布局surfaceView
    ②獲取MediaPlayer對象
    ③surfaceview和綁定必須在界面渲染的時候處理,也就是在初始化處理
    ④mp設(shè)置資源、準備、開始
  4. 獲取視頻的第一幀
    ①獲取MediaMetadataRetriever對象
    ②設(shè)置資源
    ③獲取某一幀(四種模式)

十六、總復(fù)習(xí)

  1. greendao配置:123,收藏功能實現(xiàn)
  2. MVP:
  3. 導(dǎo)航頁
  4. TVF:vp、tab、適配器、選擇器
  5. RecyclerView使用:分割線、方向、多布局、點擊事件、刷新
  6. 上傳和下載、保存、安裝、在服務(wù)中下載
  7. 廣播、廣播傳值、bean序列化、傳遞Bean
  8. Rxjava實現(xiàn)倒計時
  9. 四種動畫
  10. EventBus:普通用法、粘性事件用法
  11. WebView使用
  12. OK緩存攔截器使用
  13. sp保存url
  14. 菜單:側(cè)滑菜單、選項菜單、上下文菜單
  15. Populwindown
  16. 通知
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、OkHttp 1.導(dǎo)依賴 implementation 'com.squareup.okhttp3:okhtt...
    初見_d310閱讀 767評論 0 0
  • 一、OKHttp 1.OK get 異步請求 ①獲取ok對象 ②獲取request對象 ③獲取call對象 ④ca...
    孫_慧_雯閱讀 406評論 0 0
  • 一、OKHttp OK get 異步請求 ①獲取ok對象 ②獲取request對象 ③獲取call對象 ④call...
    俊_5a8c閱讀 307評論 0 0
  • 一、OkHttp 導(dǎo)依賴 implementation 'com.squareup.okhttp3:okhttp:...
    一只易拉寶閱讀 242評論 0 0
  • 十二里橋長 文/江川 兩年前從暑入秋 橋上微涼 還只身于云月下 為了逃避什么 劃過臉邊的 是淚痕 兩年后由春近夏 ...
    不見江川閱讀 194評論 0 2

友情鏈接更多精彩內(nèi)容