• quick-cocos2d-x 调用友盟(UMeng)的社区分享(Android平台)


    按照官方的教程,正确配置环境。

    我把那些依赖jar包通过build_path加载到项目中会报错。说sourceType是ClassDefNotFound。

    然后直接把libs复制到项目里面,就解决问题了。但是编译的时候没有错,运行时会报这个错,没搞懂。

    quick那边模仿luajavabridge、写一段调用代码:

     1 local javaClassName = "com.yourclass.name.MainActivity"
     2                 local javaMethodName = "callUMengSDK"
     3                 local javaParams = {
     4                     "params1",
     5                     "params2",
     6                     function(event)
     7                         callbackMethod(event)
     8                         printf("Java method callback value is [%s]", event)
     9                     end
    10                 }
    11                 local javaMethodSig = "(Ljava/lang/String;Ljava/lang/String;I)V"
    12                 luaj.callStaticMethod(javaClassName, javaMethodName, javaParams, javaMethodSig)

    贴上android客户端的接口:(主要是一个静态的调用方法)

     1     public static void callUMengSDK(final String title, final String message,
     2             final int luaCallbackFunction)
     3     {
     4         s_instance.runOnUiThread(new Runnable() {
     5             @Override
     6             public void run() 
     7             {
     8                 //注册监听
     9                 mController.registerListener(new SnsPostListener() 
    10                 {
    11                     @Override
    12                     public void onStart() 
    13                     {
    14                         Toast.makeText(s_instance, "xxxx分享开始", Toast.LENGTH_SHORT).show();
    15                     }
    16                     
    17                     @Override
    18                     public void onComplete(SHARE_MEDIA platform, int eCode,SocializeEntity entity) 
    19                     {
    20                         if(eCode == 200)
    21                         {
    22                             Toast.makeText(s_instance, "yyyy分享成功", Toast.LENGTH_SHORT).show();
    23                             s_instance.runOnGLThread(new Runnable() {
    24                                 @Override
    25                                 public void run() {
    26                                     Cocos2dxLuaJavaBridge.callLuaFunctionWithString(
    27                                             luaCallbackFunction,
    28                                             "分享咯~~哇哇哇");
    29                                     Cocos2dxLuaJavaBridge.releaseLuaFunction(luaCallbackFunction);
    30                                 }
    31                             });
    32                         }else
    33                         {
    34                             Toast.makeText(s_instance, "分享失败、你懂得~", Toast.LENGTH_SHORT).show();
    35                             s_instance.runOnGLThread(new Runnable() {
    36                                 @Override
    37                                 public void run() {
    38                                     Cocos2dxLuaJavaBridge.callLuaFunctionWithString(
    39                                             luaCallbackFunction,
    40                                             "分享失败~~JJoo");
    41                                     Cocos2dxLuaJavaBridge.releaseLuaFunction(luaCallbackFunction);
    42                                 }
    43                             });
    44                         }
    45                     }
    46                 });
    47                 
    48                 
    49                 mController.setShareContent("来自程序猴子的分享~~~");
    50 //                mController.setShareMedia(new UMImage(s_instance, 
    51 //                                                      "http://www.umeng.com/images/pic/banner_module_social.png"));
    52                 mController.setShareMedia(new UMImage(s_instance, new File("/storage/sdcard0/picture_final/pic.jpg")));
    53                 mController.openShare(s_instance, false);  
    54             }
    55         }); 
    56     }

    上面的分享,既可以分享网络URL的图片,也可以分享本地的截图图片。

    需要注意的是:注册监听的时候、用代码补全功能时,SnsPostListener找不到,我去。。。

    结果直接硬着头皮写完,报错也没有了。程序也对了。。。

  • 相关阅读:
    JQuery Ajax 在asp.net中使用总结
    直接拿来用!最火的Android开源项目(一)
    专访邓凡平:Android开发路上的快速学习之道
    C/C++使用心得:enum与int的相互转换
    学习汇编的第一步
    《汇编程序》王爽实验9的解法(显示的问题)
    《汇编程序》王爽实验10.2的解法
    GDB调试精粹及使用实例
    aptget 使用详解
    《汇编程序》王爽实验10.3的解法
  • 原文地址:https://www.cnblogs.com/vokie/p/3678244.html
Copyright © 2020-2023  润新知