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

歡迎訪問 生活随笔!

生活随笔

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

Android

ArcBlock 博客 | OCAP超简易集成攻略(Android 篇)

發(fā)布時間:2023/12/20 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ArcBlock 博客 | OCAP超简易集成攻略(Android 篇) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:?Nate Robinson(ArcBlock 團隊移動開發(fā)工程師)

5 天后,ArcBlock 第三場、中國的第一場內測版黑客馬拉松即將在北京舉行,截至本文推送之際,已有 56 人報名,剩余名額 4 個。ArcBlock 研發(fā)副總裁陳天、OCAP 項目負責人丁沛靈已經從西雅圖飛來北京,恭候各位黑客大駕光臨。

每場黑客松,我們都會提供越來越完善豐富的 SDK、工具和文檔,幫助開發(fā)者能在 ArcBlock 平臺開發(fā)更多更好的應用。今天,我們請 ArcBlock 團隊移動開發(fā)工程師 Nate Robinson 介紹如何玩轉? OCAP Android SDK。

前面想必大家已經看到了 iOS 的簡易集成攻略,估計 Android 的小伙伴們已經坐不住了,今天就在前幾篇的基礎上再給大家講解一下 ArcBlock Android SDK 的快速集成。文章整體的思路同 iOS,會以如何使用 ArcBlock Android SDK 開發(fā)一款簡單的 App 作為整篇文章的主線,那么讓我們開始吧!

1. 閱讀詳細的 ArcBlock Android SDK 入門文檔

詳細的?ArcBlock Android SDK 入門文檔?建議點開鏈接通讀一遍,文檔里面對整個 SDK 的使用做了詳細的說明,看完之后再回來看下面的入門文檔概括會有一個更清晰的理解。

入門文檔概括:

  • 正確配置 maven,引入 Library

  • 下載 schema.json,編寫 .graphql 文件,并配置好文件目錄

  • 普通數據查詢

    • CoreKitBeanMapper 初始化

    • Query 初始化

    • CoreKitViewModel 初始化與數據獲取的監(jiān)聽事件設置

    • 分頁數據查詢

      • CoreKitPagedHelper 初始化

      • CoreKitBeanMapper 初始化

      • CoreKitPagedViewModel 初始化與數據獲取監(jiān)聽事件的設置

    • 訂閱數據與監(jiān)聽

      • 打開對應的 ABCoreKitClient 的 Socket 開關

      • Subscription 初始化

      • CoreKitSubViewModel 初始化與數據獲取監(jiān)聽實踐設置

      另外可能需要額外注意一下的是 CustomType 和 ABCoreKitClient 初始化,這些可以在?ArcBlock Android SDK 入門文檔 - 其他配置?找到詳細的說明和代碼示例。

      2. 基于 ArcBlock Android SDK 開發(fā) App 的例子

      首先,我們先看看最終要完成 App 的樣子,整體功能并不復雜,分頁查詢區(qū)塊,并以一個個正方形方塊代表一個個發(fā)生的交易,方塊顏色的深淺由交易的大小決定,點擊某個方塊進入到交易詳情界面,點擊查看更多跳轉到區(qū)塊交易分頁查看界面:

      整個 App 用到了三個數據查詢:

      • 區(qū)塊分頁查詢

      • 區(qū)塊交易分頁查詢

      • 區(qū)塊交易詳情查詢

      上面三個查詢語句保存在?PlayBook,感興趣的話可以打開探索一番

      完整項目代碼

      直接 clone 倉庫到本地即可運行,下面是具體的代碼講解。

      2.1 首頁區(qū)塊分頁界面

      在 MainActivity.java 的 initData() 方法中實現了區(qū)塊查詢的核心邏輯,重點看一下下面代碼:

      mBlocksByHeightQueryViewModel.getCleanQueryData().observe(this, new Observer<CoreKitPagedBean<List<BlocksByHeightQuery.Datum>>>() {@Overridepublic void onChanged(@Nullable CoreKitPagedBean<List<BlocksByHeightQuery.Datum>> coreKitPagedBean) {//1. handle return dataif (coreKitPagedBean.getStatus() == CoreKitBean.SUCCESS_CODE) {if (coreKitPagedBean.getData() != null) {// new a old listList<BlocksByHeightQuery.Datum> oldList = new ArrayList<>();oldList.addAll(mBlocks);// set mBlocks with new datamBlocks = coreKitPagedBean.getData();DiffUtil.DiffResult result = DiffUtil.calculateDiff(new CoreKitDiffUtil<>(oldList, mBlocks), true);// need this line , otherwise the update will have no effectmListBlocksAdapter.setNewListData(mBlocks);result.dispatchUpdatesTo(mListBlocksAdapter);refreshNextAndPre();}}//2. view status change and loadMore component needif (coreKitPagedHelper.isHasMore()) {mListBlocksAdapter.setEnableLoadMore(true);mListBlocksAdapter.loadMoreComplete();} else {mListBlocksAdapter.loadMoreEnd();}}});

      由于我們在初始化 ABCoreKitClient 的時候,設置的 ResponseFetcher 為 ApolloResponseFetchers.CACHE_AND_NETWORK ,所以這邊其實每次 query 會走兩遍回調事件,為了高效的去重與頁面刷新,這邊使用的是 Android 自帶的 DiffUtil。

      2.2 區(qū)塊交易分頁界面

      具體代碼在 BlockTxsActivity.java 界面中,分頁邏輯和首頁類似,這里就不重復講解了,大家看代碼即可。

      2.3 交易詳情界面

      具體代碼在 TxsDetailActivity.java 界面中,這里使用的是簡單的 Query 查詢與結果展示。

      3. 總結

      閱讀完文章與代碼,并一起運行 Demo App 到客戶端之后,大家已經完整體驗了一遍基于 ArcBlock Android SDK 開發(fā) App 的過程,ArcBlock Android SDK 的價值遠不止于此,大家可以在此基礎上繼續(xù)探索?OCAP Playground?并思考自己的點子,然后結合 ArcBlock Android SDK 在 Android 客戶端上實現它們。

      相關閱讀

      ArcBlock 北京黑客松,你來不來?

      ArcBlock 博客 | OCAP 超簡易集成攻略( iOS 版篇)

      ArcBlock 博客 | 淺析數據對區(qū)塊鏈行業(yè)發(fā)展的重要性

      ArcBlock 博客 | 開放鏈訪問協議為何采用 GraphQL

      ArcBlock 博客 | 如何解析 BITCOIN 的數據

      ArcBlock 博客 | 30 天 21 個版本 OCAP Playground 都經歷了哪些變化?

      ArcBlock 博客 | 如何在幾十個 Repo 中游刃有余?

      ArcBlock 博客 | OCAP Playground 入門指南

      更多ArcBlock區(qū)塊基石信息,柯林斯關注以下渠道了解:?

      • Twitter??|?https://twitter.com/ArcBlock_io

      • Instagram??|?https://www.instagram.com/arcblock/

      • Facebook??|?https://www.facebook.com/arcblock.io/

      • T?elegram??|?https://t.me/ArcBlock

      • LinkedIn??|?https://www.linkedin.com/company/18355951/

      • Reddit??|?https://www.reddit.com/r/arcblock/

      • ??|?https://medium.com/arcblock

      • 博微??|?https://weibo.com/realArcBlock

      • 信微群??|?加拉群小助手:Ddchain

      • 電報群|?電報組:

        電報(英文):??https?//t.me/ArcBlock

        電報(繁體中文):??https?//t.me/ArcblockAsian

      ArcBlock 官網 點擊登錄

    總結

    以上是生活随笔為你收集整理的ArcBlock 博客 | OCAP超简易集成攻略(Android 篇)的全部內容,希望文章能夠幫你解決所遇到的問題。

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