フラッタにおけるHydrateBLOCを用いたキャッシュAPI統合(ソースコード)



導入🎉
BLOCはビジネスロジックコントローラの略です.これはGoogleによって作成され、Google I/O 2018で導入されました.これはストリームと反応プログラミングに基づいて作られます.
私は、開発期間中のすべての中間レベルのフラッタ開発者がブロックについて聞いたか、多分ブロックを学ぶことを試みたことを保証することができます.ブロックは、それが豊富なドキュメントを持っているので、よく維持されている開発者の間で最も人気のある国家管理の選択肢の一つです.しかし、はい、いくつかの欠点は、例えば、多くのボイラープレートコードがあります.
我々は最初にAPIの統合を実装し、ユーザーがアプリケーションを閉じるときに、状態を維持したり、最後のAPI呼び出しから保存されたローカルデバイスからデータを読み込むことができます.
我々はアプリを殺した後、それが右戻ってどこで左に開始することに注意してください.また、それ以降の(キャッシュされた)状態をロードした後、アプリケーションは、最新のAPIデータとシームレスに更新を要求します.始めましょう!


ステップ👣

1 .フラッタープロジェクトの設定

2 . DataModelを追加する

3 .ブロックの作成

ブロック状態とイベントの作成

BLOCリポジトリの作成

6 .ブロックの実装


1 .フラッタープロジェクトの設定⚙️
アプリケーション全体で使用する必要なパッケージを追加しましょう.
依存関係をPubspecにコピーします.YAMLファイル.現在利用可能な最新バージョンを使用しています.
< div >
それから< bf/>をインストールする必要があります
<> P >
クラスをハイライト表示する

< div >
あなたは、私たちが進むように、すべてを理解するでしょうp >
< br/> < br/> < br/>
シュウ4547915
< br/> < p >
< H >>

2 . DataModelを追加する📳
<高橋潤子>
私たちは"Freetogame API "を実装します.このために、APIの応答のデータモデルを作成しなければなりません.私は、DataModelクラスを作るために以下のウェブサイトを使用しました.それはかなり簡単です、JSON反応をコピーして、ウェブサイトに貼り付けてください.ウェブサイトはあなたのためのクラスを生成しますbr/>
< br/> < p >

< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ImranSefat/a95d9f3eb4ad8620db497d35cb3a23d9.js//>
< div >
< tag >ゲームのリストを含むもう一つのデータモデルは以下のコードを参照しますbr/>
< br/> < br/>
<> P >
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ImranSefat/0a6a5e766dc9df5d85d70e4455a53c5e.js//>
< div >
< br/>
< br/>
上記のコードはいくつかのエラーを示します.5行目には、このファイルが生成される必要がある別のファイルの一部であることを示すコードが含まれます.別のことは、7行目を見て、後で使用するためにレスポンスを保存できるようにシリアル化することを示していますbr/>
< br/> < br/>
端末を開き、以下のコードを実行します.p >

< br/> < br/> < br/>
シュウ4547915
< br/> < p >
< H >>

3 .ブロックの作成
<高橋潤子>
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ImranSefat/e8031cdd341726688ea89d00cb755df2.js//>
< div >
< br/>
< br/> < br/>
これは、メインブロックの背後にあるロジックが含まれます.現在、我々は同様にイベントと状態を作らなければなりません.
< br/> < br/> < br/>
シュウ4547915
< br/> < p >
< H >>

ブロック状態とイベントの作成
<高橋潤子>
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ImranSefat/e8031cdd341726688ea89d00cb755df2.js//>
< div >
< br/>
< br/>
( 3 )の状態があります.p >
< OL >
ゲームリストは読み込み中です家屋五重
ロードされるゲームリストガレストロード
ゲームリストをロードすることはできません金星戦
< OL >
< br/> < br/> < br/>
シュウ4547915
< br/> < p >
< H >>

BLOCリポジトリの作成👾
<高橋潤子>
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ImranSefat/f01ffbb344d00da417eb490cc67dab02.js//>
< div >
私たちはHTTPパッケージ形式を使ってAPIを呼び出します.p >
< br/> < br/> < br/>
シュウ4547915
< br/> < p >
< H >>

6 .ブロックの実装🛠
<高橋潤子>
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ImranSefat/2902f72681f51fc91bd6bbbbaee40d18.js//>
< div >
< br/>
< br/> < br/>
この部分はUIとBLOCの実装を含んでいます.主な機能を確認できます.一時ディレクトリの水和ブロックをインスタンス化しますbr/>
我々はアプリを殺す後、それが右に戻ってどこで左に出発することに注意してください.また、以前のキャッシュされた状態をロードした後、アプリケーションは最新のAPIデータとシームレスに更新を要求しますbr/>
< br/> < br/>
< br/>
< H >>

おめでとう!🎊
<高橋潤子>
ちょうどキャッシュされているHydrateBLOCのAPIを統合しました.p >
< br/> < br/> < br/>
シュウ4547915
< br/> < p >
< H >>

ミーコンタクト🌎
<高橋潤子>
さんのチャンネルです
Twitterの< br/>
リンケディン:< br/>
フェイスブック・ページ