gpt4 book ai didi

java - Eclipse RCP : Where to store application data which should be accessible from everywhere?

转载 作者:行者123 更新时间:2023-12-02 06:00:01 25 4
gpt4 key购买 nike

我有一个 CommonNavigator,它有一个实现 IMementoAwareBaseWorkbenchContentProvider。因此,当应用程序关闭和启动时,我能够保存和恢复导航器的数据。到目前为止,这已经足够了,但现在我正在对导航器的数据实现一些功能,并且我开始意识到,即使在加载导航器插件之前(即在导航器之前),我也需要可以访问数据 View 变为 Activity 状态)。

因此,我需要更改方法,需要在应用程序启动时加载数据,将其显示在导航器中,并最终在应用程序关闭时保存它。我可以在哪里存储数据以便可以从任何地方访问它?到目前为止,我将它放在 IMemento 中,它在导航器的内容提供程序中恢复,但问题是仅在导航器 View 初始化后才加载数据。从应用程序启动时加载和访问数据的正确方法是什么?

谢谢!

最佳答案

您可以使用以下方法获取可存储任意数据的位置的路径:

IPath path = Platform.getStateLocation(plugin bundle);

您可以从传递给插件激活器的 BundleContext 获取您的插件 Bundle 或通过调用:

Bundle bundle = Platform.getBundle("plugin id");

返回的状态位置将位于工作区 .metadata/.plugins 目录中。

您可以根据需要编写代码来加载和保存此位置的值。

关于java - Eclipse RCP : Where to store application data which should be accessible from everywhere?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com