http://open.weixin.qq.com/document/gettingstart/android/

注:本文为微信Android终端开发工具的新手使用教程,只涉及教授SDK的使用方法,默认读者已经熟悉IDE的基本使用方法(本文以Eclipse为例),以及具有一定的编程知识基础等。

1.申请你的AppID

请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将获得AppID,可立即用于开发。但应用登记完成后还需要提交审核,只有审核通过的应用才能正式发布使用。

2.下载微信终端开发工具包

开发工具包主要包含3部分内容:(其中,只有libammsdk.jar是必须的)

  • libammsdk.jar(每个第三方应用必须要导入该sdk库,用于实现与微信的通信)
  • API文档(供开发者查阅使用)
  • 界面小工具源码(封装了界面表现的工具类,以及一些界面风格)

下载: Android平台开发工具包

3.搭建开发环境

[1] 在Eclipse中建立你的工程。

[2] 在工程中新建一个libs目录,将开发工具包中libs目录下的libammsdk.jar复制到该目录中(如下图所示,建立了一个名为SDK_Sample 的工程,并把jar包复制到libs目录下)。

[3] 右键单击工程,选择Build Path中的Configure Build Path...,选中Libraries这个tab,并通过Add Jars...导入工程libs目录下的libammsdk.jar文件。(如下图所示)。

在你需要使用微信终端API的文件中导入相应的类。

import com.tencent.mm.sdk.openapi.WXTextObject;

4.在代码中使用开发工具包

[1] 注册到微信

要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。(如下图所示,可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用id注册到微信。注册函数示例如下图所示。

[2] 发送请求或响应到微信

现在,你的程序要发送请求或发送响应到微信终端,可以通过IWXAPI的 sendReq 和 sendResp 两个方法来实现。

boolean sendReq(BaseReq req);

sendReq是第三方app主动发送消息给微信,发送完成之后会切回到第三方app界面。

boolean sendResp(BaseResp resp);

sendResp是微信向第三方app请求数据,第三方app回应数据之后会切回到微信界面。

sendReq的实现示例,如下图所示:

sendResp的实现与SendReq类似,如下图所示:

具体要发送的内容由第三方app开发者定义,具体可参考微信开发工具包中的SDK Sample Demo源码。

[3] 接收微信的请求及返回值

如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作:

a. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity

(例如应用程序的包名为net.sourceforge.simcpux,则新添加的类如下图所示)

并在manifest文件里面加上exported属性,设置为true,例如:

b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法

c. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下图:

当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。

注意

如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:

-keep class com.tencent.mm.sdk.openapi.WXMediaMessage {*;}

-keep class com.tencent.mm.sdk.openapi.** implements com.tencent.mm.sdk.openapi.WXMediaMessage$IMediaObject {*;}

至此,你已经能使用微信Android开发工具包的API内容了。如果想更详细了解每个API函数的用法,请查阅 Android 平台参考手册 或自行下载阅读微信SDK Sample Demo源码。

微信SDK Sample Demo源码

转载于:https://blog.51cto.com/kaizen/912544

微信Android终端SDK新手使用指南相关推荐

  1. 微信WP8 终端SDK新手使用指南

    微信WP8 终端SDK新手使用指南 注:本文为微信WP8终端开发工具的新手使用教程,只涉及教授SDK的使用方法,默认读者已经熟悉VS2012的基本使用方法,以及具有一定的编程知识基础等. 1.申请你的 ...

  2. Tinker -- 微信Android热补丁方案 接入指南

    这两年来热修复对与移动开发是比较热门的话题,  HotFix  能做什么?他可以在用户无感知的情况下,后台修复出现的 bug,不需要通过升级发版新App,对用户体验来说是很大的提升,因为频繁发版的话, ...

  3. 微信 Android 终端内存优化实践

    前言 内存问题是软件领域的经典问题,平时藏得很深,在出现问题之前没太多征兆.而一旦爆发问题,问题来源的多样.不易重现.现场信息少.难以定位等困难,就会让人头疼不已. 微信在过去 N 多的版本迭代中,经 ...

  4. 微信开发者接入php,微信开发系之新手接入指南

    首先,开发者在接入时,微信服务器将发送get请求到你填写的url上,此请求携带四个参数,分别signature(微信加密签名,signature结合了开发者填写的token参数和请求中的timesta ...

  5. 2D高德Android地图SDK 新手入门的com.amap.api.maps.MapView的坑

    昨天搞了一晚上,想把2D的高德地图加到自己的APP中.按着入门教程,搞了好久,代码都是从教程里面拷过来的,结果却运行不了,说是找不到com.amap.api.maps.MapView,在程序加载lay ...

  6. Android App支付:支付宝SDK接入详细指南(附官方支付demo)

    Android App支付:支付宝SDK接入详细指南(附官方支付demo) 前言 一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多 ...

  7. C#微信公众号开发系列教程二(新手接入指南)

    此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可直接跳过,也欢迎大神吐槽. 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教 ...

  8. Vue - 判断终端是否为:IE内核、opera内核、苹果、谷歌内核、火狐内核、是否为移动终端、ios终端、android终端、是否为iPhone或者QQHD浏览器、是否iPad、是否微信、是否QQ

    前言 在 Vue 项目中,您可能需要判断用户使用的设备,来适应不同的操作. 本文示例,可帮助您判断是否是: IE内核.opera内核.苹果.谷歌内核.火狐内核.是否为移动终端.ios终端.androi ...

  9. android微信解析失败,微信开放平台sdk解析失败

    时间:2017年7月20日 14:00左右,重新编译了一下Android Studio,报出了一个匪夷所思的错误: 早上还好好的,为啥下午就莫名其妙报出这个错误呢.看错误内容,应该是AS找不到指定的依 ...

最新文章

  1. IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc
  2. H3CTE京东翰林讲师分享实验2 网络设备基本调试
  3. 微软警告称Flame病毒利用Windows漏洞
  4. Install matplotlib Error: src/ft2font.h:16:22: fatal error: ft2build.h: No such file or directory
  5. 基于单片机的超市储物柜设计_基于51单片机对电子储物柜系统的设计
  6. mesos-master启动失败,报错Failed to load unknown flag 'quorum.rpmsave'
  7. 使用UAA OAuth2授权服务器–客户端和资源
  8. 160 - 5 ajj.2
  9. LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)
  10. run as date怎么用_熟词僻义 | date是一种什么水果?
  11. 三元函数的几何图形一般是_多元函数微分学_高等数学习题与答案_doc_大学课件预览_高等教育资讯网...
  12. 如何进行 JVM 调优
  13. 安装WIN 7 64位Windows6.1-KB2999226-x64.msu
  14. html 数字加圆圈,word中圆圈数字,圆圈11怎么打
  15. 努力不是为了追赶别人,只是为了超越自己
  16. Simulink Solver
  17. signature=d601b7b6eb512df6319aad970c9aaeab,Excise Tax Return Serial Number 97-17 971101 971115
  18. java读取ppm图片_C++ 输出PPM格式图片文件
  19. 东北大学C语言课程题库题解专栏目录
  20. day21-学习总结

热门文章

  1. Python学习笔记--8.6 函数--递归
  2. ssm整合之web.xml配置
  3. mysql master or master copy
  4. php内核探索 [转]
  5. Oracle体系结构四(学习笔记)
  6. Linux(centos)系统各个目录的作用详解
  7. Android共享电脑上网
  8. 手把手教你用直方图、饼图和条形图做数据分析(Python代码)
  9. 致敬百年南开!南开大学作译者30本必读经典著作
  10. Python实操:手把手教你用Matplotlib把数据画出来