manbetx官方网站 - ManBetX网页版登录
当前位置:首页优秀论文 正文
基于Android系统Google Docs文件管理系统设计与实现
2011/6/13 16:03:27 点击: 17524

李健,王雪,岳腾,孔德彪,樊开响

(莱芜职业技术学院,莱芜,271100

 

摘要本项目基于谷歌文档而开发的文件管理系统,通过Google lib API 在与Google网络端数据进行交互进行Google账号的登录,登录后进行自己账号中文件的管理当然可以将自己的文件共享给指定的人,共享给通讯录中的人。如果没有联网则可以进行本地文件的管理。我们的优势之一便是在本地文件管理中如果需要共享某个文件可以直接选择将文件上传到网络上,同步到自己的账号中。充分实现了服务器端和网络端的交互。

 

关键字项目;文件管理;网络;账号;优势;Google Docs 

 

1.引言

众所周知,谷歌办公套件,是类似于微软的Office的一套在线办公软件,可以处理和搜索DOCXLSPPTTXTPDFJPEG等,并可以通过网络实现和他人分享,只要有Google的账号就能使用。也正是因为这样的便捷优势我们决定基于谷歌文档开发一款软件可以利用谷歌文档的方便快捷的优势帮助用户实现更多的方便。而现实生活中和我们联系最密切的便是文件管理的应用,于是我们着眼于文件管理和于网络的交互展开了一系列的开发。我们最终实现了网络文件的和谷歌账号相对应的加星、隐藏、别人共享给我的文档等功能并可以在账号中的任意文件进行共享。对于本地文件的操作不仅可以编辑还可以直接上传到自己的账号中,进而进行其他的相关操作。

 

2.系统概述

本系统实现主要功能如下:

对本地文件管理:可以对文件进行打开、创建、复制、移动、同步文件、压缩或解压缩、查看属性等等,新建文档可新建文档,新建表格,新建绘图和新建文件夹,在本地文件中拥有两种视图模式,分别是列表视图和平铺视图,可根据用户的习惯进行相关选择,在本地文件中工具栏中可以返回根目录,返回上一层,搜索文件,新建文件等。

网络文件的管理:在网络文件中可查看 我创建的文件,我拥有的所有文件,隐藏的文件别人共享给我的文件,加星标的文件等等,网络文件可对文件进行打开文件,重命名、删除、共享、加星、隐藏、查看属性等等,共享文件可以分为三类 只有用户自己可见,共享给指定的人、在网络上发布,其中共享给指定的人需要输入对方的Email地址,共享完成后,系统会使用Email通知对方。

我的文档管理:会对近期用户操作过的文档,表格,绘图等进行记录,进入我的文件文档管理,可对文件进行新建、编辑、保存等方便用户使用。

网络设置:我们的软件遵守LGPL开源协议,并且属于原创代码,为了方便开发人员进行二次开发,和大赛组委会对软件的评审,我们在这里设置了动态的IP和端口号。

3,系统的架构

系统整体分为三部分,android手机客户端、服务端、Google网络云端数据。客户端与服务端通过servlet进行交互,服务端与Google网络云端数据通过Google lib API 进行交互。下面是我们系统的整体架构图:

 

 

客户端:基于android平台进行开发,使用JAVA+XML用于显示数据,和用户进行交互,数据交给业务逻辑层处理,业务逻辑层将数据进行封装并进行解析,然后通过HttpURLConnection中的request response 对象与服务端进行交互。

服务端:采用开源的tomcat作为容器,为客户端提供服务接口,服务端接收到数据后进行解析,然后通过Google lib API 在与Google网络云端数据进行交互,获取到返回的网络数据后,依次交给服务端、客户端业务逻辑层、最后在显示在客户端屏幕上。

 

4.系统的设计与实现

本地文件管理:

搜索:在本地文件中,我们加入了搜索功能,方便用户查找和编辑自己想要的文件或文件夹等信息。文件搜索主要分为两部分:自定义关键字搜索和匹配文件类型(TXTDOCXLSJPEG)搜索。搜索方法采用最常用的递归法,实现对当前目录下的所有的匹配文件的查询,支持模糊查询。在自定义关键字搜索中,应用UIAutoCompleteTextView组件可是实现初级的自动检索功能,给予用户更方便的提示。在匹配文件类型搜索中,主要针对我们能上传到Google Docs的文件进行查询,从而避免了用户为查找一个文件而浪费不必要的时间。

压缩文件:压缩时使用ZipEntry实体类,在压缩过程中进行了实例化条目,然后将zip的列表写入输出流,并从源文件中得到输入流,进而一步步的将文件压缩并写入输出流方便解压缩使用。

解压缩文件:压缩过程反过来便是解压缩的过程了,解压缩的过程需要Enumeration得到压缩的对象并依次枚举。然后在枚举的for循环的过程中得到文件的输入流并进行创建。

    网络文件管理:

用户点击网络文件后,业务逻辑层通过bundlemessage传送用户名和密码,并将数据进行封装,在数据写入HttpURLConnection对象的输入流中,数据到服务端后,服务端对数据进行解析,在通过DocumentService对象获取用户的数据,将用户数据进行封装,并返回给客户端业务逻辑层,业务逻辑层在将数据解析,使用android中的handle message 来刷新view 并显示在屏幕上。

网络设置:用户输入IP和端口号,保存后系统会将IP和端口号保存到SharedPreferences,并提交,下次用户在登录时,首先系统会读取已经保存的IP和端口号,显示在IP和端口号的设置页面。

 

5.基于的技术详解

下面为大家介绍一下我们项目中用到的网络技术:

云计算的含义:

云计算,也是由Google公司提出的,这是一个美丽的网络应用模式。狭义云计算是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源;广义云计算是指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT和软件、互联网相关的,也可以是任意其他的服务,它具有超大规模、虚拟化、可靠安全等独特功效。

简单的说,现在网络客户端的一些软件、服务等资源放到网络端,轻松实现资源的存储与共享等功能。

客户端访问数据

云端服务器

云端资源

   Google云计算的一个重要产品——Google Docs:

         Google Docs是云计算迅速发展的必然产物。Google DocsGoogle在线文档)是一款基于网络的文档存储与编辑服务器。它类似于一套微软的Office办公软件,只是将处理放到了网上,而且不仅仅局限于Office的那些WordExcelPowerPoint文档,还增加了一些常用的文件格式,如PDF,绘图,表单(Form)。还可以存储RARZIP格式的压缩包以及一些常见的文件。

         你可以在Google Docs中创建WordPowerPointExcelForm、绘图,也可以对这些文档进行修改删除等操作。同时可以将一些自己可以用到的文件放到上面,当需要的时候可以随时随地的从上面取下来。还可以将想跟他人分享的文件放上去,进行共享,这样他人就可以轻松的访问到你所分享的数据。

后台是怎样与Google Docs的服务器进行交互?:

我们研究了一段时间Google的一些服务与产品,终于在Google Code LabsGoogle代码实验室:http://code.google.com/intl/zh-CN/labs/)中找到了许多可以跟Google旗下产品进行客户端交互的代码编写API ,里面有Google浏览器APIGoogle日历APIGoogle地图APIGoogle桌面API等等。几乎涉猎到Google的所有产品,你可以通过这些API中的介绍,利用Java或者.Net语言进行与Google网络服务器的交互。有兴趣的同学可以看一下。

我们在这些API中找到了与我们项目有关的Google在线文档APIGoogle Documents List Data API V3.0http://code.google.com/intl/zh-CN/apis/documents/docs/3.0/developers_guide_java.html),目前版本是V3.0。我们用的平台是Android,语言当然选的是Java

 

 

根据API上的帮助,我们从Google Labs中下载了所需的jar包,主要的包是gdata-docs-3.0.jar

通过大量的针对于客户端与Google Docs信息交互的小项目的练习,逐步了解并熟悉了通过Java语言与服务端的交互原理,开始着手将其添加到我们的项目中。

在这,我们主要用到包中的以下几个类:

1.              DocsService:重要的类,用于用户登录,才能进行对文档的操作。并且通过该类的对象对文档进行相应的操作。

2.              URL:声明一个URL对象,从该URL网址中获取文档并对其进行操作。

3.              DocumentListFeed:从URL中获取出所有的文档对象,并存放到DocumentListFeed中。

4.              DocumentListQuery:跟DocumentListFeed类似,进行查询。

5.              DocumentListEntry:存放获取出的文档实体对象。

还有一些偶尔用到的类,在这就不一一介绍了。

利用以上的一些Google提供的访问Google Docs文档数据的类,我们可以轻松的访问Google Docs上的数据,并可以对其进行增删改查的操作,将其放到我们的项目中,后台接收前台传过来的数据,就可以实现手机客户端与Google Docs云端网络数据的交互使用操作。十分方便快捷。

 

6.项目的优势

我们在系统中嵌入了广告,并将我们的程序发布到了eoemarket、中国移动market等移动终端下载平台上,供用户免费下载和免费使用,在用户使用时,通过展示广告和用户点击广告,即方便了用户使用,又为我们赢取了利润。

关于盈利的实现,首先需要确定移动终端广告平台,在这里我们分别对Google AdSense 、有米广告传媒、和wooboo广告传媒进行了对比,最后确定了即方便国人使用,有稳定的wooboo广告传媒。

然后需要在wooboo上注册应用,并提取sdk和文档,提取应用的ID号,最后将广告view页面嵌入到应用程序的主页面,测试完成后,将程序发布到移动终端的下载平台上,为用户提供服务。

 

7.项目前景

项目基于大赛命题要求实现了对文件的管理和于网络的交互,并且实现了盈利。软件操作方便,界面美观,易用性较强。客户端使用多线程机制和handle message等机制实现了视图的更新,使用HttpURLConnection对象与服务端进行通讯,并且使用java中的垃圾回收机制,防止线程阻塞,提高了系统的实用性。

由于大赛时间有限,下一步我们打算将服务端移植到Google app engine上,实现为Google用户提供更多服务的宗旨,这样又可以直接放到外网而免去服务端,从而更好的提高软件的共享性和实用性。

 

8.参考文献:

1 Google API大全》编委会 . Google API大全 .电子工业出版社, 20096

2 杨丰盛 . Android应用开发揭秘.北京:机械工业出版社,2007

3 郭宏志 . Android应用开发详解,电子工业出版社; 1. 20106

4 E2ECloud工作室 .深入浅出Google Android ,人民邮电出版社; 20098

 

9.联络方式:

1)通讯地址:山东省莱芜市莱城区莱芜职业技术学院计算机系,271100

2)电话:15854170273

3E-mailforsource007@gmail.com

 

 

赛题评语:

 

         莱芜职业技术学院的forsource团队按照软件大赛“3G商务应用”赛题的要求,完成了赛题项目——GoogleDocs文件管理系统。

         该项目主要针对用户对移动办公的需求,完成了文档在基于Android系统的手机客户端的基本操作功能;并且设计了网络服务器端,实现了文档的网络传输,存储等功能;进一步的,系统调用Google公司提供的GoogleDocs API,完成了文档数据的云端操作。采用了分层模式,每层完成该层的特定功能,通过网络统一成为实现完整功能的系统。

具有特色的是,系统遵守LGPL开源协议,在eoemarket、中国移动market等各软件平台提供免费下载使用;在免费提供使用的同时,采用植入广告的模式,实现了盈利。

通过赛题项目是实现,团队成员在软件设计,软件营销等各个方面都得到了充分的学习与锻炼,为今后进一步的学习和工作打下了坚实的基础。

 

版权所有:manbetx官方网站 - ManBetX网页版登录 鲁ICP备18019203号-1
manbetx官方网站维护管理
联系电话:0531-88391234