eclipse资源改变通知机制
请参见原文:
http://www.eclipse.org/articles/Article-Resource-deltas/resource-deltas.html
Resource Change Listener
接口:IresourceChangeListener
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IResourceChangeListener listener = new IResourceChangeListener() {
public void resourceChanged(IResourceChangeEvent event) {
System.out.println("Something changed!");
}
};
workspace.addResourceChangeListener(listener);
//... some time later one ...
workspace.removeResourceChangeListener(listener);
在资源改变的通知期间,workspace会locked来避免产生更多的通知。
Resource API
Resource API在执行creating,copying,moving和deleting操作时会向外广播资源改变事件。
资源操作会嵌套,如Ifile.move操作会触发一个Ifile.create操作创建新的文件,然后再触发一个Ifile.delete操作删除老文件。所以一个Ifile.move操作嵌套了一个Ifile.create操作和一个Ifile.delete操作,但是以上操作只会通知一次。
Batching Changes
当有一批资源改变事件需要通知时,需要采用Batching的方式来提高性能。这样能保证只有一个资源改变事件被广播了出去,而不是多个。
IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IProject project = workspace.getRoot().getProject("My Project");
IWorkspaceRunnable operation = new IWorkspaceRunnable() {
public void run(IProgressMonitor monitor) throws CoreException {
int fileCount = 10;
project.create(null);
project.open(null);
for (int i = 0; i
分享到:
相关推荐
7. **观察者模式**: 观察者模式定义了对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。Eclipse的事件监听机制即为此模式的应用。 8. **策略模式**: 策略模式定义...
9. **事件(Events)**:Eclipse RCP使用事件机制来协调插件之间的通信,当一个插件的状态改变时,可以触发事件通知其他插件。 在源码中,你可以找到关于如何定义插件、注册视图和编辑器、实现命令、配置透视图以及...
Eclipse GEF(Graphical Editing Framework)插件是Eclipse IDE中的一个重要组成部分,它为开发者提供了构建图形化用户界面和图形化编辑器的强大工具。在Eclipse IDE中,GEF主要用于创建模型驱动的设计环境,例如...
在Eclipse中,插件是一种扩展机制,允许开发者为IDE添加新功能或增强现有功能。Bugdel就是这样一个工具,它使得在Eclipse中进行AOP编程变得更加便捷。 面向切面编程(AOP)是一种编程范式,它旨在提高软件的模块化...
首先,让我们深入了解Android的通知机制。`Notification`类是构建通知的核心,它包含标题、文本、图标、声音、震动等元素。创建一个`Notification`实例需要提供一些基本属性,如`setContentTitle`和`setContentText`...
这通常是通过监听和通知机制来实现的。 3. **工作台集成**:GEF与Eclipse的工作台(Workbench)紧密集成,可以方便地利用其丰富的功能,如保存、打开、搜索等。 4. **渲染**:负责将模型对象转换为屏幕上的图形...
12. **保存和恢复状态**:应用在屏幕旋转或其他配置改变时可能会被重建,因此你需要正确地保存和恢复播放器的状态,以保持播放的连续性。 这些是构建一个基于Java和Eclipse的Android音乐播放器应用的核心知识点。...
当用户选择不同的皮肤时,程序会加载对应的皮肤资源,改变组件的显示样式。 2. **Eclipse项目结构** - **SkinTestRes**: 这个目录可能包含了所有皮肤相关的资源文件,如皮肤XML配置、图片素材等。在Java应用中,...
ADT为Eclipse提供了专门的Android开发工具,如布局预览、资源管理以及设备模拟器等,使得开发者能够高效地进行应用开发。 首先,从用户界面(UI)的角度,"家庭理财通"可能涉及到Android的布局管理器,如...
7. **BroadcastReceiver**:广播接收器用于监听系统或自定义广播事件,例如系统启动、网络状态改变等,使应用能在特定事件发生时作出反应。 8. **ContentProvider**:ContentProvider是Android中数据共享的机制,...
8. **Eclipse相关**:标签中提到了"Eclipse",这可能意味着这个项目是使用Eclipse IDE创建的,而不再是当前主流的Android Studio。开发者可能需要将项目迁移到Android Studio以享受更多的现代开发工具和特性。 综上...
- **安全机制**:Android采用沙箱模型,每个应用程序运行在自己的进程中,并拥有独立的Linux用户ID,确保应用间数据隔离。 - **权限管理**:应用程序必须声明所需权限(如访问联系人、使用摄像头等),并在安装时...
- 每种机制都有其优缺点,如原子操作效率高但适用场景有限,信号量可控制并发数量,自旋锁可能导致CPU资源浪费等。 11. **进程间通信途径**: - 包括共享存储系统、消息传递系统,例如管道、套接字、共享内存、...
4. **Observe机制**:CoAP的Observe选项允许客户端订阅服务器上的资源,以便在资源状态改变时自动收到通知。 5. **DTLS安全**:虽然CoAP本身不强制要求安全性,但可以使用DTLS(Datagram Transport Layer Security...
在Android中,这通常意味着在Adapter中实现了排序逻辑,根据某种规则(如字母顺序、时间顺序等)改变数据集,并通知ListView更新视图。 5. **JavaApk源码说明.txt**: 这个文件可能包含了关于如何理解和使用源码的...
5. **交互与通知**:当任务状态改变时,如何设置通知机制,让参与者及时获取信息并进行相应操作。 通过学习这个视频教程,你可以掌握如何利用JBPM的泳道功能来优化工作流程,实现多任务的并行处理,提高工作效率,...
Java自动程序更新是一种常见于软件开发中的技术,用于在应用程序运行时或后台自动检查和安装新的更新,确保软件...在实现这样的系统时,必须考虑到错误处理、回滚机制以及用户通知等细节,以确保更新的稳定性和可靠性。
在Android平台上开发一款音乐播放器是一项常见的任务,尤其对于学生进行毕业论文或课程设计时,这样的项目可以提供实践平台,深入理解Android系统的底层机制和多媒体处理。本项目名为“Android源码音乐播放器”,...
`.classpath`和`.project`是Eclipse项目配置文件,而`project.properties`是早期的Android项目属性文件,现在通常由`build.gradle`替代。`AndroidManifest.xml`是应用的核心配置文件,`bin`、`res`、`gen`目录分别...