之前的两篇博客介绍了导出Jar以及Aar包供Unity调用的方式。
今天主要记录一下只是用C#来调用Android中接口的方式。只用C#的方式指的是真的只用C#,不需要导出什么这个包,那个包乱七八糟的东西,只写C#的代码,所以我把这种方式叫做以C#主导的方式。
首先先告诉大家这种方式的优点和缺点,大家看了之后再根据自己的实际情况进行选择。
优点:只写C#代码,不需要导出哪些乱七八糟的东西,十分的简单。
缺点:只能调用AndroidSDK中的类以及里面的方法,不能调用自定义的方法。
原理:因为我们在Unity中使用Android的东西的时候,Unity会帮我们把AndroidSDK打包到我们的发布的包里面,所以我们即使在一个纯Unity的环境的时候,还是可以使用AndroidSDK中的东西的。因为这一部分即使我们不从AndroidStudio中导出包,Unity也会帮我们做好的。
接下来列出几个例子来实际解释一下相关的情况:
①在Unity中使用Android的Log.e()函数将消息显示在Android的Logcat输出拦里面
首先我们需要在C#中使用的类:AndroidJavaClass。
为了方便给大家演示,我这里打开AndroidStudio,如果你对Android比较熟悉的话,可以不用打开。在AndroidStudio创建一个空的工程,在里面先使用一次log.d()函数,这个时候我们AndroidStudio会自动帮我们添加包:android。util.Log
这个包里面就会有Log类,而我们进入到d的声明里面,发现“d”是一个static类型,返回值类型为int,需要两个String类型参数的函数。