鍍金池/ 教程/ Android/ Yahnac:RxJava Firebase&內(nèi)容提供
原文鏈接
Issue #185
Issue #181
Issue #161
Issue #192
Issue #174
Issue #190
RecyclerView FastScroll – Part 2
僅作為Android 調(diào)試模式工具的Stetho
Issue #150
Issue #167
Issue #180
Issue #151
Issue #188
Issue #159
Issue #189
Issue #160
Issue #168
Issue #146
Issue #173
Issue #198
Issue #179
延期的共享元素轉(zhuǎn)換(3b)
Yahnac:RxJava Firebase&內(nèi)容提供
Issue #162
游戲性能:規(guī)劃限定條件
分析清單:測量和尋找哪些方面
Issue #148
Issue #166
Issue #158
Issue #178
Issue #193
Issue #145
Issue #170
Issue #169
Issue #196
Issue #186
Issue #172
Issue #171
附加Android工件和Gradle的檔案
Issue #147
自定義顏色范圍
根據(jù) Material 設(shè)計導航制圖工具樣式
Issue #187
Issue #184
Issue #175
在Android Lollipop上使用JobScheduler API
Android性能案例追蹤研究
使用安卓Wear API創(chuàng)建watchface—第2部分
在谷歌市場上創(chuàng)造更好的用戶體驗
映射與包的神秘關(guān)系
Issue #165
用Robolectric進行參數(shù)化測試
Issue #155
Issue #149
MVC / MVP中的M -模型
歡迎為 Android 和 iOS 嵌入 API
Issue #164
Android UI 自動化測試
Issue #182
Issue #191
Issue #183
Issue #163
Issue #157
響應(yīng)式編程(Reactive Programming)介紹
Issue #197
原文鏈接
Issue #153
Issue #152
Issue #176
原文地址
Android Material 支持庫:Electric Boogaloo的提示與技巧
Issue #156
Issue #154
Android的模糊視圖
Issue #194
Issue #177
Issue #195
針對Jenkins的谷歌商店安卓出版插件

Yahnac:RxJava Firebase&內(nèi)容提供

你可能會問Yahnac是什么?是一個黑客新聞客戶端,因為黑客新聞客戶端需求遠遠不夠!

黑客新聞是一個專注于計算機科學和創(chuàng)業(yè)的社會新聞網(wǎng)站,由創(chuàng)業(yè)公司孵化器Y Combinator負責運行。一般來說,可提交內(nèi)容被定義為“可以滿足求知欲的任何內(nèi)容”。

不久前Y Combinator宣布了黑客新聞API。最令人興奮的消息此API使用Firebase。

在功能方面,Yahnac允許閱讀所有黑客新聞內(nèi)容。最重要的是,你可以添加書簽并長期保持

如果你對Yahnac感興趣,請繼續(xù)閱讀!

http://wiki.jikexueyuan.com/project/android-weekly/images/issue-146/1.1.png" alt="alttext" />

A confession to make

我喜歡Loader,內(nèi)容提供商及其樣板。沒有必要爭論是否是最佳解決方案,明顯不是。

幾個月前RxJavaNovoda之間逐漸流行起來。像數(shù)字音樂廳等應(yīng)用已經(jīng)開發(fā)出來,成效顯著。

我很慶幸自己擁有 Benjamin Augustin, Volker Leck Antonio Bertucci等出色的同事。

遵循以上原則,我使用RxFirebase把所有框架特定解決方案組合起來。

體系結(jié)構(gòu)

     原理很簡單,數(shù)據(jù)如何從網(wǎng)絡(luò)提取的具體方式不用考慮,只需考慮數(shù)據(jù)庫存儲路徑即可。在網(wǎng)絡(luò)層使用Rx,數(shù)據(jù)層使用SQlite,UI層使用Loaders即可實現(xiàn)這些需求。

根據(jù)目前應(yīng)用的API,可能需要檢索到第501個 Firebase實例,以顯示500 top stories的列表。一個調(diào)用將檢索Top Stories頁面所有項目的ID,然后需要對這些ID的每一個進行另一個調(diào)用,并從新聞項目中檢索數(shù)據(jù)。

Rx似乎是一個解決這一切問題的完美候選方法,它的積極性方法可以處理所有的遞歸調(diào)用和線程的無縫連接。它還允許操作數(shù)據(jù),并提供數(shù)據(jù)庫層所需求的輸出。這個輸出將是ContentValues,其為一種 ContentProvider需求。

在UI層面,當使用ContentProvider時,它可以非常容易地決定如何顯示內(nèi)容。 CursorLoader允許檢索含有所需數(shù)據(jù)的 Cursor,這將非常有意義!

這里只需再進行一步,而且這是解決RecyclerViewCursor之間不兼容問題的方法。在下面的專欄里我會深入探討到實際的實現(xiàn)細節(jié)和問題,如果你有興趣,敬請關(guān)注。

支持不同形式的因素

我對關(guān)于該UI和它在不同形式的因素中的樣式有一些疑慮。在最開始的時候,我考慮使用Multi Pane,但是在使用了該應(yīng)用一段時間后,我感覺有些地方不合理。

http://wiki.jikexueyuan.com/project/android-weekly/images/issue-146/1.2.png" alt="alttext" />

在格局上,導覽不是非常清晰,所以我決定使用一個類似于Etsy 的Staggered Grid制作比較流行的背景。

http://wiki.jikexueyuan.com/project/android-weekly/images/issue-146/1.3.png" alt="alttext" />

同樣,智能手機的用戶界面將能夠適應(yīng)從一列變?yōu)閮闪械那闆r。

http://wiki.jikexueyuan.com/project/android-weekly/images/issue-146/1.4.png" alt="alttext" />

我們生活在一個物質(zhì)的世界里

現(xiàn)如今,沒有一個不包含有Material Design principles的得體的應(yīng)用程序被推出,在talkingpresenting 它之后,我也不可能有不同的觀點。

大多數(shù)文章都顯示在WebView中,WebView沒有預留很多空間用于過渡和花哨的動畫顯示。該應(yīng)用程序沒有圖片,因此不能添加漂亮的Palette ,這不是最好的情況嗎?

然而,材料不僅僅是動畫和顏色。也可以很方便地使用像字體、空間波動等方面,形成一個很大的差異。

http://wiki.jikexueyuan.com/project/android-weekly/images/issue-146/1.5.png" alt="alttext" />

另一個特點是,所有的材料應(yīng)用表明目前是快速返回模式。這是一個不錯的想法,使用滾動可以讓用戶享受到更多的內(nèi)容。

http://wiki.jikexueyuan.com/project/android-weekly/images/issue-146/1.6.gif" alt="alttext" />

還有更多內(nèi)容即將到來

該應(yīng)用程序并沒有完成,其中還有幾個我想增加的特點,比如能夠發(fā)布一條消息或回復評論。你還有更好的提議嗎?請告訴我!該程序的源碼可以從GitHub獲得,歡迎所有的PRs。

上一篇:原文鏈接下一篇:Issue #198