就看微信现在这么火的样子,如果你的APP不接入微信的SDK好像就有点脱离了时代大车轮一样。一个成功的APP,不单单凭借着一个好的想法,一个好的功能,最主要还是用户量。用户量就好像是水,我们的APP就一艘船,而好的推广就像是好的帆。这艘船我可以造得很大,很华丽,但是少了水,我们仅仅是摆设;少了帆,我们仅仅靠桨来划,速度也太慢。因此接入微信SDK的功能也是必不可少,相信有点才能的领导都会要求加上这一个功能。好了,言归正传,正式开始手把手教你简单接入微信SDK。
1.首先我们需要建立一个android测试程序。(包名在微信开放平台的)
2.去微信开放平台注册一个账号(这步比较关键)
1)创建测试应用
2)填写平台信息
3)如何获取应用签名
需要 微信提供的签名生成工具 --android资源下载---签名生成工具---Gen_Signature_Android221cbf.apk
然后用自己的程序生成一个 签好名的apk
手机中分别按照Gen_Signature_Android221cbf.apk及签名test的apk
黄色那一串就是我们申请的 应用签名--填入之后等待审批即可。
以下是审批通过后的--
AppID:wxe82701fa4942a307(这个比较重要。需要引入到程序中,创建微信api的实例)
接着将 libammsdk.jar 微信的jar包导入到项目的lib中。。通过简单的引用,再使用之前keystore进行签名发布。即可简单调用微信api.
如果更多的功能需要拓展,请参照微信开放平台的开发文档。我在这也只是简单抛砖引玉,请大牛不要见怪。
1 package com.healthtree.test;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.View;
6 import android.view.View.OnClickListener;
7 import android.widget.Button;
8
9 import com.healthtree_testwx.R;
10 import com.tencent.mm.sdk.modelmsg.SendMessageToWX;
11 import com.tencent.mm.sdk.modelmsg.WXMediaMessage;
12 import com.tencent.mm.sdk.modelmsg.WXTextObject;
13 import com.tencent.mm.sdk.openapi.IWXAPI;
14 import com.tencent.mm.sdk.openapi.WXAPIFactory;
15
16 public class MainActivity extends Activity implements OnClickListener{
17
18 private Button btn_share;
19 private IWXAPI api;
20
21 private String text="abcd";
22
23 private static final String APP_ID = "wxe82701fa4942a307";
24
25 @Override
26 protected void onCreate(Bundle savedInstanceState) {
27 // TODO Auto-generated method stub
28 super.onCreate(savedInstanceState);
29
30 setContentView(R.layout.activity_main);
31
32 btn_share=(Button) findViewById(R.id.btn_share);
33 btn_share.setOnClickListener(this);
34
35 api = WXAPIFactory.createWXAPI(this, APP_ID, true);
36 api.registerApp(APP_ID);
37 }
38
39 @Override
40 public void onClick(View v) {
41 switch (v.getId()) {
42 case R.id.btn_share:
43
44 // 初始化一个WXTextObject对象
45 WXTextObject textObj = new WXTextObject();
46 textObj.text = text;
47
48 // 用WXTextObject对象初始化一个WXMediaMessage对象
49 WXMediaMessage msg = new WXMediaMessage();
50 msg.mediaObject = textObj;
51 // 发送文本类型的消息时,title字段不起作用
52 // msg.title = "Will be ignored";
53 msg.description = text;
54
55 // 构造一个Req
56 SendMessageToWX.Req req = new SendMessageToWX.Req();
57 req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求
58 req.message = msg;
59 req.scene = SendMessageToWX.Req.WXSceneTimeline;
60
61 // 调用api接口发送数据到微信
62 api.sendReq(req);
63 //finish();
64
65 break;
66
67 default:
68 break;
69 }
70
71 }
72
73 private String buildTransaction(final String type) {
74 return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
75 }
76 }