androidStudio小记(3)_新建AS工程准备接入unity相关SDK

(1)新建AS工程-》Empty Activity
在这里插入图片描述packageName 要和Unity中的一致
在这里插入图片描述(2)删除layOut在这里插入图片描述(3)配置gradle:

buildscript {
    repositories {
        jcenter()
        google()
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
    }
}

在国内,加上 maven
(3)在unity的安装目录中找到"classes.jar”,或者直接用unity导出AS空工程,lib中copy :unity-classes.jar 到自己的AS工程中然后同步一下,就可以导入unity3d的库,直接继承了

import com.unity3d.player.*;
public class MainActivity extends UnityPlayerActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        new SDKService(this);
        new LoginDelegate(this);

    }
}

(4)接下来添加辅助的工具类:

package com.xyz.AndroidUnitySDK;

import android.app.Activity;
import android.util.Log;

import com.unity3d.player.UnityPlayer;

public class SDKService
{
    private  static  final  String TAG = "__1__SDK";

    private Activity context;
    private static  SDKService sInstance;

    public SDKService(final Activity pContext)
    {
        context = pContext;
        sInstance = this;
    }
    public static SDKService getInstance(){
        return  sInstance;
    }
    /**
     * Android 调用 unity的函数总入口
     * */
    public static void onCallResult(String json) {
        UnityPlayer.UnitySendMessage("Platform",
                "OnCallResult", json.toString());
    }
    public  void jniCall(String functionName,String json)
    {
        Log.d(TAG, "funcName = " + functionName + ";" + "json = " + json);
        if (functionName.equals("initSdk"))
        {
            initSdk(json);
        }
    }

    public void initSdk(String json)
    {
        context.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                
            }
        });
    }

此类是一个单例模式,实现unity和android之间的交互,的主要作用是:
接受来之unity的调用‘jniCall’函数
android调用unity的函数入口onCallResult

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值