首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >碎片数据处理

碎片数据处理
EN

Stack Overflow用户
提问于 2014-02-10 16:24:15
回答 5查看 1.2K关注 0票数 2

我目前正在开发一个Android应用程序。由于我想支持平板电脑和手机,我决定使用碎片。但现在出现了一个问题,与其说是一个具体的错误,不如说是一个架构问题。

哪个组件负责加载和保存数据:周围的活动还是碎片本身?android开发人员资源中的所有示例都使用分段加载数据。

我的申请(简化):

  • ItemActivity (显示ItemListFragment)
  • EditItemActivity (显示EditItemFragment)
  • CreateItemActivity (显示EditItemFragment)
  • ItemListFragment (显示来自本地SqliteDb的项目列表)
  • EditItemFragment (允许编辑一项,加载并从SqliteDb中保存)

但我想我现在被困住了。因此,我的问题更多的是一个关于最佳实践的一般性问题。

  1. 我想在片段中设置参数,但是只有在动态地将片段添加到活动中时,这才有效。那么,在使用fix片段时,如何从活动传递参数到片段呢?
  2. 在生命周期中创建活动时,我可以访问我的数据库。但是,我必须决定是否应该在生命周期中加载数据。onCreate、onCreateView和savedInstanceState决定我以后是从包恢复还是从数据库加载。那么,我是否应该在onCreate中存储是否从数据库加载,或者是否有更好的方法?
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-02-10 16:31:01

我建议您只使用片段,而不是用于选项卡和智能手机活动的片段。我这么说的原因是:

我的申请(简化): ItemActivity (显示ItemListFragment) EditItemActivity (显示EditItemFragment) CreateItemActivity (显示EditItemFragment) ItemListFragment (显示来自本地SqliteDb的项目列表) EditItemFragment (允许编辑一项,加载并从SqliteDb中保存)

我想前三个也应该是碎片。其次,您可以使用任何您想使用的数据容器--绑定args,SharedPreferences,甚至父活动中的一些公共字段。

那么,在使用fix片段时,如何从活动传递参数到片段呢?您可以通过静态方法实例化您的片段,如:

代码语言:javascript
复制
private int photoRes;
public static ViewPagerDetailFragment newInstance(int photoRes) {
    final ViewPagerDetailFragment f = new ViewPagerDetailFragment();
    f.photoRes = photoRes;
    return f;
}

或者使用捆绑

代码语言:javascript
复制
Bundle args = new Bundle();
args.putInt(KEY,value);
Fragment fragment = new Fragment();
fragment.setArguments(args);

至于2-我想它最好先向用户显示用户界面,然后进行数据加载,以其他方式(在onCreate等中加载数据),它可能看起来像ANR。如果数据量较低,则可以将其加载到onCreate或您想要的任何地方。如果数量很大,最好使用加载程序从DB加载数据。

票数 0
EN

Stack Overflow用户

发布于 2014-02-10 16:30:29

片段应该被看作是一种独立的实体,因此在大多数情况下,所有的数据加载/保存都应该由碎片来处理或触发。

将参数传递给片段--要么重写您的代码并在代码中传递args,要么从片段中公开公共方法。

至于访问DB -访问它时,您想要使用的数据。

票数 0
EN

Stack Overflow用户

发布于 2014-02-10 16:35:24

您还可以使用Otto库,并让单例模型成为数据和Fragments订阅者的生产者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21682513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档