Unity3d Android SDK接入解析(二)Unity3d Android SDK的设计与两种接入方式

本文详细介绍了Unity3d Android SDK的两种接入方式:导出Google项目和Unity插件形式。建议分开设计Android形式SDK(Library)和Unity形式SDK(Plugins),以适应项目SDK架构。文中通过具体步骤演示如何创建一个简单的Android SDK,包括如何不依赖Activity实现接口、获取上下文、资源读取等,并提供相关示例代码。同时,还展示了Unity工程的构建和导出过程。

一、前言


上篇说清楚了Unity和Android调用的方式,但很多实际接入的部分没有讲的很详细,因为重头在这篇,会详细讲述具体接入Android SDK的方式,和怎么去做一个方便Unity接入的SDK。

传送门:
前篇:Unity3d 与 Android之间的互相调用
http://blog.csdn.net/yang8456211/article/details/51331358
后篇:Unity3d Android SDK接入解析(三)接入Android Library的理解
http://blog.csdn.net/yang8456211/article/details/51435465
终篇:Unity3d Android SDK接入解析(四)通用的Android SDK接入中间件
http://blog.csdn.net/yang8456211/article/details/52231305

二、中篇:Unity3d Android SDK的设计与两种接入方式


(Android SDK的接入一般分为两种)

1)一种是把Unity的工程导出google project的形式进行接入
2)另一种是通过把Android的工程做成Plugins的形式进行接入

对比:

类别(形式) google project U3d Plugins
优点 容易理解、方便接入原生SDK、几乎所有SDK都可以接入 接入方便、容易在Unity中进行扩展与管理
缺点 接入比较繁琐,对U3d项目不友好 不是所有SDK都提供U3d Plugins形式
apk导出 Android IDE导出 Unity 导出

建议:

如果做一个sdk,还是推荐分开Android形式的SDK(可以是Library),与Unity3d形式的SDK(Plugins),因为一般项目会有自己的SDK架构,而让他们打破这个架构,导出Google project的形式进行接入,这无疑是很难被接受的。

下面我们就来说一下具体的操作:

首先我们会自己写一个SDK,并说明白其中的注意点,然后会用两种方式接入这个SDK。

2.1 一个简单Android SDK

这个SDK实现几个小功能,实现四个方法:

  • init方法,用来传入上下文
  • 传入两个数返回他们的和
  • 传入msg,弹出一个Toast提示
  • 弹出一个提示窗口,窗口需要的文字信息从strings.xml里面获取,点击确认关闭

先回答一个可能困惑大家问题:

1)实现SDK时一定要存在一个中间件Activity继承UnityPlayerActivity吗?

网上几乎所有教程都是这样教的,新建一个MyActivity,然后继承UnityPlayerActivity,在MyActivity里面写接口,然而根本没有讲清楚为什么要这样做。。

有关于这种方式的一些研究请看前篇:
http://blog.csdn.net/yang8456211/article/details/51331358

2)让我们抛弃MyActivity吧

对于1)的问题,答案是NO,简单说一下我的理解,只有当需要在Activity的生命周期中执行一些操作时,我们才需要一个中间Activity去完成这些与生命周期相关的操作,而其他情况下,一个Class足以。那就让我们开始吧:

  • 新建一个Android Project callAndroid

  • 删除其中MainActivity和activity_main.xml

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值