android手机微信开放平台的应用开发_第1页
android手机微信开放平台的应用开发_第2页
android手机微信开放平台的应用开发_第3页
android手机微信开放平台的应用开发_第4页
android手机微信开放平台的应用开发_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ANDROID手机微信开放平台的应用开发APPLICATIONANDDEVELOPMENTOFANDROIDMOBILEPHONEMICROMESSAGEOPENPLATFORM学部信息专业计算机科学与技术毕业设计(论文)完成时间自2012年12月至2013年5月摘要随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够更方便,快捷的聊天对话,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网络来实现聊天和信息发送。因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。在如今这个智能手机系统群雄纷争的时候,2008年GOOGLE推出了一款名为ANDROID的开源智能手机操作系统,它采用LINUX内核,开放手机联盟OHA成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。ANDROID的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,ANDROID平台具有无限的吸引力。本文就在分析讨论ANDROID手机软件开发技术原理的基础上,开发出能为用户提供更好的基于ANDROID平台的微信开放平台软件。关键词ANDROID;微信;开放平台ABSTRACTWITHTHERAPIDPROLIFERATIONOFSMARTPHONES,SMARTPHONEOPERATINGSYSTEMMARKET,WINDANDWATERINORDERFORSMARTPHONEUSERSTOCHECKTHEINTERNETANYTIME,ANYWHERESERVICESPROVIDEDANEFFICIENTWAYTOEXPANDTHEFUNCTIONOFTHESYSTEMWILLBEAPPLIEDTOTHEMOBILEPHONETERMINAL,LETTHEMOBILEPHONETHROUGHTHEMOBILENETWORKTOCHATANDSENDINFORMATIONTHEREFORE,THESMARTPHONEAPPLICATIONSANDTHENEEDFORTHESERVICEWILLHAVEBROADPROSPECTSFORDEVELOPMENTINTODAYSSMARTPHONESYSTEMWHENDISPUTESWARLORDS,2008,GOOGLEINTRODUCEDASMARTPHONECALLEDTHEANDROIDOPENSOURCEOPERATINGSYSTEM,WHICHUSESLINUXKERNEL,OPENHANDSETALLIANCEOHAMEMBERSCANBEFREETOUSEANDMODIFYTHESDKPACKAGE,THESYSTEMITHASAGOODOPENSOURCENATUREOFTHEEXPANSIONOFTHESOFTWAREINCLUDESTHEOPERATINGSYSTEM,USERINTERFACEANDAPPLICATIONSTHATNEEDTOWORKSMARTPHONESALLTHESOFTWAREANDROIDSBIGGESTFEATUREISITSOPENARCHITECTURE,NOTONLYHASAVERYGOODDEVELOPMENTANDDEBUGGINGENVIRONMENT,BUTALSOSUPPORTSAVARIETYOFSCALABLEUSEREXPERIENCE,INCLUDINGRICHGRAPHICALCOMPONENTS,MULTIMEDIASUPPORT,ANDPOWERFULBROWSERTHEREFORE,FORSOFTWAREPROFESSIONALSIS,ANDROIDPLATFORMHASUNLIMITEDAPPEALINTHISPAPER,THEANALYSISANDDISCUSSIONANDROIDMOBILEPHONESOFTWAREDEVELOPMENTTECHNOLOGYONTHEBASISOFTHEPRINCIPLE,DEVELOPEDTOPROVIDEUSERSWITHBETTERMICROMESSAGEOPENSOFTWAREPLATFORMBASEDONANDROIDPLATFORMKEYWORDSANDROID;MICROMESSAGEOPENPLATFORM目录1绪论111研究内容112研究意义113研究现状和发展趋势12需求分析221可行性研究222功能需求223性能需求23相关技术介绍231开发工具232开发环境333运行环境34总体设计35详细设计1051界面设计1052程序结构设计116系统功能实现127软件测试12总结19致谢21参考文献221绪论11研究内容ANDROID手机微信开放平台的应用开发软件是基于ANDROID手机平台,运用JAVA语言,通过移动网络连接微信,开发出能够方便用户聊天,以及分享信息、图片给好友的ANDROID软件。12研究意义ANDROID手机微信开放平台的应用开发软件的开发可以让ANDROID手机用户能够跟方便的使用微信,扩展微信的功能,用户可以通过此软件方便快捷的与朋友分享你的快乐,让网络的力量渗透每一位用户,让每位用户都轻松的进入快速的信息时代。13研究现状和发展趋势作为谷歌企业战略的重要组成部分,ANDROID将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于ANDROID的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,ANDROID将补充,而不会替代谷歌长期以来奉行的移动发展战略通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。据INFORMA调查,2012年,安卓手机销量远超过诺基亚塞班手机,安卓已成为全球最大的智能手机平台。谷歌表示目前安卓手机每日平均激活量为20万部,销售速度加速上涨。我们认为,安卓在全球市场的成长壮大,塞班市场份额不断下跌已成不争事实。安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方。此外,谷歌通过OHA联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善。相信日后的ANDROID将更加强大与普及。2需求分析21可行性研究ANDROID开发平台是由谷歌与开放手机联盟合作开发的一个开放、自由的移动终端平台,它由操作系统、中间件、应用软件三部分组成。该平台备有完善的程序开发环境,包括模拟器、除错工具、程序执行所耗用存储器、性能评介等功能。微信的开放平台是微信新推出的创新技术,它向广大技术爱好者提供了基本的开发工具包和教程,还附有成功案例的源代码以供参考。通过这几项资料,配合范例,可以很好的实现对微信开放平台的应用程序开发。现在通信技术的蓬勃发展,谷歌,IPHONE的全面上市,信息成为了时代的通信证,一个方便而成本低廉的程序解决信息查询的大问题,大大提高了人们的工作效率,也是今后手机信息发展的趋势,其的市场必将广阔,因此,此系统在经济上市完全可行的。22功能需求本软件是一个对微信的推动系统,启动程序后用户可以通过本系统直接连接微信,同时可以启动相机向朋友发送信息和图片,在朋友圈发送信息及图片。此软件主要是为用户提供微信开放平台的信息分享,主要实现如下在当前应用程序中,将内容分享给微信的好友用户。在当前应用程序中,将内容分享到自己的微信主页。23性能需求程序响应速度快,安全性高,信息处理速度快,占用内存小。3相关技术介绍31开发工具1JAVASDK;2ECLIPSE;3ANDROIDSDK;4ADT32开发环境ANDROID的上层应用程序是用JAVA语言开发,同时还需要基于DALVIK虚拟机,所以,GOOGLE公司推荐使用主流的JAVA继承开发环境ECLIPSE。只有ECLIPSE还不够,因为是使用JAVA语言进行开发,还应该有由SUN公司提供的JAVASDK其中包括JREJAVARUNTIMEENVIRONMENT。此外,ANDROID的应用程序开发和JAVA开发有较大区别的,所以还需要有GOOGLE提供的ANDROIDSDK。同时,还需要在ECLIPSE安装ADT,为ANDROID开发提供开发工具的升级或者变更,是ECLIPSE下开发工具的升级下载的工具。33运行环境首先到HTTP/WWWECLIPSEORG/DOWNLOADS/下载ECLIPSE集成开发环境并且解压,这里推荐下载JAVAEE集成版本,可以为平台的搭建省下不少工作。接着再去HTTP/JAVASUNCOM/JAVASE/DOWNLOADS/INDEXJSP站点下载SDK后安装,下载HTTP/DLGOOGLECOM/ANDROID/ANDROIDSDKWINDOWS15_R1ZIP,ANDROIDSDK15后解压。第一步下载工序就结束了。双击ECLIPSE解压后目录中的ECLIPSEEXE然后启动,选择ECLIPSE菜单中的HELPINSTALLNEWSOFTWARE选项卡上的AVAILABLESOFTWARE,点击右侧的“ADD”输入HTTP/DLSSLGOOGLECOM/ANDROID/ECLIPSE/后确定,然后在“WORKWITH”下拉菜单中选择刚才输入的网址。过一会就会出现一个DEVELOPERTOOLS选项,勾上以后点击NEXT以后ECLIPSE会自动网上查找ANDROID开发工具插件,然后找到ANDROIDDDMS和ANDROIDDEVELOPMENTTOOLS,选中这两个点击FINISH,ECLIPSE就会自动下载并安装ANDROID插件了,最后会提示重启ECLIPSE。重启后选择ECLIPSE菜单中的WINDOWSPREFERENCES在左侧的ANDROID项目中SDKLOCATION中填入ANDROIDSDK解压后的目录,然后点击APPLY。在WINDOWSXP的系统变量中的PATH变量中添加一个值,该值指向解压后的ANDROIDSDK目录下的TOOLS文件夹。4总体设计微信开放平台HTTP/OPENWEIXINQQCOM选择开发者注册登陆,登记应用WECHAT_STUDY,填写相关信息1申请你的APPID到开发者应用登记页面进行登记,登记并选择移动应用进行设置后,将获得APPID,可立即用于开发。但应用登记完成后还需要提交审核,只有审核通过的应用才能正式发布使用。图1申请界面图2注册页面图3注册应用图4开发工具图5这个APPID在开发的时候会用到图6下载签名生成工具,获取认证2下载微信终端开发工具包开发工具包主要包含3部分内容(其中,只有LIBAMMSDKJAR是必须的)LIBAMMSDKJAR(每个第三方应用必须要导入该SDK库,用于实现与微信的通信)API文档(供开发者查阅使用)界面小工具源码(封装了界面表现的工具类,以及一些界面风格)3搭建开发环境1在ECLIPSE中建立你的工程。2在工程中新建一个LIBS目录,将开发工具包中LIBS目录下的LIBAMMSDKJAR复制到该目录中(如下图所示,建立了一个名为SDK_SAMPLE的工程,并把JAR包复制到LIBS目录下)。图7开发包3右键单击工程,选择BUILDPATH中的CONFIGUREBUILDPATH,选中LIBRARIES这个TAB,并通过ADDJARS导入工程LIBS目录下的LIBAMMSDKJAR文件。(如下图所示)。图8导入文件在你需要使用微信终端API的文件中导入相应的类。IMPORTCOMTENCENTMMSDKOPENAPIWXTEXTOBJECT4在代码中使用开发工具包1注册到微信要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的ID。(如下图所示,可以在程序入口ACTIVITY的ONCREATE回调函数处,或其他合适的地方将你的应用ID注册到微信。注册函数示例如下图所示。图9注册代码2发送请求或响应到微信现在,你的程序要发送请求或发送响应到微信终端,可以通过IWXAPI的SENDREQ和SENDRESP两个方法来实现。BOOLEANSENDREQBASEREQREQSENDREQ是第三方APP主动发送消息给微信,发送完成之后会切回到第三方APP界面。BOOLEANSENDRESPBASERESPRESPSENDRESP是微信向第三方APP请求数据,第三方APP回应数据之后会切回到微信界面。图10SENDREQ的实现示例,如下图所示需要注意的是,SENDMESSAGETOWXREQ的SCENE成员,如果SCENE填WXSCENESESSION,那么消息会发送至微信的会话内。如果SCENE填WXSCENETIMELINE(微信42以上支持,如果需要检查微信版本支持API的情况,可调用IWXAPI的GETWXAPPSUPPORTAPI方法,0X21020001及以上支持发送朋友圈),那么消息会发送至朋友圈。SCENE默认值为WXSCENESESSION。图11SENDRESP的实现与SENDREQ类似,如上图所示具体要发送的内容由第三方APP开发者定义,具体可参考微信开发工具包中的SDKSAMPLEDEMO源码。3接收微信的请求及返回值如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作A在你的包名相应目录下新建一个WXAPI目录,并在该WXAPI目录下新增一个WXENTRYACTIVITY类,该类继承自ACTIVITY(例如应用程序的包名为NETSOURCEFORGESIMCPUX,则新添加的类如下图所示)图49图12(例如应用程序的包名为NETSOURCEFORGESIMCPUX,则新添加的类如下图所示)并在MANIFEST文件里面加上EXPORTED属性,设置为TRUE,例如图13属性设置B实现IWXAPIEVENTHANDLER接口,微信发送的请求将回调到ONREQ方法,发送到微信请求的响应结果将回调到ONRESP方法C在WXENTRYACTIVITY中将接收到的INTENT及实现了IWXAPIEVENTHANDLER接口的对象传递给IWXAPI接口的HANDLEINTENT方法,示例如下图当微信发送请求到你的应用,将通过IWXAPIEVENTHANDLER接口的ONREQ方法进行回调,类似的,应用请求微信的响应结果将通过ONRESP回调。5详细设计51界面设计根据需求分析可以知道,应用程序应该包含三个主要的用户界面,这里需要进一步分析每个用户界面中应该包括哪些显示内容。在主界面中,我们应当显示出程序所具备的功能,其中包括分享信息给我的好友,分享信息到我的朋友圈,拍照,相册,分享照片给我的好友,分享照片到我的朋友圈。点击拍照,我们能进入拍照功能,显示拍出的照片,并选取所需的照片,选择对它进行操作。点击信息,我们应该弹出微信,选择你想要聊天的好友,编辑你想要分享的文字。52程序结构设计开机拍照选择好友发布给微信好友发布到微信个人主页发送信息登录微信发布信息并编辑登录微信照片处理返回本应用返回本应用图14系统流程图这是此程序的流程图。从功能上本系统主要分为两个摸块,从流程图中不难看出,程序的核心是把分享的内容发送到微信上,程序设计了两个选取对象,用户可以把想要分享的内容发送给好友,或是发送到朋友圈。用户在本程序上编辑好需要的内容,选取发送的对象,软件会自动切换到微信,将内容发送,用户登录微信就能看见所分享的内容。6系统功能实现本系统的实际操作功能如下图所示图15系统主界面用户可以选取主界面所含内容进行操作,其中功能下面的白框是用户拍摄或选取照片的预览框,用户可以在这看见自己选择的照片7软件测试至此已经完成了程序的代码编写工作,在这一章节对程序进行测试,步骤及结果如下(1)安装WECHAT_STUDY软件和微信软件将工程名为WECHAT_STUDY的工程从ECLIPSE里导出名为WECHAT_STUDY的APK,将此APK安装于手机上,手机上将显示此应用程序。在HTTP/WWWDUOTECOM/SOFT/30690HTML可以下载微信程序至手机。如下图所示图16软件图标(2)启动WECHAT_STUDY应用程序同时开启手机移动网络点击名为“WECHAT_STUDY的机器人图标”,进入此应用的主界面。如下图所示图17软件主界面(3)信息分享好友点击“分享信息给我的好友”,将会自动进入微信程序,选择你想要发送的好友,弹出信息编辑框,输入你想要发送的文字,点击分享,信息将发送给你选择的好友。如下图所示图18信息编辑界面图19分享信息(4)信息分享到朋友圈点击“分享信息到我的朋友圈”,将会弹出信息编辑框,输入你想要发送的文字,点击分享,信息将发送到朋友圈内。如下图所示图20图片信息编辑界面图21信息分享好友圈(5)拍照,选择照片点击拍照,系统将会自动启动相机功能,拍下你所喜爱的照片,拍下后系统会提示你“完成”或是“重拍”,点击重拍将重新拍照,点击完成照片将出现在主界面的相框里。也可以点击相册,从相册里选择你喜爱的照片。如下图所示图22拍摄界面图23照片显示界面图24相册界面(6)照片分享好友点击“分享照片给我的好友”,将会自动进入微信程序,选择想要发送的好友,弹出编辑框,在这可以看见选择的照片同时可以加以评论,点击分享,内容将会发送给你选择的好友。如下图所示图25照片编辑界面图26照片分享好友(7)照片分享到朋友圈点击“分享照片到我的朋友圈”,将会弹出编辑框,可以看见拍摄的照片,同时可以添加评论,点击分享,内容将会发送到朋友圈。如下图所示图27相册选取照片图28照片分享好友圈(8)长按显示页面并拖动到垃圾箱,即可将程序删除。总结经过数个月的努力,ANDROID平台微信开放平台软件终于完成了。在开题报告阶段我参阅了大量的中外文献,对所开发系统的现状,国际发展情况以及未来发展趋势有了深入的了解;在整个系统的需求分析过程中对开发前期工作的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论