关键字:微信开放平台   Android第三方应用接入微信

微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台,

毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可

以节约很多在社交方面的开销,我最近由于实习需要也在研究这个东西,

不过发现网上的相关资料还是挺少的,这里把我的整个研究情况给出来,希

望可以共同学习。

一、微信SDK中会用到主要类的类图

上面这张类图中显示的是与微信通信过程中的请求类和响应类,第三方应用通过他们

附带的message字段来携带消息传输给微信进程。其中BaseResp有个内部类是ErrCode,

它里面定义了几个常量字段,当我们向微信发送请求后它会作为返回字段

返回到我们的应用中来,我们可以根据这个做相应的处理,在后面的时序图中将会提

到。接下来就是SDK中的message对象了。

上面这个类图主要是消息对象,里面有一个字段来引用媒体对象,这些媒体对象就

是我们所能传给微信的对象。有了消息对象和媒体对象,接下来要给出的就是将消

息对象送出去的通信类了。

上面的IWXAPI就是所说的通信类,所有与微信进行通信的工作都是他在做,而他的

生成是由下面的工厂类来完成。旁边的IWXAPIEventHandler接口是需要第三方应用

来实现的,如果我们想处理微信的请求信息或是我们向他发请求后他返回的标识字段。

二、第三方应用与微信通信的时序图

1、向微信发送消息

应用只需要进行一次注册就行了,然后在以后的使用中只需要封装消息,让通信类

发送即可。从前面的类图中可以看到,封装消息的顺序是首先生成需要发送的媒体

对象,然后将媒体对象附加到消息对象中,接着建立请求对象,最后使用通信类发

送即可。代码如下所示:

下面给出几张效果图:

程序进入后

注册后载点击发送,微信给出好友列表

选择一个好友,出现附加的消息编辑界面,可不填任何东西

点击share,可返回第三方应用,同时在好友微信中会收到所发消息

这里补充一点就是图中的框框就是微信自己定义的消息对象显示外表,非第三方应用定义,

与上一张图对比即可知道。

暂时这个就说到这,好像这个博客一篇扛不住那么多东西啊,剩下的在后面的

文章中给出,谢谢。

因为我自己写的demo都在实习结束后丢失了,所以给一个官方的demo下载,如果有不清楚的可以交流

微信测试demo

第三方应用接入微信平台(2)

注:本博客的原创文章欢迎转载,但是请注明转载地址,否则将追究法律责任,

谢谢合作,希望共同学习。

Android 第三方应用接入微信平台(1)的更多相关文章

  1. Android 第三方应用接入微信平台(2)

    微信平台开放后倒是挺火的,许多第三方应用都想试下,毕竟可以利用微信 建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方 面的开销,我最近由于实习需要也在研究这个东西,不过发现网上的相关 ...

  2. Android 第三方应用接入微信平台研究情况分享

    微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的 最近由于实习需要也在研究这个东西,这里把我的整个研究情况给出来 微信平台 ...

  3. [转] Android进阶——安卓接入微信,获取OpenID

    PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/hao ...

  4. 详解如何进行第三方App接入微信登录

    微信登录接入 微信登录遵循协议Aouth2.0中的授权码模式 我们来看一下Aouth2.0中的授权码模式是怎么定义的: 授权码模式(authorization code)是功能最完整.流程最严密的授权 ...

  5. Android App接入微信开放平台注意事项

    一.Android第三方应用接入微信开放平台的注意事项: 1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名.app签名的md5值.至于如何获取app签名信息,官方提供签名包apk ...

  6. 友盟分享——Android App接入微信开放平台注意事项

    一.Android第三方应用接入微信开放平台的注意事项: 1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名.app签名的md5值.至于如何获取app签名信息,官方提供签名包apk ...

  7. 微信平台ASPX高级定制开发(一):如何使用C#建立响应微信接入和自动回复的代码

    微信平台不解释了,如果不了解的百度一下下,如果不会用微信,请自宫,光盘重启电脑,打开CMD输入Format C:.网上有很多针对企业级的高级定制ASPX开发,写得草草了事,很多男人干事都草草了事,这可 ...

  8. 如何实现从Android第三方平台推送微信公众号

    最近心血来潮,想要尝试写写有关实现Android平台第三方应用软件去跳转到微信平台的代码.我只是先暂时写写我的思路,如后期实现,便将主要代码附上. 微信公众平台官方宣布微信沟通接口正式上线,用户可以在 ...

  9. 第三方平台正式支持接入微信公众平台JS-SDK

    之前微信公众平台面向开发者开放微信内网页开发工具包,现在第三方平台也能正式支持接入微信公众平台JS-SDK了,第三方平台可以在获得公众号的授权后,通过JS-SDK帮助公众号开发和实现网页业务. 公众号 ...

随机推荐

  1. [ActionScript 3] 本地安全沙箱问题最快解决方法

    使用FLex4.0时, Chrome等浏览器会报 安全水箱问题.....   解决方案: 打开flash全局安全配置面板并在页面中的配置面板中添加可信任的swf文件或者文件夹: 若是记不住全局安全配置 ...

  2. win8 获取管理员权限

    Win8 下动不动 就弹出要管理员权限什么.......   网上找到很多方法.  什么注册表什么..... 不行..   以下这个方法可行. 按WIN+R,运行对话框中输入gpedit.msc,开启 ...

  3. 2014_GCJ_A

    题目链接:http://code.google.com/codejam/contest/2984486/dashboard#s=p0 最想吐槽的是想些DFS过小数据,居然写不出来,不知道我这半年的AC ...

  4. javascript设计模式-迭代器模式(Iterator)

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 高德地图根据经纬度转换成地址JS代码demo

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  6. POJ 2010

    Moo University - Financial Aid Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4235   A ...

  7. GridControl Find/Clear 添加图标

    public static void ControlFind(GridControl grid) { FindControl fControl = null; foreach (Control ite ...

  8. 深入浅出ES6(九):学习Babel和Broccoli,马上就用ES6

    作者 Jason Orendorff  github主页  https://github.com/jorendorff 现在,我们将向你分步展示如何做到的这一切.上面提及的工具被称为转译器,你可以将它 ...

  9. java集合之ArrayList的实现原理

    1. ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部 ...

  10. MYSQL 遭遇 THE TOTAL NUMBER OF LOCKS EXCEEDS THE LOCK TABLE SIZE

    今天进行MySql 一个表数据的清理,经过漫长等待后出现 The total number of locks exceeds the lock table size 提示.以为是table_cache ...