日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

RxJava 在Android中的应用(一)

發布時間:2025/4/16 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RxJava 在Android中的应用(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RxJava 在Android中的應用

  • RxJava 是什么, 能解決什么問題
  • 對比其他技術理解為什么要選擇RxJava
  • RxJava的相關API
  • RxJava在Android中的典型使用場景
  • RxJava在Android中與其他框架的融合

RxJava 是什么, 能解決什么問題

  • github官方介紹:

    a library for composing asynchronous and event-based programs by using observable sequences.
    一個在運行在Java VM上的庫, 通過可觀測的序列來組成異步的、基于事件的程序。

  • 解決問題:

    讓復雜的程序邏輯回歸簡單、清晰

  • RxJava 的四個基本概念:

    • Observable (可觀察者/被觀察者)
    • Observer (觀察者/訂閱者)
    • subscribe (訂閱)
    • Event (事件)

如何使用

  • build.gradle引入依賴

    compile 'io.reactivex:rxandroid:1.2.0' compile 'io.reactivex:rxjava:1.1.4'
  • 源碼地址

    https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid

對比其他技術理解為什么要選擇RxJava

  • Observable(被觀察者) 和Subscriber(訂閱者) 可以做任何事情

    • Observable可以是一個網絡請求,Subscriber來顯示請求結果;
    • Observable可以是一個數據庫查詢,Subscriber來顯示查詢結果;
    • Observable可以是按鈕點擊事件,Subscriber來響應點擊事件;
    • Observable可以是大圖片文件的加載解析, Subscriber來展示解析后的圖片。

RxJava的相關API

  • Observable 可觀察者/被觀察者

  • Observer/Subscriber (觀察者/訂閱者)

  • 操作符(Operators)(常用的)

    • map 轉換對象
    • flatMap 平鋪對象

    - filter 過濾

    • distinct 去重復(獨特的)
    • take 從開始取出固定個數
    • doOnNext 輸出元素之前的額外操作
    • toList 打包對象為集合
  • Scheduler 調度器, 用于線程控制

    • Schedulers.immediate() 默認線程
    • Schedulers.newThread() 每次都創建新的線程執行
    • Schedulers.io() 包含線程池的機制, 線程個數無限, 可以復用空閑線程
    • Schedulers.computation() CPU密集計算線程, 線程池線程數和CPU數一致.處理圖形運算
    • AndroidSchedulers.mainThread() Android更新界面的UI主線程
  • subscribeOn 可執行多次, 切換操作符的線程

  • observeOn 只需要執行一次, 指定訂閱者執行的線程

添加java8的lambda支持

參見: https://github.com/evant/gradle-retrolambda

RxJava 使用流程

  • 創建 Observable 被觀察者
  • 初始化被觀察(訂閱)后的事件序列
  • 創建 Observer/Subscriber 觀察者/訂閱者
  • 訂閱 Subscribe
  • RxJava在Android中的典型使用場景

    • Scheduler線程切換
    • 定時任務 timer
    • 周期任務 interval
    • 合并多個請求 merge
    • 防止連續點擊 throttleFirst
    • 解決回調嵌套Callback hell, flatMap
    • 其他…

    RxJava在Android中與其他框架的融合 (了解)

    • RxBinding: https://github.com/JakeWharton/RxBinding

      //添加依賴 compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'// 相關代碼 Button button = (Button)findViewById(R.id.bt); RxView.clickEvents(button) // 設置點擊事件.subscribe(new Action1<ViewClickEvent>() {@Overridepublic void call(ViewClickEvent event) {// Click handling}});
    • Retrofit: https://github.com/square/retrofit

      // 添加依賴 compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4' compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'// 相關代碼 new Retrofit.Builder().baseUrl("http://192.168.1.113:8080/").addCallAdapterFactory(RxJavaCallAdapterFactory.create()).addConverterFactory(GsonConverterFactory.create()).build().create(RxDemoApi.class);

    總結

    以上是生活随笔為你收集整理的RxJava 在Android中的应用(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久久久人妻精品一区二区三区 | 精品在线观看一区 | 午夜吃瓜| 91爱爱网| 日韩在线播放av | 99热这里只有精品99 | 国产精品入口麻豆九色 | 国产淫片av片久久久久久 | 精品视频在线免费观看 | 又黄又色又爽的视频 | 91丨porny丨国产入口 | 91在线亚洲 | 日韩精品欧美激情 | 精品一区二区三区蜜臀 | www.色香蕉| 国产91大片 | 久久国产网 | 成人午夜在线观看视频 | 亚洲高清免费视频 | 亚洲美女性生活 | 亚洲影院一区二区三区 | 亚洲国产专区 | 综合 欧美 亚洲日本 | 亚洲综合视频网 | 97人妻精品一区二区三区免费 | 91免费看片 | 欧美性受xxxx黑人 | 精品一区欧美 | 丰满熟妇人妻中文字幕 | 久久久久久久美女 | 伊人网大香 | 国产亚洲精品成人av在线 | 久久久久99精品成人片直播 | 久久精品国产99久久久 | 日韩av男人的天堂 | 国产精品亚洲一区二区三区在线观看 | 亚洲电影影音先锋 | 亚洲美女激情视频 | 精品偷拍一区 | 欧美在线一二三区 | 性生活网址 | 久久久久久99精品久久久 | 久久久久久久久久影院 | 加勒比视频在线观看 | av私库 | 日本一区视频在线播放 | 国产高清不卡 | 久久久久久久久久久久久久久久久久 | 被绑在床强摁做开腿呻吟 | 亚洲黄网在线观看 | 国产无毛av | 男女视频免费观看 | 老司机深夜免费福利 | 成人一区二区免费视频 | 午夜精品剧场 | 成年人在线视频网站 | 蜜桃视频导航 | 亚洲视频一区在线观看 | 免费黄色大片网站 | 亚洲国产精品成人久久蜜臀 | 国产aⅴ无码片毛片一级一区2 | 91精品国产自产在线观看 | 91精品国产自产精品男人的天堂 | 操亚洲美女 | 高清在线一区 | free性m.freesex欧美| 最近最新中文字幕 | 少妇人妻综合久久中文字幕 | 久久亚洲精品石原莉奈 | 90岁肥老奶奶毛毛外套 | 国产又粗又长又硬免费视频 | 日本一二三区视频在线 | 国产aⅴ激情无码久久久无码 | 冲田杏梨一区二区三区 | 日本午夜一区 | 欧美亚韩一区二区三区 | 成年人在线观看视频网站 | 成人精品 | 夜夜av| 日韩欧美在线观看一区二区 | 中文字幕看片 | 亚洲乱码精品久久久久 | 丁香花电影高清在线阅读免费 | 国产aⅴ| 免费亚洲视频 | 色播日韩 | 午夜精品久久久久久久久久久久久蜜桃 | 亚洲1024| 人人模人人干 | 中国亚洲女人69内射少妇 | 97超碰导航| 一级黄色a | 婚后打屁股高h1v1调教 | 丰满人妻一区二区三区免费视频棣 | 亚洲欧美另类图片 | 欧美美女在线观看 | 久久中文一区 | 国产精品视频全国免费观看 | 色黄网站 |