当前位置:  开发笔记 > 后端 > 正文

Android:使用服务,对话框等片段的预期用途

如何解决《Android:使用服务,对话框等片段的预期用途》经验,为你挑选了1个好方法。

我已经创建了Android应用程序几个月了,我在使用它时遇到了麻烦Fragments.

Fragments 应该是可重用的UI组件,但是你能让它们在多远的程度上独立存在?

其中的Fragments创建[我已是一个ListFragment可下载的视频.目前我已经实现Fragment了调用主机的方法很少或没有实现的所有方法Activity.在Fragment调用Activity了一些小东西,但一切都像在外部存储下载文件并发现它们是由完成Fragment.

90%的时间我发现它是实现它的最简单的方法,但有时它只是不起作用.

一个例子是用于删除我的视频的确认对话框ListFragment.该对话框是DialogFragment附加到Activity但所有UI更新和删除方法都在内部ListFragment.所以我最终DialogFragment打电话给Activity刚刚打电话给ListFragment.

另一个例子是绑定到a Service.难道我绑定ActivityService或者仅仅是Fragment?在Activity没有用的Service,而是一个Fragment应该做的启动和维护的所有工作Service?如果不是这意味着所有的Fragments呼叫Service必须通过,Activity所以Fragment不再是孤立的.

我想知道我是不是把独立的想法放得太远了,是Fragment不是应该是最低限度的自足,实际上依靠Activity托管它来解决所有繁重的问题?

谢谢你的帮助.



1> dbm..:

一个非常有趣的问题!

我通常尽量让我的碎片保持孤立.这意味着我通常不会让他们知道他们周围的任何事情,除了他们自己的活动.然后,活动的角色(如果你问我)提供片段所需的东西.

实际上,这意味着我的片段从不拥有自己的内容,如内容提供者或自定义DAO.活动(或 - 上帝禁止 - 应用程序)拥有它,然后仅向片段提供数据的子集,如游标,域对象或适配器.

这也意味着当片段修改项目时,它必须要求活动保持更改.或者如果要删除一个项目,片段必须要求活动显示该操作的相应UI(是的,技术上可以让片段显示另一个片段,但我通常尽量避免它) .

当涉及到服务和绑定它们时,我真的不知道该建议什么,因为它真的取决于服务和它正在做什么.如果您在服务中从互联网上下载新内容,那么似乎已经纠正让活动处理绑定(因为根据之前的讨论,它是需要保存数据的活动).另一方面,如果你根据你的孤立数据(例如解密文件等)来计算特定的东西,那么它可能会让片段处理那个部分.

从更大的角度来看,很快就会意识到,如上所述的设置将产生相当多的回调接口,因为每个片段需要与其活动建立合同.因此,对于较小的项目,有时我会覆盖我自己的片段 - pardigms.

我也不禁注意到,在使用片段时,我的应用程序往往在其架构中面向MVC.我留给你和任何未来的读者来决定它是好还是坏;-)

干杯

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有