实习
文章平均质量分 67
杨啊杨大聪明
这个作者很懒,什么都没留下…
展开
-
实习Day 13(一点学习和需求优化)
考虑到如果同时有多个设备点击同步播放,原先的逻辑会开启多个Relay服务,会导致后面的Relay设备不能正常被接受,讲道理,也不应该存在多个Relay设备,因此添加判断逻辑,如果在点击同步播放时,当前组播地址中已经存在Relay服务器,则不开启Relay服务。1.重新看了下Fragment相关内容,包括Fragment的静态注册,动态注册,以及切换,重新了解Fragment的4个生命周期,以及一些附带的回调函数的方法。扩展函数表示即使在不修改某个类的源码的情况下,仍然可以打开这个类,向该类添加新的函数。原创 2024-05-24 17:05:34 · 402 阅读 · 1 评论 -
实习Day 10-12(终于完成了需求)
一开始就是实现了一个设备开启Relay服务,然后另外的设备来获取Relay服务,完成主从端功能。后面觉得如果只是这样的话,后面调试时候不是一直要注意一个设备来开启Realy,另外的需要更改代码。所以最后经过优化和看了看领导需求,觉得还是,所有设备在点击同步播放时候开启Relay服务,退出时候取消Relay服务。原创 2024-05-24 09:46:23 · 327 阅读 · 1 评论 -
实习Day 9(流水账)
在调试项目的过程中,写了大量的Log.v来打印日志,在demo中当然无所谓,但是等到正式项目中,要上线时候一行行删掉这些代码就有点蠢了,于是在项目中新增了LogUtils工具类(指只写了两种类型,后续有需要再添加)。使用工具类来替代直接调用Log类,这样等到真的项目上线时候,直接改一下level就可以对这些日志进行屏蔽。原创 2024-05-20 17:26:20 · 663 阅读 · 1 评论 -
实习Day 7-8(完成需求与debug)
看起来就很像是正常的设置转发服务器的地方。尝试了正确配置之后,发现还是读不到参数,将代码中的这两个参数直接指定为默认值,设为空值,发现对app运行并没有一点的影响,猜测SDK中对这部分代码进行了默认值处理吧,且SDK进行了代码混淆,没办法再进一步进行测试,所以只能放弃这个切入点。这一天还是在寻找这个需求的切入点,第二个切入点:Deviceservice有一段代码将MsWrapper进行了init并且传入了一个ip地址,查找了下发现这个地址是Socket组播的地址,于是稍微学习了点Socket的内容。原创 2024-05-17 16:47:35 · 529 阅读 · 1 评论 -
实习Day 6(任务)
遇到了很多抽象的内容,等完成任务写个合集出来,今天卡bug了,非常头痛。原创 2024-05-14 17:45:54 · 166 阅读 · 1 评论 -
实习Day 5(学习&第一个任务Demo)
在我查看公司的Demo的时候,会发现有一些代码的变量名会是数字+字母的格式,很明显正常开发中没有人会这样写代码,我也意识到这是安卓的代码混淆。以前有听说过代码混淆,但是没有实操过,搜索了网上的很多教程,感觉下面这个博客写的还可以。这个bug困扰了我整整1.5h,实际上是一个很奇葩的bug,kapt和JDK版本不兼容,直接搜索该报错,网上有许多解决方法,主要集中在降低JDK版本到11和添加gradle.properties注释两种解决方案。十分强大的布局模式,感觉可以平替其他布局,同时也是相对布局的加强版。原创 2024-05-13 16:48:40 · 676 阅读 · 1 评论 -
实习Day 4(Bug的寻找&安卓SDK打包编译和使用(最新))
1.昨天主要在看一个Demo,因为昨天一直跑不起来所以今天想着是如果可以的话找找问题出在哪里,第一步发现mState是判断SDK是否正确初始化的变量,跟着这个变量一步步找,发现有三种状态(RELEASE/INITALIZING/INITALIZED)。这个变量已经是在公司的SDK里面定义的了,对SDK的代理文件里面翻了半天,也没发现到底是哪里出问题了,关于这个变量的挖掘只能终止。后来试了一下可以直接使用。上述流程就可以实现最简单也是目前来说能用的搭建自己SDK的方法,具体更深入的使用需要以后慢慢挖掘了。原创 2024-05-10 17:15:23 · 322 阅读 · 0 评论 -
实习Day 2(中间件demo源码学习)
SurfaceView的内容是透明的,可以嵌入到view层次结构中,并且可以和其他view进行重叠或者裁剪。使用glsurfaceview时,我们无需自己创建和管理子线程,只需实现glsurfaceview.renderer接口,并设置给glsurfaceview对象。拖动条类似进度条,不同的是用户可以控制,比如,应用程序中用户可以对音效进行控制,这就可以使用拖动条来实现。由于拖动条可以被用户控制,所以需要对其进行事件监听,这就需要实现SeekBar.onSeekBarChangeListener接口。原创 2024-05-08 16:44:08 · 550 阅读 · 0 评论