S60上的文件或文件夹是否有一些可识别它们的唯一ID值?文件和监视文件系统更改的唯一标识
我想有一个id,可以稍后用于提取文件或文件夹的完整路径。这是可以实现的吗?
如果不是,跟踪感兴趣的文件的最佳方法是什么? 例如如果我有一个pdf阅读器,并且我想要一个菜单选项来显示系统上的所有pdf文件 - 我每次选择此选项时如何防止我的应用程序在整个系统中搜索?我的应用程序处于活动状态时可以一次搜索并轻松监视更改吗?
谢谢。
S60上的文件或文件夹是否有一些可识别它们的唯一ID值?文件和监视文件系统更改的唯一标识
我想有一个id,可以稍后用于提取文件或文件夹的完整路径。这是可以实现的吗?
如果不是,跟踪感兴趣的文件的最佳方法是什么? 例如如果我有一个pdf阅读器,并且我想要一个菜单选项来显示系统上的所有pdf文件 - 我每次选择此选项时如何防止我的应用程序在整个系统中搜索?我的应用程序处于活动状态时可以一次搜索并轻松监视更改吗?
谢谢。
我无法在Symbian OS C++ API中看到任何可以完全按照您的需要来做的事情。
使用RF :: NotifyChange()可能是您最好的选择。
RFs :: NotifyChange()有一个缺点,就是没有太多关于触发事件的更改的信息。例如,如果我在C:\\ Documents \\下有一个3000个文件,并且创建了一个新文件,那么就有3001个文件,但我必须通过所有这些文件,创建一个新文件列表,并比较带有3000个文件列表的3001个文件的新列表,以找出已创建的文件。这太过分了! – 2009-12-03 21:50:20
CFileMan在这里是你的朋友,但是,是的,对于那些应该很简单的事情来说,它需要很多处理。请随时联系Symbian内核和硬件服务包业主,了解有关将此添加到平台的信息。 – 2009-12-04 10:19:10
我在今年夏天添加了你正在猜测的框架。这是因为我相信10.1。代码已经发布但已禁用。 看看CFsNotify http://developer.symbian.org/xref/epl/xref/MCL/sf/os/kernelhwsrv/userlibandfileserver/fileserver/inc/f32notification.h#140 – Dynite 2010-02-04 17:15:27
是的,将它们编入索引并使用RF :: NotifyChange()。 ID如何帮助识别新文件?
ID会帮助,因为我可以只跟踪ID而不是完整路径。如果有一个ID,操作系统会跟踪将文件从一个位置移动到另一个位置,我不必更新我的内部文件列表。 – 2009-12-03 21:49:07
我明白你的观点。有一个独立于路径名的文件的UID会很好,是的。 – 2009-12-07 13:27:17
Symbian Timebox 10.1(^ 3?)引入了一个新的文件通知API CFsNotify。
如果告诉你到底发生了什么变化以及哪个文件/目录/驱动器。
它类似于微软的ReadDirectoryChangesW API。
文件的唯一标识是它们的名称“不幸”。 – Dynite 2010-02-04 17:27:03