文献信息检索期末作业.docx
《文献信息检索期末作业.docx》由会员分享,可在线阅读,更多相关《文献信息检索期末作业.docx(12页珍藏版)》请在冰豆网上搜索。
文献信息检索期末作业
文献信息检索期末作业
基于安卓的校园寻物App的设计与实现
检索报告
提纲
班级:
姓名:
学号:
[摘要]
随着智能机的迅速发展和移动网络的健全,人们获取信息的方式已经渐渐从PC而转向了手机端。
本项目基于Android平台,使用MVC模式,具有失物招领、查询课表等功能,为校园信息移动化提供相应的支持。
[关键词]安卓;校园;移动互联网;数据库
[内容]
0引言
大学校园中移动应用蔚然成风,大学生们也更加依赖这些App来获取信息、社交娱乐。
从目前南通大学开通教务微信、移动图书馆等举措可以看出大学现在也开始拥抱移动互联网,渐渐开始顺应移动化的大潮。
受众可达4亿,服务约有600亿广告量。
OperaMediaWorks表示,iOS用户使用设备时间更长,会使用更多应用。
1.2全民移动
随着移动设备用户量的增加,通过移动设备访问互联网的流量已渐渐有赶超PC的趋势,通过这种与设备互动的方式,已开创了移动用户一系列新的行为活动,下面是具体的举例:
1.游戏:
从神庙逃亡、愤怒的小鸟到狂野飞车、无尽之剑,移动端的高品质游戏层出不穷,也吸引了极大的消费者。
2.社交网络:
facebook在移动端一直占有老大的地位,国内的新浪微博、人人等社交网络也成为了人们生活中的必需品。
3.电子邮箱、天气、地图、搜索服务:
随时随地收发邮件可以极大提高用户的工作效率,实时的天气预报和及时定位功能也让用户能准确的安排行程,同时也方便用户在外地出行。
4.产品搜索:
在AppStore,googleplay这样的应用商店中搜索应用已经成为了用户的必备知识,通过这些商店来下载免费或付费应用也能带给开发者高额的收益。
5.店内支付:
消费者如今已可以通过手机在一些支持移动支付的店里购买产品,NFC技术将运用于此。
6.浏览器:
虽然很多消费者仍旧会花大量的时间通过PC上网,但用手机上的浏览器访问互联网已经成为了第二选择。
7.应用程序:
消费者在应用上花费了更多的时间。
大多数较耗费时间的基于移动平台的活动,如游戏、社交网或者音乐播放等。
8.新闻:
ZAKER之类的轻量级新闻应用收到热捧,追求碎片化阅读的用户终于得到了满足。
1.3未来发展
通过移动端设备的兴起,可穿戴设备已渐渐崭露头角,索尼和三星已推出各自的智能手表。
而继谷歌、苹果、盛大果壳电子之后,深圳映趣科技也正式发布了inWatch智能腕表。
因此我们可以看出未来的移动发展非但不会终止,反而会更加迅猛,所以如何拥抱移动互联网是我们开发者应该仔细思考的一个问题。
2AndroidOS
2.1安卓概述
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
尚未有统一中文名称。
Android操作系统最初由AndyRubin开发,主要支持手机。
2005年8月由Google收购注资。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。
Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。
2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
2.2手机端的趋势
手机行业的快速发展,安卓这个庞然大物也出现了自己的分裂。
安卓机的处理器的日新月异,各大厂商也发起了屏幕大战。
目前的安卓机,无论是屏幕材质还是分辨率等方面都有了明显的进步,同时屏幕尺寸的增大也逐渐成为主流趋势。
2年前,4.3寸甚至4寸就已经能成为大屏机。
但现在看来4.5寸逐渐成为大屏机的底线,4.7寸慢慢成为主流。
目前,很多高端旗舰机型都会选择5英寸大屏幕。
2.3智能家居的运用
智能家居目前已经风靡全球,包括微软、思科、苹果、谷歌等在内的各大公司纷纷磨刀霍霍,意图在这块还在持续增长的大蛋糕上切上一块,其中,控制终端市场只是目前的阶段性目标,各大公司目前正在对智能家居操作系统以及相关标准进行角力。
目前,介于控制终端主要集中在智能手机及平板电脑等产品上,因而智能家居操作系统中谷歌出品的基于安卓平台的操作系统与苹果出品的基于IOS的操作系统占据了优势地位。
我们可以预见,在未来的发展总移动应用必然会延伸至家居平台,智能穿衣镜就是信息发布的优秀平台,所以作为开发者的我们应具有相应的意识。
3国内外安卓应用市场的现状分析
3.1生态系统
几乎所有的Android手机厂商都在效仿苹果的AppStore,希望靠自己的力气搭建起一套完整的生态系统。
但安卓的生态圈过于杂乱,各大厂商均推出了自家的应用商店:
三星很早就推出了应用商店“SamsungApps”,摩托罗拉运营着自己的应用商店“智件园”,华为推出了“智汇云”商店。
为了推广自己的应用商店,在中国手机ROM出厂时都会不一而同的把谷歌自带的AndroidMarket商店拿掉,给自己的商店让路。
这就使得Android市场一盘散沙,同时这些手机厂商自己的商店也只有自家用户在用,无太大起色。
Android的发行渠道过于杂乱,如果我们发布一个应用就必须要给很多商店进行提交,必须要等多家审核通过后才可给对应用户使用,难以做到统一。
作为我们开发者也应同时认识到安卓的简易性给了复制者很大的机会,如何保证自家的版权确实是一个问题。
3.2碎片化
安卓手机的碎片化除了系统版本的大而多外,屏幕分辨率的的杂乱也成为我们应当考虑的问题。
三星、魅族、小米、华为、oppo的旗舰机均使用了大屏和不相同的分辨率,适配这些主流机型便是我们软件测试的主要工作。
其中,魅族SmartBar的适配更是需要详细思考,我们在很多情况下必须要处于是否坚持自己的设计原则还是向手机厂商妥协的两难境地。
4校园利用安卓平台的成果分析
4.1武大助手
武大助手是武汉大学谢梦非做的一个项目。
“武大助手”目前是一个微信公共账号,它通过将校园信息联系后发布来方便同学。
在这个微信公众号上线的第一天,“武大助手”依靠同学间的口耳相传获得了3000多个用户(这是个很大的用户量,当然也是因为微信的占有率高)。
一周之内,此号关注用户破万,几乎是武大每年入学学生的总数。
现在,”武大助手“成为这所知名高校粉丝数最多的微信号。
武大的学生可以利用这个账号查成绩、算GPA、看课表、在图书馆里找书或者研究某个老师的挂科率。
非武大的学生则可以满足一下看”校花“的刚需、闲时可用它吐槽,甚至在尿急的时候能用它找到周围厕所的坐标。
因为我不是武大的学生,也没有找到武大的学生试用这个微信,所以不便于做过多的评价。
但从这个商业模式来看,从微信公众号推广自己的平台的方式是极为成功的,而且大学生们的需求经常是无厘头的。
大学就是一个小社会,大家有众多的需求,我们所要做的就是把这些需求具现化,靠自己的技术区满足他们。
4.2超级课程表
日前,一款名为“超级课程表”的应用软件成为了大学生们的宠儿。
只需一键,同学们便可将自己的所有课程录入手机。
现在,这款软件的用户量已超过百万,每天登录用户超过80万,数据覆盖全国近500所高校。
其实,这个软件的作者是一个90后大学生——余佳文。
其实余佳文的原本目的是想让自己记住课表。
初始的想法是“各个专业课程表不一样,我老是忘记,所以就想着有这样的软件该多好!
”
2011年10月,余佳文和他的团队只用了一周时间,就把一个草创版的课程表做了出来。
当然,第一版的课表十分简陋,功能也的确不足。
但让余佳文意想不到的是,就是那么一款“功能简单,界面粗糙”的应用,轻易就吸引了几千名在校学生使用,不少学生还成了他的粉丝。
超级课程表号称能简单快速的导入课表,但就我目前的使用来看,具体还是有很大问题。
推送方面存在很大的问题,在编辑课表,修改课程方面都没有做到尽善尽美。
4.3课程格子
这款课程格子就是一款专为大学生服务的应用软件,这是一款基于课程表的校园社交产品,依托数百万大学生用户的输入,课程格子已经建成了庞大的大学课程信息数据库,总计收录国内含港澳台地区2500多所大专院校超过800万的课程信息,用户输入自己的学号即可自动导入自己在教务系统的选课记录,也可以一键复制同班同学的课程表,或者搜索课程,把自己需要的课程添加到课程表里。
用户可以自己编辑创建课程表、添加课程笔记、给老师打分等,能够设计个性化的课程表背景,变更课程表的背景,将自己想要表达的内容展示在背景中,让来踩页面的同学一目了然。
除了课程提醒、考试提醒、分享笔记、根据课程评价选课等功能外,用户还可以在课程格子里与上同一节课或者同院系的同学打招呼、聊天、认识更多新朋友,查看其他学校的课程安排,蹭课更方便。
课程格子的推送方面仍旧存在问题,无法准确的按时间来完成推送。
但就其目前的功能已足以在市场中占有很强势的地位。
5理论设计
5.1需求分析
大学生是移动手机端的主力用户,而移动端中安卓系统又是主力。
因为目前的技术的问题,我们暂时排除ios系统的应用(未来会加入)。
就分析来看,针对安卓用户做校园的App是完全可行的。
大学生因为课程数很多,纸质课表又无法满足随时修改,个性化定义的功能,因此大学生们是很需要一个完全针对其定制的、简易的课程表。
在失物招领方面,就我目前的调查来看,失物招领这个功能虽然已经被各个高校的众系统包含了,但其地位仍旧是一个附加功能。
但就个人来说,每天都能看到很多同学丢书、丢饭卡,如果我们能给一个最快速方便的平台让这些焦急的同学快速找到失物是很有必要的。
在外卖快叫方面,我们发现很多同学在厌烦食堂后都找不到一个很好的饮食平台,而学校周边的很多商铺虽提供了外卖服务,但通常很难深入同学心中,成为学生心中的一个选择。
所以,我希望通过这个平台将校内或校外的外卖平台统一进来,一来能减少商铺无谓的传单开销,二来能让学生有个统一的选择平台,在价格和质量方面都能有个很好的参考。
5.2具体功能
·登陆功能
这个应用必须登陆后才能使用,具体是为了保护学生隐私,同时也能针对登陆的用户自动匹配课表。
在登陆方面我们会设计成通过学号和生分证号来登陆,这样就去掉了自己建立数据库的麻烦,此外还可以真正实现免注册登陆,方便学生用户。
在密码保护方面,学生登陆后可以绑定自己的微博或手机,这样即便自己的号码被盗后也能快速找回。
因为这个应用时工具类应用,所以被盗号的可能性比较低,在某种层面上也保证了安全。
·失物招领
失物招领平台是校园寻物主打的一个功能,目前的设想是主打“找饭卡”功能。
如此选择的一个原因是饭卡上面有个人的信息,如果有人捡到饭卡后可以通过这个平台直接匹配相对的失主,直接通知该失主。
如果这个失主没有使用这个应用,那么还可以直接@他的同学,让同学转告他这个消息,尽可能的提高找回速度。
通过这个途径的确可以让丢失的饭卡很快回到主人身边,这也是我们的根本目的。
如果失主丢失了饭卡,同样可以把信息发布到这个平台上。
只要是这个APP的用户均可以看到这个信息,增大找回的几率。
·课表查询
这个APP主打的是精确匹配、方便快捷。
所以系统会根据登陆的人的学号直接把相应的课表录入你的设备中,如果你想查看其他专业的课表只要查询即可。
当用户的课表发生小范围修改时,用户仍旧可以自定义自己的课表,就经验推知这种改动的几率较低,很符合大家习惯。
这个系统还会根据学校定义的放假安排自动过滤节假日,让用户能放心的过假期,不会在放假时仍旧接到推送,努力做到人工智能。
·外卖快叫
外卖快叫和很多应用都使用了同一种模式,但不同的一点是我们会亲自去联系商铺,同时开通举报的功能。
如果用户对某商铺进行了投诉,我们可以针对性的进行调查,以保障学生安全。
在这个栏目中,系统会根据学生的地理位置自动定位周围饮食,而不是死板的展示。
这样即使学生出去逛街也能轻松找到吃的,在接下来的更新版中我们会加入地图位置,让大家能主动找店。
5.3可行性研究
·登陆功能
登陆功能需要从教务处获得所有的学生名单,对于学籍异动的学生也应做到实时更新。
如果取得学校的支持,那么这点是没有问题的。
·失物招领
失物招领方面为了便于大家上手,我们需要和学校中的很多社团进行联系,获得他们的支持。
同时也统一南通大学失物招领平台等官方渠道,改变其固有思维,拥抱移动互联网。
·课表查询
课表查询方面同样需要教务处的支持,同时还应该时时关注放假安排,这在可行性方面没有问题。
·外卖快叫
外卖系统需要我们亲自去和一些正规的店铺进行沟通,可以商量相应的统计手段。
商铺们对于这种免费的推销平台都不会拒绝,所以这点是比较容易的。
6具体实现
6.1栏目实现
由于本APP的栏目过多,所以用传统的布局显然是不适合的。
而且安卓屏幕越来越大,滑动抽屉的布局显然是较为合适的。
在此我用到了一个开源项目——SlidingMenu。
SlidingMenu是一个开源的Android库,能够让开发者轻松开发一款应用,实现类似于Google+、Youtube和Facebook应用中非常流行的滑动式菜单。
具体设计图如下:
6.2相应技术
·谷歌定位服务
Google为开发者提供了地理定位服务的API。
通过该地理定位服务开发者可以实现各种基于地理位置的功能。
目前,校园周边的信息量非常庞大,我们通过手机自带的GPS来获取当前设备的地理位置,应用程序可以定时请求更新设备当前的地理位置,从而给用户展示周边的店铺。
正如下文写到的:
WiththehelpofGPSenabledsmartphonewewereabletosendthelongitudeandlatitudetothewebserver,analyzingthelocationdatafromthedatabaseanddisplayingthelocationandtracepathinthewebwhichhelpsustoknowwheretheclientis.
·Jsoup解析HTML的实现
为了解析学校网站上原有的课表信息必然要用到解析技术。
我们可以用HttpWatch来将课表信息筛选出来,然后进行本地解析。
其中利用Jsoup解析HTML是个比较实用的技术。
import……;
publicclassRename{
publicstaticvoidmain(String[]args){
//默认文件夹路径
Stringpath="C:
\\report";
if(args!
=null&&args.length>0){
path=args[0];
}
try{
renameHTMLTitle(path);
}catch(IOExceptione){
e.printStackTrace();
}
}
publicstaticvoidrenameHTMLTitle(Stringdir)throwsIOException{
Filef=newFile(dir);
if(f.isDirectory()){
Filefs[]=f.listFiles();
for(Files:
fs){
Stringtitle=s.getName().replaceAll(".htm","").replaceAll(".html","");
if(s.getName().contains(".htm")||s.getName().contains(".html")){
Documentdoc=Jsoup.parse(s,"gb2312");
ElementtitleEl=doc.select("title").first();
titleEl.html(title);
/*
*Jsoup只是解析,不能保存修改,所以要在这里保存修改。
*/
FileOutputStreamfos=newFileOutputStream(s,false);
OutputStreamWriterosw=newOutputStreamWriter(fos,"gb2312");
osw.write(doc.html());
osw.close();
}
}
}
}
}
以下是实现Jsoup解析HTML文件,并保存到本地的Java代码:
·SQLiteDateBase本地存储的实现
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
安卓系统中就可以用这种关系型数据库来实现数据的存储。
所以需要SQL语句知识的基础和数据库管理经验。
在这篇文献中我们可以看到其使用SQLite实现了相应的功能,所以我们需要掌握Java和数据库的相应知识,此外服务器上面的数据存储也是本软件的难点之一。
Duetothesecurityissueoftheinformationsendbytheuserandlackofcentralizeddatabaseinthepresentscenario,thispaperhasgivenapproachtodevelopasecuredandroidbasedlocationandmessagesharingsystem.InthispaperwehaveusedJavaprogramminglanguagetodeveloptheclientside,andusedPHPprogramminglanguagetodevelopserversidewithMySQLasexternaldatabasetostoreinformation.Inthiscaseweareintegratingtheconceptofsymmetriccryptographyandalltheinformationhasbeenencryptedbeforesavingtothedatabase.WehavetestedthesysteminemulatorandfinallytestedthesystemsuccessfullyinthereallifescenariousingHTCandroidsmartphone.
7结束语
本文对于AndroidOS下的移动应用进行了研究,分析了安卓系统目前的优点和缺点,找到了问题,同时也认识到了问题。
在此基础上设计出了一个校园移动App——校园寻物。
安卓操作系统下提供的多线程技术、HTML解析技术、本地关系型数据库SQLite等均使得移动客户端能很好的满足学生们的需求。
同时,本文实现的学校客户端可以通过简单的修改就能适配各大高校的寻物系统,便于推广。
因为采用了侧边栏的设计,使得这个App能较为容易的增加和删减栏目,便于以后的版本迭代。
如果这个应用得到广大学生的支持,那么必然能推广到各大高校,同时也能给开发、维护者带来一定的经济收益。
[参考文献]
[1]陈泽恩,惠州学院教育技术中心,Android校园网移动客户端的设计及实现探索
[2]林永兴、李晓蕾,基于Android的校园助手手机应用程序的研究与设计
[3]谢文焘,董黎刚,基于Android的校园网移动客户端设计与实现
[4]RameshShrestha,DesignofSecureLocationandMessageSharingSystemforAndroidPlatform