手把手教你简单接入微信SDK
就看微信现在这么火的样子,如果你的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 }