2012-01-25 72 views
1

我有一個應用程序,其中我讀取存儲在某處的SD卡中的XML文件,然後解析該XML並存儲在數據庫中,然後我的應用程序工作在那個數據庫上。 但客戶端更新SD卡並插入新的XML文件,刪除一些舊的。 所以當任何新文件被添加到SD卡我想我的服務啓動並解析它並保存在數據庫中。 但我怎麼能知道有在sdcard.myActivity類所做的更改是: - SdcardActivity.java及服務類是服務類: - FileseacrchService.java如何知道文件被刪除或添加(或任何更改)在sdcard

回答

0

檢查registerContentObserver()

public final void registerContentObserver (Uri uri, 
          boolean notifyForDescendents, ContentObserver observer) 

notifyForDescendents: - 如果要真正的URI與變化開始的URI也會引起通知發送。如果false僅更改爲由uri指定的確切URI,則會導致發送通知。如果爲true,那麼位於或低於指定URI的任何URI值都會觸發匹配。

1

FileObserver可能是你想..看看this什麼例。快樂編碼;)

+0

謝謝Psyclops的回覆文件觀察員更confusing.Please發佈一些簡單的例子,可以幫助me.any幫助是appriciated – DEVENDRA

+0

從來沒有用它自己...從文檔看來你必須創建一個類擴展FileObserver並重寫它的onEvent方法。那麼你可以'FileObserver dir = new FileObserver(「path/to/dir」,FileObserver.EVENT_YOU_NEED);' – Psyclops

+0

謝謝Psyclops.but文件觀察者被附加到一個文件夾,然後只有它裏面的文件和子文件夾是受監視,但其子文件夾和文件不是。例如,文件夾A內有文件夾B,文件夾B內有文件夾C.如果創建了文件觀察器來監視文件夾A,則檢測到爲文件夾B所做的任何修改,但不檢測文件夾C.但我想要檢測文件夾和子文件夾,再次子文件夾。請回復。任何幫助appriciated。 – DEVENDRA

相關問題