- 博客(49)
- 收藏
- 关注
原创 Unity替换启动Logo动画
最近的项目中,由于Android中集成了Unity场景,每次进入打包好的Unity项目时都会出现Unity的标志性动画,让用户处于等待状态,体验感比较差;于是便在产品经理的要求下将Unity的启动Logo换成公司的宣传动画今天给大家分享一下第二种解决方案,我是将Unity与Android的交互先写好,然后再把Unity打包成Android项目嵌入到主Android项目中。
2023-04-04 21:29:06
8539
150
原创 Flutter集成Unity
最近做项目时需要用到Flutter来做跨平台开发,但是项目中又用到了虚拟场景,这样一来就涉及到了Unity,那么总结下来便是用AndroidStudio来创建Flutter项目,将Unity项目嵌入到Flutter项目中,本篇文章就给大家分享一下Flutter集成Unity的详细过程,下一篇再给大家分享 Flutter与Unity之间的通信;
2023-04-04 21:28:29
7226
149
原创 Android集成Unity(二)
上一篇给大家分享了,但那一篇解决的是Unity采用mono打包,但Unity到了2020及以上版本时,官方都是推荐il2cpp打包,所以这一篇就补上之前那一篇的短板。
2023-04-04 21:27:54
7294
151
原创 Unity中将项目通用的公共模块封装成类库dll
最近公司的App项目开始用Unity来开发了,可能大家好奇为什么不用原生的AndroidStudio来开发,主要原因是因为我们做的都是医疗类的App,里面或多或少都用到了Unity虚拟场景,以前我们都是采用Android集成Unity来满足项目的需求,但是又考虑到未来可能有VR类的需求,再想到Android集成Unity也确实麻烦,于是决定统一采用Unity来开发App。
2023-04-04 21:27:20
6788
152
原创 Unity与Android交互(双端通信)
最近小编开始做关于手部康复的项目,需要Android集成Unity,以Android为主,Unity为辅的开发;上一篇给大家分享了Unity嵌入Android的操作过程,所以今天想给大家分享一下双端通信的知识;
2023-02-03 09:19:46
14258
101
原创 Kotlin Navigation开发
其实小编之前一直都是用的Java来开发Android,但是工作需求,开始了Kotlin的编程,接触到了JetPack,发现其中的Navigation特别有意思,今天来给大家分享一下,我们做一个四个页面吧,从APP的 欢迎页面——>新手引导页面——>注册登录页面——>APP主页面 ,我来带大家入门,希望大家不要嫌弃。
2023-02-03 09:19:20
8272
91
原创 Android 与 Unity(随笔录)
最近换了工作,公司是做康复领域的,由于项目需求需要,Android产品中必须加入VR元素,将虚拟场景与Android融合,打造一个用户满意的产品。本人是做Android开发的,思考的是把Unity作为Android项目的一部分,还是把Android项目作为Unity的一种,其实把都是可取的,但是根据项目需求权衡利弊后,我还是选者了前者,毕竟相较于Unity,Android自己懂得比较多一些。
2023-02-03 09:19:17
8645
89
原创 Android集成Unity
随着前两年元宇宙的提出,虚拟现实开始在各大平台大展身手。各个平台都开始搭上了元宇宙的列车,Unity作为虚拟引擎中的热门,渲染效果和开发效率极其出色;Android作为移动开发的巨头之一也搭上了元宇宙这趟列车。今天,小编带大家将Unity与Android这两把利剑结合起来,双剑合璧,大有所为。大家做好位置,列车马上出发。
2023-02-03 09:18:37
10137
94
原创 Unity开发者——编辑器技巧
菜单栏Help→Scripting Reference(脚本参考手册)命令打开默认浏览器。菜单栏Help(帮助)→Unity Manual(Unity手册)命令打开默认浏览器。
2022-08-21 15:52:56
1518
22
原创 Unity碰撞和触发
Unity碰撞条件和触发条件,两个物体至少有一个带有刚体,触发器需要在Collider组件中勾选Trigger属性,碰撞和被碰撞的物体都需要加有 Collider 碰撞组件
2022-08-09 16:48:02
14757
44
原创 在Activity中获取另一个XML文件的控件
很多时候,我们都需要在一个Activity中去调用另一个xml布局文件,即非当前Activity所绑定的xml布局文件中的控件,这时候我们就不能直接使用。最近,我在项目开发中时常遇到一个问题,那就是如何在一个Activity或者Fragment中获取到其他的XML文件呢?以上就是关于Activity或者Fragment引用非此类XML文件的内容了,希望能帮助到您!findViewById(),不然会报错,指向空对象。......
2022-08-01 17:58:08
25617
114
原创 Android中二维码的扫描与生成(zxing库)
2.集成java源码,将demo工程QrScan中app/src/main/java/目录下包中的zxing和util复制到此工程对应的app/src/main/java的包下。layout复制activity_capture.xml,activity_scanner.xml,toolbar_scanner.xml。values复制/替换其中的attrs.xml,ids.xml,colors.xml。1.将获取的jar包复制到工程的app/libs目录下,刷新,然后去添加依赖。...
2022-07-21 17:22:19
23768
16
原创 Android Studio集成友盟SDK
在企业开发中往往会给开发人员提出很多的开发要求,如做商城APP的时候,产品经理希望统计某个商品的购买量,或者运营的同事要求你统计APP的启动数,新增客户量,有时候开发人员需要监控APP在用户手中的使用情况,这个时候我们就需要集成友盟SDK来帮助我们解决这些问题。...
2022-07-15 10:39:27
21788
7
原创 友盟在AS中利用Gradle进行多渠道打包和APK签名发布
自从Google放弃对Eclipse的维护,并力推Android studio时,其版本的更新迭代速度也是非常快的,而且开发的工程中经常需要用到gradle的相关操作Gradle:Gradle是Android studio默认的build工具,是基于一种JVM语言——Groovy,再加上DSL组成的说白了就是一种依赖管理工具,它抛弃了基于XML的各种繁琐配置,使用起来也简单,语法也相对简洁很多每当项目开发完成准备发布到各大安卓应用市时,此时作为项目开发人员来说简直头大,如果发布的应用市场数量小的话,可能多操
2022-07-14 17:02:30
25595
3
原创 SQLite数据存储
SQLite是一种转为嵌入式设备设计的轻型数据库,只有五种数据类型:在SQLite中,并没有专门设计BOOLEAN和DATE类型,因为BOOLEAN型可以用INTEGER的 0 和 1 代替true和false,而DATE类型则可以用特定格式的TEXT,REAL和INTEGER的值来代替显示,为了能更方便的操作DATE类型,SQLite提供了一组函数在Android系统中提供了android.database.sqlite包,用于进行SQLite数据库的增,删,改,查工作,其主要方法如下:beginTran
2022-07-04 18:53:52
25086
1
原创 Android数据存储
Android五种数据存储:Android系统提供了四种存储数据方式每个Content Provider都会对外提供一个公共的URI,如果应用程序有数据需要共享时,就需要使用Content Provider为这些数据定义一个URI,然后其他的应用程序就通过Content Provider传入的URI来对数据进行操作URI由三个部分组成:"content://",数据的路径,标识ID(可选)...
2022-07-03 10:54:09
28337
1
原创 Flutter与RN
Flutter是谷歌的移动UI框架,可以快速的在IOS和Android上构建高质量的原生用户界面,Flutter可以与现有的代码一起工作,且开源免费Flutter用于创建高性能,跨平台的移动应用框架,针对于当下以及未来的移动设备进行优化,专注于Android和IOS低延迟的输入和高帧率Flutter的设计跟react native很像,但是比RN进一步Flutter的开发语言是Dart1. 性能方面:Flutter由于是基于Dart语言, 所以避免了RN的那种通过桥接器与Javascript通讯导致效率低下
2022-06-30 16:01:58
28941
1
原创 Java面试
Java实现一个线程的方法第一种实现线程类Thread,第二种实现Runnable接口,这两种都是重写我们的 run()方法,第三种实现Callable接口,需要实现我们的 call()方法Java I/O流分为几种按功能来分的话 input(输入流)和output(输出流)按类型来分的话 字节流和字符流,字节流以8位字节为单位来进行输入输出数据的,字符流以16位字节为单位去输入输出我们的数据HashMap和HashTable有什么区别在存储方面上,HashMap运行时以Key和Value的键值对形式进行
2022-06-30 14:19:25
24339
1
原创 华为实习面试(二)
这是来自一位学长的 (业务主管综合面)4.29下午2:10分,全程20min学长的视角:主管也是真的很nice!我每次回答问题后都给我说谢谢,搞得我都不好意思了,整个过程非常随和,完全没有架子,很耐心的给我解释问题,最后退出还说非常感谢面试华为,体验超好,面完五分钟官网刷新通过,十分钟短信通过。总结一下吧,总的来说,我这次华子的面试准备了很多东西,但是基本没问…整个过程体验非常好,不会让你尴尬的,面试官都大赞!给大家分享面筋,希望对还没面试的小伙伴提供参考,不过目前进了池子,得等很久才能出结果,许愿offe
2022-06-27 21:05:42
20657
1
原创 华为实习面试(一)
这是来自一位学长的 一面(技术面试)4.28上午9:30,全程大概50min这位学长的一面是一位非常nice的小姐姐,学长前面稍稍有些紧张,后面这位小姐姐很好的缓解了气氛,后面反问环节聊了很多内容,面试完成后过了5min就来短信说通过了面试题的解答如下:JDK:java语言编写的程序所需的开发工具包,JDK包含了JRE,同时还javac、监控工具jconsole、分析工具jvisualvm等是Java开发工具包,提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)
2022-06-27 20:49:07
20207
1
原创 数据库的事务管理及特征
可能很多小伙伴都会好奇事务管理是什么?上篇讲了数据库的三大范式可以先了解一下事务是由N步数据库操作序列组成的逻辑执行单元,组成这组操作的各个单元要么全部成功,要么全部失败。即一组sql语句中哪怕有一条失败也会失败举个例子:转账操作,一个账户减少钱,一个账户增加钱默认情况下,MySQL的事务是自动提交的,也就是执行了增删改查操作之后,数据直接持久化到磁盘上,不能撤销但是如果改为手动事务之后,更新过的数据,在没有使用commit提交时,可以通过rollback进行撤回start transaction / be
2022-06-18 18:55:26
32920
1
原创 数据库的三大范式
当你应聘后端岗位的时候,数据库的知识必不可少,今天给大家分享一下数据库三大范式的通俗理解第一范式:无重复的列第二范式:属性完全依赖于主键第三范式:属性不依赖于其他非主属性总结:第一范式(1NF)原子性:保证数据不可再分第二范式(2NF)前提:满足第一范式每张表只描述一件事情,就是主键对应着所有信息第三范式(3NF)前提:满足第一和第二范式第三范式需要保证表中的数据和主键直接相关,而不是间接相关注意:阿里巴巴要求 关联查询的表不得超过3张,数据库的性能更加重要,适当考虑规范性就好其实目前关系数据库有六种范式:
2022-06-14 22:06:30
50799
3
原创 线程死锁是什么
线程死锁:两个或两个以上的线程在执行过程中同时被阻塞,它们中的某个或者全部都在等待某个资源被释放,由于线程被无限期的阻塞,系统处于死锁状态或系统产生了死锁,这些永远在互相等待的线程被称为线程死锁 如上图所示,线程A持有资源2,线程B持有资源1,它们都想申请对方的资源,所以这两个线程就会互相等待而进入死锁状态 如果想要了解什么是线程阻塞的朋友,可以看我之前发的一篇线程的阻塞线程死锁示例代码如下:线程 A 通过 synchronized (resource1) 获得 resource1 的监视器锁,然后通
2022-06-14 10:29:26
39801
1
原创 Java线程锁(一)
在Linux系统下,启动一个新的进程必须要给它分配独立的地址空间,建立众多的数据表来维护它的代码段,堆栈段和数据段,这是一种昂贵的多任务工作方式。而在进程中同时运行多个线程,多个线程彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于一个进程所花费的空间,而且线程之间彼此切换所需要的时间远远小于进程之间切换所需要的时间多线程并发面临的挑战:由于多个线程是共同占用所属进程的资源和地址空间的,如果多个线程要同时访问某个资源怎么办?其实在Java并发编程中,经常遇到多个线程访问同一个 共享
2022-06-13 22:26:16
29399
2
原创 线程池的使用
Java语言虽然内置了多线程支持,启动一个新线程非常方便,但是,创建线程需要操作系统资源(线程资源,栈空间等),频繁创建和销毁大量线程需要消耗大量时间如果复用一组线程,流程图如下:把很多的小任务让一组线程来执行,而不是每个小任务对应一个新线程这种能接收大量小任务并进行分发处理的就是线程池假设没有线程池引发的后果:线程池的主要思想:总结:线程池内部维护了若干个线程,没有任务的时候,这些线程都处于等待状态如果有新任务,就分配一个空闲线程执行。如果所有线程都处于忙碌状态,新任务要么放入队列等待,要么增加一个新线程
2022-06-13 19:08:53
38294
1
原创 线程的阻塞
相信像我一样的初学者遇到线程阻塞时会感到无助,那我就把自己对于线程阻塞的理解记录下来吧!线程阻塞时的特点:该线程放弃CPU的使用权,暂停运行,只有当阻塞的原因消除后才回到就绪状态进行运行被其他的线程中断,该线程也会推出阻塞状态,同时抛出InterruptedException的异常一般线程中的阻塞:线程执行了 Thread.sleep (int n) 方法,该线程放弃CPU的使用,沉睡 n 毫秒,然后恢复运行线程执行了一段同步代码,由于无法获得相关的同步锁,只能进入阻塞状态,等获取了同步锁,才能恢复运行线程
2022-06-13 16:04:09
43380
1
原创 线程的状态及阻塞
之前提到了线程和进程,那就提一下线程的状态吧!线程状态通常分为五种:注意:阻塞被消除后回到就绪状态,不是运行状态温馨提示:大家可以通过getState()来获取线程当前的状态:NEW 、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED想要了解更多的线程知识,可以看看我写的上一篇线程与进程.........
2022-06-13 14:04:07
46827
1
原创 进程与线程之间的关系(一)
突然想聊一下自己对进程和线程的初步理解进程:进程是操作系统分配资源的基本单位进程 就是操作系统 为应用程序的执行 分配的资源进程就是一个容器,操作系统通过运行进程容器中的线程,来完成应用程序进程中的各项功能举个例子:比如桌面图标双击后,这个应用程序就开始运行了注意:一个进程的创建需要消耗计算机的资源,销毁意味着释放资源当很多个进程同时执行时,计算机资源消耗大,执行效率低线程:线程是操作系统执行和调度的最小单位线程依赖于进程而存在,即线程和进程是依赖关系每个进程都至少有一个线程,这个线程就是主线程举个例子:听
2022-06-13 11:32:59
46440
2
原创 数据结构之队列
特点——先进先出:只允许一端进行插入操作,另一端进行删除操作的 线性表插入一段是队尾,删除的一端是队头存储方式——顺序存储和链式存储顺序存储用数组实现假设有N个元素的一个队列,数组下标为0的一端是对头,入队操作就是通过数组下标一个个顺序追加,不需要移动元素,如果删除对头元素,后面的元素就要往前移动,这种方式性能不高顺序队列的实现代码如下:为了提高队的性能,于是出现了循环队列 就是有两个指针,front指向队头,rear指向对尾元素的下一个位置元素出队时front往后移动,如果到了对尾则转到头部,同理入
2022-06-13 10:58:50
34338
2
原创 Parcelable与Serializable
优点:缺点:google官方也是很贴心呀,直接把怎么用放在源码的注释里了优点:缺点:Serializable 是一个空接口,用来标识当前类可以被 ObjectOutputStream 序列化,以及被ObjectInputStream反序列化总结:Java应用程序中有Serializable来实现序列化操作Android中有Parcelable来实现序列化操作 在Android中除了对数据持久化的时候需要使用到Serializable来实现序列化操作,其他的时候我们仍然需要使用Parcelab....
2022-06-12 16:45:40
28554
2
原创 什么是序列化
问题来了,什么是序列化呢?相信很多人都不太清楚,那我就把我的理解分享给大家序列化的目的?简而言之,就是对象不好操作,我们就把它转成流。反序列化,就是将这个流程颠倒过来,将流转成对象。详解如下:......
2022-06-12 15:41:29
32578
原创 Service和线程的区别
Service和线程都没有UI界面,都是运行于后台的服务程序,google为什么要为Android系统创建Service这个组件呢?Thread(线程):程序最小的执行单元,是分配给CPU的基本单位,用来执行异步操作Thread(线程)的生命周期:新建——>就绪——>运行——>死亡——>阻塞注意:线程一旦运行起来,就和Activity失去了联系即使Activity被销毁了,线程依旧能执行下去总结:线程是无法控制的Service(服务):Service是在主线程中运行的,但它不是一个线程,不能做耗时操作,会报
2022-06-12 15:08:38
24905
3
原创 Android中Service(服务)的生命周期
Service作为Android的四大组件之一,与Activity一样,有着自己的生命周期 onCreate:创建服务首次创建服务时,系统将调用此方法,该方法只调用一次onStartCommand:开始服务当另一个组件通过调用startService方法请求启动服务时,系统将调用此方法onDestroy:销毁服务当服务不再使用且将被销毁时,系统将调用此方法onBind:绑定服务当另一个组件通过调用bindService方法与服务绑定时,系统将调用此方法onUnbind:解绑服务当另一个组件通过调用unbin
2022-06-12 11:01:40
28684
2
原创 Android的MVC MVP MVVM模式
学习Android的同学一定要了解的三种开发模式,不然自己写的项目采用的什么模式都不清楚MVC,MVP,MVVM都是为了解决UI页面与逻辑代码分离而出现的模式,MVP和MVVM都是MVC的基础上演化而来MVC全名是Model View Controller,是模型(mV----odel)-视图(view)-控制器(controller)的缩写M——模型层(Model)负责处理数据的加载或者存储V——视图层(View)负责界面数据的展示,与用户进行交互C——控制器层(Controller)负责逻辑业务的处理在
2022-06-11 20:51:19
27552
6
原创 关于Android Service服务的面试题
距离上一次面试的已经过去两个月了,想起来面试的题目,想给大家分享一下,希望大家能用到不可以Service的onCreate是在主线程(ActivityThread)中调用的,耗时操作会阻塞UI如果需要做耗时的操作—— 线程和Handler方式IntentService相比父类Service而言,最大特点是其回调函数onHandleIntent中可以直接进行耗时操作,不必再开线程原理:IntentService的成员变量 Handler在初始化时已属于工作线程,之后handleMessage,包括onHand
2022-06-11 15:49:44
24545
2
原创 Service的两种状态形式
当应用组件(如 Activity)通过调用 startService() 启动服务时,服务即处于“启动”状态。一旦启动,服务即可在后台无限期运行,即使启动服务的组件已被销毁也不受影响,除非手动调用才能停止服务, 已启动的服务通常是执行单一操作,而且不会将结果返回给调用方特点:调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点当应用组件通过调用 bindService() 绑定到服务时,服务即处于“绑定”状态。绑定服务提供了一个客户端-服务器接口,允许组件与服务进行交
2022-06-11 15:21:03
24668
2
原创 Service的两种启动方式与区别
参数Service要启动的服务程序的名称该方法会调用 Service 中的 onCreate() 和 onStartCommand() 方法来启动一个后台 Service,当 Service 销毁时直接调用 onDestroy() 方法参数service 是定义要绑定的服务程序的名称conn是当服务程序启动和停止时,负责接收信息的接口程序flags是设置绑定的选项,可以是0、BIND_AUTO_ CREATE、BIND_DEBUG_UNBIND、BIND_NOT_FOREGROUND、BIND
2022-06-11 14:57:51
19384
2
原创 Android四大组件之一服务(Service)
1. Android的四大组件之一,存在自己的生命周期2. 一种可以在后台执行长时间运行操作而没有用户界面的应用组件,需要在AndroidManifest.xml配置相关信息3. Service是Android中实现程序后台运行的解决方案,它非常适用于去执行那些不需要和用户交互而且还要求长期运行的任务。4. Service默认并不会运行在子线程中,它也不运行在一个独立的进程中,它同样执行在UI线程中,因此,不要在Service中执行耗时的操作,除非 你在Service中创建了子线程来完成耗时操作5. Ser
2022-06-11 14:26:36
20796
1
原创 Activity的四种状态
在屏幕前台(位于当前任务堆栈的顶部)此时的Activity位于栈顶,是可见的,并且可以与用户进行交互失去焦点,但仍然对用户可见(覆盖Activity可能是透明或未完全遮挡)当Activity失去焦点,不能与用户交互了,但依然可见,就处于暂停状态当一个新的非全屏的Activity或者一个透明的Activity放置在栈顶,Activity就处于暂停状态;这个时候Activity的各种数据仍然保存着;只有在系统内存极低的情况下,系统才会自动的销毁Activity完全被另一个Activity覆盖当一个Activit
2022-06-11 14:04:53
17399
1
Unity资源商店中的FPS Hands
2023-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人