Cocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-Android編その2

Cocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-Android編その1の続き。
今回は前回作ったloginTwitter()をjniを使ってcocos2d-xから呼び出します。

jniを使える環境を整える


まずはjniを使えるようにします。
Xcodeでやったほうが楽だと思います。
ここのサイトがとてもわかり易いので見てください。
cocos2d-xでiOSとAndroidの処理を分ける
※Android.mkはproj.android>jniに有ります。

jniを使ってloginTwitter()を呼び出す

cocos2d-xでjniを使ってみるを参考にしながら進めていきます。
jniを使ったことがある人は特に迷うことは無いと思います。

NativeLauncher.h
#ifndef helloWorld_NativeLauncher_h
#define helloWorld_NativeLauncher_h

class NativeLauncher{
public:
    static void loginTwitter();
};

#endif

NativeLauncher.cpp
#include <jni.h>
#include "NativeLauncher.h"
#include "platform/android/jni/JniHelper.h"
using namespace cocos2d;

#define CLASS_NAME "org.cocos2dx.cpp.AppActivity"
void NativeLauncher::loginTwitter(){
    JniMethodInfo JMI;
    if (JniHelper::getStaticMethodInfo(JMI, CLASS_NAME, "loginTwitter", "()V")) {
        JMI.env->CallStaticVoidMethod(JMI.classID, JMI.methodID);
        JMI.env->DeleteLocalRef(JMI.classID);
    }
}

でCocos側から呼び出します。
#include "NativeLauncher.h"
//includeして、
//好きなところで呼ぶ
NativeLauncher::loginTwitter();


実行してloginTwitter()を呼び出して、ログイン画面が出て、

ログインした後にlogにsuccessと出れば成功です。

could not find class 'android.support.v4.util.lrucache
というエラーが出た場合、libの中にandroid-support-v4.jarを入れるとなおります。

続きCocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-Android編その3

コメント

このブログの人気の投稿

2次元配列のコピー::JavaScript

iframeの利点と欠点

chromyを実行するとエラー:"Failed to launch a browser"が出る