Android Fragments - 多项活动还是一项?

时间:2014-01-15 13:21:40

标签: android android-fragments

我希望你理解我的“englisch”;)

我是一个新的Android“开发者”,并且对“Android片段 - 一个与多个活动”有一点疑问。

虽然这个主题有2-3个问题,但它们已经存在了几年。

对于培训,我想创建一个带有操作栏和多个片段的简单应用程序,我想使用相机。

创建这样的想法的最佳方法是什么?管理所有片段或多个活动的一项活动?由于我想使用相机,它可能更容易使用多个活动(相机意图等...) - 但我不知道 - 我是Android的新手;)

使用更多活动而不是一个活动是否有任何好处?

也许有人可以帮助我:)。

2 个答案:

答案 0 :(得分:0)

我总是喜欢以下设置:

1.自己的应用程序 - 类 这使您可以使用和实现常见模式,例如注册表,例如
可以通过getApplicationContext
-method在每个活动中检索应用程序对象,并且每个属性都是单例。此外,它是唯一可以保证在您的应用程序生命周期中存在的对象。根据需要在应用程序的每个部分存在的对象,这使其成为所有实现细节的最合适的入口点。

2.在1.之后,我在这个应用程序类中注册了我的Activity - objects和Fragment。这允许额外的交叉活动和跨片段实现
我知道这种方法似乎是相当单一的,我不会过度使用这样的概念,但在许多情况下它很方便,可能是从资产目录中读取额外的应用程序配置资源或建立数据库连接并重用它们 这就是我实现片段的地方,这种设置让我充分灵活地控制着我的应用程序。由于片段的可重用性,我倾向于使用它们,并且: Google强烈建议使用片段。他们确实在系统/操作系统层上渲染组件时进行了很多沉重的低级优化,我倾向于相信它们。

答案 1 :(得分:0)

我认为,一个包含其他片段的FragmentActivity会很好。我已经完成了一个项目,从片段中发射相机意图。 您可以触发意图(结果)并在FragmentActivity onActivityResult()函数中管理片段替换。

发射相机片段。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);

//片段活动..当相机意图结束时。将调用onActivityResult()。

public void onActivityResult(.......)
{
//check is it returning from camera, do whatever you want to do.
}