我正在开发一个应用程序,用于读取我公司服务器上加载的内容。如何检测新文件是否在线加载到指定文件夹中,或者是否已在该文件夹中覆盖任何现有文件?
从目前为止我所研究的内容来看, (1)FileObserver似乎是一个可能的解决方案,但是它可以检查特定的URL吗? (2)我在单个文件上使用Json的Request.Method.HEAD来检测更新,但我目前在该文件夹中有近500个文件(并且正在增长),它看起来像是一个潜在的资源每次加载应用程序时都要处理头信息。
有人建议在这种情况下可以使用哪些功能或库?
非常感谢!
答案 0 :(得分:0)
如何检测新文件是否在线加载到指定文件夹中,或者是否已在该文件夹中覆盖任何现有文件?
让服务器通知您的应用程序更改,例如通过GCM。
或者,让服务器发布您监控的某种更改日志。
FileObserver似乎是一个可能的解决方案,但是它可以检查特定的URL吗?
FileObserver
用于本地文件。
我在单个文件上使用Json的Request.Method.HEAD来检测更新,但我目前在该文件夹中有近500个文件(并且正在增长),这似乎是处理头信息的潜在资源每次应用加载。
同意。您的问题出在服务器上。您的服务器需要以更有效的方式提供更改详细信息。
答案 1 :(得分:0)
创建一个小型API,其方法类似于
List<String url> getAllChangedFiles(long timestamp)
返回从您的日期更改的所有文件。在这种情况下,所有耗时的逻辑(如搜索此类文件)都将在服务器上,您甚至可以出于某些原因对其进行缓存。
GCM不是一个完美的解决方案,因为无法保证您的推送通知会被提供。