在Android中,ContentResolver是用来发起Content Provider的定位和访问的。不过它仅提供了同步访问的Content Provider的接口。但通常,Content Provider需要访问的可能是数据库等大数据源,效率上不足够快,会导致调用线程的拥塞。因此Android提供了一个AsyncQueryHandler(参见:reference/android/content/AsyncQueryHandler.html),帮助进行异步访问Content Provider。
在各大组件中,Service和Content Provider都是那种需要持续访问的。Service如果是一个耗时的场景,往往会提供异步访问的接口,而Content Provider不论效率如何,都提供的是约定的同步访问接口。
3 开发概述
3.1 开发内容
Android平台文件上传系统软件是基于Android手机平台,运用Java语言,开发出从手机的SD卡中选择文件,并实现文件实时或者定时进行上传到服务器功能的系统。
3.2 开发意义
信息的交流可以说是我们每天做的最多的事情。特别是现在智能手机随处可见的时代,我们每天都在用手机进行大量的交流。举个亲身体会的例子,很多时候我们聚会或者活动,或者一个人在思考,在做自己的事情,经常会拿出手机进行拍照,然后上传到微博,发表自己的心情,或者去分享、评论别人的微博,等等。这些都实实在在的是信息的传递给我们生活习惯、生活方式带来的深刻的影响。因此可以看出,从文件上传系统这一个细小的功能却可以改变千万人的生活,这就是该课题方向的意义。
4 程序功能分析及程序设计
4.1 功能分析
本软件主要实现在软件的主界面中打开文件浏览器,并且选择SD卡中的某个文件作为要上传的文件,或者不做选择直接返回。然后点击上传按钮进行上传。上传之前会判断是否选择了文件。如果有就直接上传,如果没有就提示未选择任何文件。
除了上述的文件实时上传功能,还有文件的定时上传功能和定时且间隔多次上传。在软件的主界面中点击定时上传按钮打开系统的时间设置控件,选择文件定时上传的时间。确定后提示上传时间。到了时间就直接上传文件。定时且间隔多次上传类似定时上传功能,但是它可以被设置为每隔一段设定好的时间自动上传。还有一个取消定时功能,即取消所有定时设定。
4.2 程序设计
4.2.1 用户界面设计
根据上面程序功能分析可以知道,该应用程序包含主要两个界面。在程序的开发过程中,我曾经使用了四个界面,后来经讨论发现,有一些功能根本不用界面显示,直接后台运行或者调用系统控件就可以了。例如文件的上传操作其实在后台服务中去运行就可以的。 智能手机文件实时上传系统的研究与实现(6):http://www.youerw.com/jisuanji/lunwen_8276.html