Cocos2d-x   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cocos2dx安卓第三方登录支付sdk接入大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一般来说,只要要接入一个登录支付sdk,按技术文档的要求接入就可以了。但是我们用的是cocos2dx,也就是要和java交互。所以我们需要清楚两样技术 ,jni和thread。

jni

jni是java与c/c++交互的桥梁,所以我们很有必要先了解jni这个技术。其实里面也是非常简单的。

例如你想要在c/c++这边new一个java类对象的话,要做的事情就是先获取到这个类,再用这个类创建你想要的对象,想要调用这个类中的方法就用这个类对象去调用。需要注意的就是两个不同语言中的相同的部分,就只有jni中定义的几个基本数据类型。所以你想要通信整个对象这是实现不了的。就连字串也是不可以的。不过jni里面有对字串操作的函数简化了字串的操作。

java 要调用c/c++的话就只能调用c/c++实现的函数了,没有提供可以在java中生成一个c++对象的能力。


thread

对于线程大家都知道,操作ui要在主线程中进行。但是问题就出来了,cocos2dx的glview也是一条线程,而且是一条子线程。为什么这又可以行得通呢。这里我们先回忆下我们在New一个runnable的时候用到了外层的变量,这时,eclipse就会要求这个外层的变量要声明为final的。为什么要这样呢,因为不同线程中读取同一个内存地址是可行的,但是不可以写操作。所以定义为final就可以不用加锁了。回到一开始的问题为什么两个不同的线程都可以操作ui。没错,就是因为两条线程是独立的,它们没有同时写操作同一块内存。这就可以说明了他们各自是操作着两个相互独立的渲染上下文。所以我们以前会经常听到,“一般不会在子线程操作ui。”而没有听到“只可以在主线程操作ui”。好了讲明白这些有什么用呢,明显就是因为cocos2dx和我们要接入的sdk它们是运行在不同的两个线程当中啦。而且它们两条线程都有自己的渲染上下文。所以这里你就要清楚的了解anrodi.os中提供的Handler了的。



Sdk的一般的操作流程。

登录流程:

支付流程:


一般的登录支付sdk都是这样的一个流程,但是这不是绝对的,不过因为我们要做到统一所以就算不是这个流程也是会适配到这个流程中去。

验证过程

这个过程无非都是md5的校验而已,里面可能会涉及一些urlencode的问题。因为各个后台实现的语言都不一样,就不多说了。

大佬总结

以上是大佬教程为你收集整理的cocos2dx安卓第三方登录支付sdk接入全部内容,希望文章能够帮你解决cocos2dx安卓第三方登录支付sdk接入所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。