Android 第三方应用接入微信平台(1)
微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台,
毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可
以节约很多在社交方面的开销,我最近由于实习需要也在研究这个东西,
不过发现网上的相关资料还是挺少的,这里把我的整个研究情况给出来,希
望可以共同学习。
一、微信SDK中会用到主要类的类图

上面这张类图中显示的是与微信通信过程中的请求类和响应类,第三方应用通过他们
附带的message字段来携带消息传输给微信进程。其中BaseResp有个内部类是ErrCode,
它里面定义了几个常量字段,当我们向微信发送请求后它会作为返回字段
返回到我们的应用中来,我们可以根据这个做相应的处理,在后面的时序图中将会提
到。接下来就是SDK中的message对象了。

上面这个类图主要是消息对象,里面有一个字段来引用媒体对象,这些媒体对象就
是我们所能传给微信的对象。有了消息对象和媒体对象,接下来要给出的就是将消
息对象送出去的通信类了。

上面的IWXAPI就是所说的通信类,所有与微信进行通信的工作都是他在做,而他的
生成是由下面的工厂类来完成。旁边的IWXAPIEventHandler接口是需要第三方应用
来实现的,如果我们想处理微信的请求信息或是我们向他发请求后他返回的标识字段。
二、第三方应用与微信通信的时序图
1、向微信发送消息

应用只需要进行一次注册就行了,然后在以后的使用中只需要封装消息,让通信类
发送即可。从前面的类图中可以看到,封装消息的顺序是首先生成需要发送的媒体
对象,然后将媒体对象附加到消息对象中,接着建立请求对象,最后使用通信类发
送即可。代码如下所示:


下面给出几张效果图:
程序进入后

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

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

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

这里补充一点就是图中的框框就是微信自己定义的消息对象显示外表,非第三方应用定义,
与上一张图对比即可知道。
暂时这个就说到这,好像这个博客一篇扛不住那么多东西啊,剩下的在后面的
文章中给出,谢谢。
因为我自己写的demo都在实习结束后丢失了,所以给一个官方的demo下载,如果有不清楚的可以交流
注:本博客的原创文章欢迎转载,但是请注明转载地址,否则将追究法律责任,
谢谢合作,希望共同学习。
Android 第三方应用接入微信平台(1)的更多相关文章
- Android 第三方应用接入微信平台(2)
微信平台开放后倒是挺火的,许多第三方应用都想试下,毕竟可以利用微信 建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方 面的开销,我最近由于实习需要也在研究这个东西,不过发现网上的相关 ...
- Android 第三方应用接入微信平台研究情况分享
微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的 最近由于实习需要也在研究这个东西,这里把我的整个研究情况给出来 微信平台 ...
- [转] Android进阶——安卓接入微信,获取OpenID
PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/hao ...
- 详解如何进行第三方App接入微信登录
微信登录接入 微信登录遵循协议Aouth2.0中的授权码模式 我们来看一下Aouth2.0中的授权码模式是怎么定义的: 授权码模式(authorization code)是功能最完整.流程最严密的授权 ...
- Android App接入微信开放平台注意事项
一.Android第三方应用接入微信开放平台的注意事项: 1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名.app签名的md5值.至于如何获取app签名信息,官方提供签名包apk ...
- 友盟分享——Android App接入微信开放平台注意事项
一.Android第三方应用接入微信开放平台的注意事项: 1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名.app签名的md5值.至于如何获取app签名信息,官方提供签名包apk ...
- 微信平台ASPX高级定制开发(一):如何使用C#建立响应微信接入和自动回复的代码
微信平台不解释了,如果不了解的百度一下下,如果不会用微信,请自宫,光盘重启电脑,打开CMD输入Format C:.网上有很多针对企业级的高级定制ASPX开发,写得草草了事,很多男人干事都草草了事,这可 ...
- 如何实现从Android第三方平台推送微信公众号
最近心血来潮,想要尝试写写有关实现Android平台第三方应用软件去跳转到微信平台的代码.我只是先暂时写写我的思路,如后期实现,便将主要代码附上. 微信公众平台官方宣布微信沟通接口正式上线,用户可以在 ...
- 第三方平台正式支持接入微信公众平台JS-SDK
之前微信公众平台面向开发者开放微信内网页开发工具包,现在第三方平台也能正式支持接入微信公众平台JS-SDK了,第三方平台可以在获得公众号的授权后,通过JS-SDK帮助公众号开发和实现网页业务. 公众号 ...
随机推荐
- Python中__init__方法/__name__系统变量讲解
__init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的初始化. 代码例子 test.py#!/usr/bin/python# Filename: class_i ...
- 几个Google中国的访问IP
前面几个IP的访问速度比较快. 74.125.31.106 173.194.45.20 173.194.45.19 173.194.45.18 173.194.45.17 173.194.45.16 ...
- mybatis处理查询map列表属性为null的问题,而导致查询map无该key对象
1.常规处理方法(数据库以mysql为例) IFNULL(m.last_use_time,) ) ) as last_lat if判断是否为null,设置一个默认值. 2.前台jsp页面处理,判断是否 ...
- 7 天玩转 ASP.NET MVC — 第 7 天
目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 今天是开心的一天.因为我们终于来到了系列学习的最后一节.我相信你喜欢之前的课程,并从中学到了许多. ...
- 游戏引擎网络开发者的64做与不做(二A):协议与API
[编者按]在这个系列之前的文章"游戏引擎网络开发者的64做与不做(一):客户端方面"中,Sergey介绍了游戏引擎添加网络支持时在客户端方面的注意点.本文,Sergey则将结合实战 ...
- codeforces 439D Devu and Partitioning of the Array(有深度的模拟)
题目 //参考了网上的代码 注意答案可能超过32位 //要达成目标,就是要所有数列a的都比数列b的要小或者等于 //然后,要使最小的要和最大的一样大,就要移动(大-小)步, //要使较小的要和较大的一 ...
- 2014多校第六场 1007 || HDU 4927 Series 1(杨辉三角组合数)
题目链接 题意 : n个数,每操作一次就变成n-1个数,最后变成一个数,输出这个数,操作是指后一个数减前一个数得到的数写下来. 思路 : 找出几个数,算得时候先不要算出来,用式子代替,例如: 1 2 ...
- hdu2025查找最大元素
#include<iostream> #include<stdio.h> #include<math.h> #include<stdlib.h> #in ...
- 字符模型和Windows等价程序
二者很明显的区别,dos和gui 字符模式模型 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]){ print ...
- lintcode:形状工厂
题目 工厂模式是一种常见的设计模式.实现一个形状工厂 ShapeFactory 来创建不同的形状类.这里我们假设只有三角形,正方形和矩形三种形状. 样例 ShapeFactory sf = new S ...