UM3L5——Unity中嵌入Android内容
UM3L5——Unity中嵌入Android内容 Unity中嵌入Android内容 从 UM3L4——Android开发必备原理 中我们知道 在 Android 开发中 Activity(活动)就是我们看到的一个界面(屏幕) 那么所谓的 Unity 中嵌入 Android 内容 就是 通过 Unity 打开 Android 中制作好的 Activity 让 Unity 可以和 Android 中制作的功能进行交互 注意:学习这部分知识我们只学习Unity如何开启Android中的Activity,具体的安卓开发相关需要自行学习安卓相关知识,不属于本课程范围内! Unity 中嵌入 Android 内容的关键点就是:最终打包时,我们需要在 Unity 中打包出安卓工程包后再使用 Android Studio 进行打包 根据各种报错信息来一步步的解决问题,缺少什么就添加什么,配置有问题就修改配置 如果以后有需求需要嵌入安卓相关内容,那么需要系统的学习一些安卓开发的相关知识,可以购买一些安卓开发相关书籍来学习 Activity 创建 在 Android 项目中新建一个...
UM3L4——Android开发必备原理
UM3L4——Android开发必备原理 Android 应用程序的基本构成 Android SDK:提供了用于开发 Android 应用程序的各种 API 和工具 编程语言:使用 Java 或者 Kotlin 语言进行开发,他们提供了丰富的库和 API XML 配置文件:Android 应用程序使用 XML 来定义UI布局、样式和资源信息等 应用程序组件组成 Android 应用程序有四种组件组成: Activity(活动) 主要用于实现用户界面,代表一个屏幕或窗口,包含了各种UI组件,按钮,文本,输入框等等 Service(服务) 是一种可以在后台执行长时间运行操作的组件,没有用户界面,一般用于处理和交互无关的逻辑 比如:上传、下载、音乐播放等 Broadcast Receiver(广播接收器) 主要用于接受系统或者其他应用程序发出的广播消息 消息可以来自系统事件(比如网络连接变化、设备启动等),也可以来自其它应用程序 Content...
UM3L3——Android中调用Unity内容
UM3L3——Android中调用Unity内容 本章代码关键字 1UnityPlayer.UnitySendMessage() //在安卓内执行Unity内内容,传入场景上的对象,再传入要调用的脚本的方法,再传入字符串参数 Android 调用 Unity 规则 Android 调用 Unity 相对比较简单,在 Android 端使用 UnityPlayer.UnitySendMessage API即可 想要被 Android 端调用的 Unity 函数 需要写在继承 MonoBehaviour 的脚本中 需要挂载在场景中处于激活状态的 GameObject 上 交互时,在 Android 端调用API:UnityPlayer.UnitySendMessage("对象名", "函数名", "参数信息") 注意:该API中的参数只能是 String 类型或者为 null 测试交互 在 Unity 端创建测试脚本,编写测试函数 假设要调用这个类下的...
UM3L2——Unity中调用Android内容
UM3L2——Unity中调用Android内容 本章代码关键字 123456789AndroidJavaClass //安卓Java类,可以通过包名以及类名实例化androidJavaClass.GetStatic<>() //获取安卓Java类对象的方法,需要传入参数AndroidJavaObject //安卓Java类对象,通过它调用安卓的arr包内的内容androidJavaObject.Get<>() //获取成员变量androidJavaObject.Set<>() //设置成员变量androidJavaObject.GetStatic<>() //获取静态变量androidJavaObject.SetStatic<>() //设置静态变量androidJavaObject.Call<>() ...
UM3L1——交互项目创建
UM3L1——交互项目创建 这节课的主要目的就是创建之后用于生成 aar 包的Android Studio的工程,用于之后处理Unity和Android的交互逻辑 本节课制作的 aar 包,是用于和 Unity 进行交互的安卓包,操作的步骤不能有误,否则会影响之后的交互功能制作 创建Unity和Android Studio项目 创建 Unity 项目后,切换到 Android 平台,设置包名和 Android 版本 设置流程参考:UM1L1——新版Unity打包安卓应用程序 创建 Android Studio 选择 Phone and Tablet,创建一个Empty Activity项目 注意: 包名和 Minimum SDK 版本要和 Unity 项目一致,若没有相同 SDK 版本,请在 Android Studio 中下载 创建完成后,等待加载结束后,删除工程中两个 Test 项目以及 res 下的无用资源 配置build.gradle文件 在Android...
UM2L18——常用类库
UM2L18——常用类库 常用类库指什么 常用类库主要指Java中为了提升我们的开发效率 预先就已经写好的一些包,这些包中提供了很多常用类 目的是方便开发人员的使用,而无需再自己去实现 主要有以下内容: 变量类型的包装类 Integer、Double、Boolean、Character 存储较大数据的 BigInteger 类和 BigDecimal 类 数学计算类 Math 随机数类 Random 等等 本节课主要指明方向,由于这些知识只是API的使用 所以对于这些类的常用方法只会提及,不会举例,了解他们提供的方法名,基本就知道如何使用了 Java中提供了很多现成的类和方法供我们使用,对他们产生印象,当自己开发时有类似需求时 直接使用他们,可以提升我们的开发效率,因为无需我们自己去实现对应逻辑,直接使用即可 变量的包装类 Number 它是 Byte Integer Short Long Float Double类的父类 主要方法: 123456byteValue() 以byte形式返回指定的数值intValue() ...
UM2L17——方法的引用和Function接口
UM2L17——方法的引用和Function接口 方法的引用 使用函数式接口去装载我们在类中声明的方法,而不是 lambda 表达式 不管是使用 lambda 表达式还是想要引用方法,我们都需要使用函数式接口来装载 除了 Function 以外 Java 中还写好了很多函数式接口供我们使用,用现成的还是自己写,自己决定即可 如何进行方法的引用 引用静态方法 类名::静态方法名 1234567891011121314interface ITest01 { void fun();}public class Lesson22 { public static void Test() { System.out.println("方法调用"); } public static void main(String[] args) { ITest01 t = Lesson22::Test; t.fun(); ...
UM2L16——lambda表达式
UM2L16——lambda表达式 Java中lambda表达式语法 Java 中的 lambda 表达式和 C# 中区别很大,Java 中没有委托和事件 Java 只能通过函数式接口来存储 lambda 表达式来进行使用,Java 的函数式接口可以充当 C# 中委托的角色 基本结构:(参数) -> {代码块} 基于基本结构的写法: () -> {代码块}; () -> 结果表达式;(相当于返回值) (参数) -> {代码块}; 参数 -> {代码块}; (当参数只有一个时) 参数 -> 结果表达式;(相当于返回值) (参数1,参数2,参数3...) -> {代码块}; (参数1,参数2,参数3...) -> 结果表达式;(相当于返回值) 用于装载 lambda 表达式的函数式接口 Java 没有如 C# 那样的委托与事件,如果想要实现类似于委托那样的实现,我们可以通过函数式接口存储 lambda...
UM2L15——异常处理
UM2L15——异常处理 本章代码关键字 12try { } catch { } finally { } //错误捕获exception.getMessage() //获取错误消息 Java异常处理 Java中的异常捕获和C#中使用基本一致,语法: 如果想要从报错类对象中获取信息,需要使用getMessage() 不管之前的代码块是否发生异常 finally 中的内容都将执行,除了以下的几种情况: finally 语句块中发生异常 在finally之前执行了System.exit()退出程序 程序所在的线程销毁 关闭CPU 123456789101112131415161718192021try { //需要进行异常捕获的代码块} catch (NullPointerException ex) { //空指针报错 //ex.getMessage() //捕获异常信息} catch...
UM2L14——集合类
UM2L14——集合类 Java中各集合类之间的关系 Java 中的集合类就类似 C# 中的 List 和 Dictionary 的存在 主要用于批量存储对象,并且可以动态添加,动态删除 Java 的集合类继承关系如下: Collection(接口): Set(接口) HashSet TreeSet List(接口) ArrayList LinkedList Map(接口): HashMap TreeMap Collection 接口中的方法 add(E e) 添加元素 remove(Object o) 移除元素 clear() 清空元素 isEmpty() 是否为空 iterator() 获取迭代器,可以用于遍历 size() 集合中元素个数 contains() 判断元素是否存在 toArray() 将容器中元素转为数组 List 接口中的方法 由于 Java 不存在索引器,因此,需要使用 get 和 set 来通过索引获取和修改元素 get(int...