如何在Activity和FragmentActivity之间共享sqlite数据源?

时间:2012-11-24 00:40:30

标签: android sqlite android-fragments android-activity listactivity

我使用Eclipse创建主详细信息流,现在想在主详细信息流(类型FragmentActivity)中的列表活动和我创建的另一个活动(类型为{{}之间使用sqlite数据源。 1}})。

我做了一些阅读,为了只有一个sqlite数据源实例,人们建议创建一个基本活动(类型为Activity,包含数据源),然后将其扩展到所有其他活动。这样我就可以从超类中获取资源......这一切都很好,但是我无法在主详细信息流的列表活动中扩展基本活动,因为它扩展了Activity而不是FragmentActivity ...

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我认为WarrenFaith在他的评论中提出的建议是扩展Application类,然后允许您维护一个全局static对象,可以从任何应用程序的组件访问该对象。

示例...

public class MyApp extends Application {

    public static MyObject obj = null;

    public void onCreate() {

        obj = new MyObject();
        ...
    }

    ...
}

然后,您可以从ActivityFragmentActivity访问该对象,如下所示......

MyApp.obj.someMethod();

答案 1 :(得分:0)

不确定这会有所帮助,我仍然会分享我在这里所做的一些事情,也许会有所帮助。

在使用片段时,我使用片段上的getActivity()传递给我的SQLite DS对象。这将返回与片段关联的Activity。

在FragmentActivity上,我看到一个名为getParent()的方法,它根据FragmentActivity的使用方式返回父Activity。