Android TVAndroid TVAndroidTV开发

[译]重构源代码构建--Android TV 开发手册十四

2017-06-11  本文已影响277人  wenju_song

版权声明:本文为博主原创翻译文章,转载请注明出处。

推荐:
欢迎关注我创建的Android TV 简书专题,会定期给大家分享一些AndroidTv相关的内容:
http://www.jianshu.com/c/37efc6e9799b


重构

通过本教程,我已经解释了Android TV特定的UI实现(从Android TV示例应用程序引用的示例源代码)。 所以我通过重组源代码文件来总结这个项目。 我根据每个类的作用进行了重构,并完成了下面的结构。

下面我继续补充说明。

UI处理模块

起初我想区分处理UI的部分。 更新UI的模块如下,

让我们在这个包里面添加新的包“ui”并替换上面的内容。 可以通过右键单击软件包名称→新建→软件包→键入“ui”。 然后,新的文件夹“ui”出现在您的Android studio中。

Model-View-Presenter(MVP)架构模式

通过本教程,我们使用Movie类作为一个项目来显示,并且我们使用ImageCardView显示其实例。 它由介质CardPresenter实现,它指定如何将此Movie实例显示到ImageCardView 。

这种架构叫做Model-View-Presenter(MVP)架构模式。 模型是将其处理为“Object”的项目的定义,它是面向对象编程的基础,View是显示此项目的实际UI,Presenter是Model和View的中间体。

在我们的例子中,我们可以写这个对应。

Model String Movie
View TextView ImageCardView
Presenter GridItemPresenter CardPresenter

如果您有Web应用程序开发经验,您可能会提醒模型 - 视图 - 控制器(MVC)模式(特别是在rails开发ruby的人员)。 以下是MVC和MVP之间的比较

MVC


mvc

MVP


testing_methodologies_mvp.png

引自http://www.gwtproject.org/articles/testing_methodologies_using_gwt.html

每个模块的Model,View和Presenter在重构后分成每个模块。 我把View和Presenter放在“ui”包中,因为它正在改变UI。

参考

Model–view–presenter
Model-View-Presenter(MVP)模式
GUI设计模式
Android TV:ObjectAdapter,Presenter ( 英文 )

本教程的结论

到目前为止,我已经解释了Leanback支持库,这使得我们的Android TV应用程序的UI设计更容易,更简单。 我会说这不是一个简短的教程,但现在几乎所有的Android TV特定UI设计(直到API级别22)都被覆盖了! 我希望您获得Android TV应用程序开发的基础知识,并且您不会失去开始开发自己的设计应用程序的方法。

源代码可以在github上找到。
关注微信公众号,定期为你推荐移动开发相关文章。

songwenju
上一篇下一篇

猜你喜欢

热点阅读