- 博客(21)
- 收藏
- 关注
原创 效率提升百分之四十,AS模板也太好用了吧
在设置中找到 Live Templates,点击红框中的按钮 “+”,即可新建 Live Templates。
2024-09-19 08:03:28
1030
原创 我靠着这套学习视频+文档,自学Android从外卖小哥走到了头条!从月薪3000到年薪40w+
1.我目前的情况已经算是城市里的底层了。我不会做生意,没其它经验和技能,性格偏内向,销售和交际也不太擅长。所以我不怕失去什么,因为也没有什么可失去的。2.我想学个谋生技能从新开始,而学开发最适合我。因为我并非0基础,毕竟大学时学的这个专业,而且自己也曾经很喜欢编程。3.我对待遇的要求不高,只要工资有5k以上就行。如果能有6、7 那我就太满意了。4.当时我的瞎推断:因为国内出生率特别低,以后可能没那么多年轻人供雇主挑选,所以我们这些中老年人,也有一定的机会。
2024-09-19 07:12:50
1055
原创 安卓studio jni 简单实例demo
在上面的代码中看到了JNIEXPORT和JNICALL关键字,这两个关键字是两个宏定义,他主要的作用就是说明该函数为JNI函数,在Java虚拟机加载的时候会链接对应的native方法,怎么连接起来的呢,JNIEXPORT void JNICALL Java_com_blithe_higirl_MyDiyFunction_sayHello跟包名方法名来关联你刚才定义的函数sayHello,关联好了,我们就可以用c来实现方法的内容了。新建一个空,新建一个class,自己定义一个方法,然后我们用c去实现内容。
2024-09-19 04:36:48
357
原创 基于Kotlin实现一个简单的TCP自定义协议
HeartBeatPacket 是由 TCP 客户端发起,由 TCP 服务端接收并返回给客户端。每个 Packet 类都包含了该 Packet 所使用的序列化方式。/**每个 Packet 也包含了其对应的 command。下面是 Commands 是指令集,支持256个指令。/**/**/**由于使用自定义的协议,必须要有对报文的 encode、decode,PacketManager 负责这些事情。encode 时按照协议的结构进行组装报文,同理 decode 是其逆向的过程。
2024-09-19 03:01:36
973
原创 Android自定义View,画一个好看带延长线的饼状图
这里需要注意的是:第一个扇形的起始角度为-90度,因为在自定义View中,0度是从右边开始的,也就是坐标轴中的X轴正方向那条线开始顺时针增加,而我们想让扇形从Y轴的上方这条线开始顺时针绘制,所以需要减90°。我们将整个View的最短边作为其边长,在只有饼图的时候是没问题的,但现在饼图的外部又多了一些显示内容,所以我们要将饼图的范围缩小,给外部的内容一些展示空间。因为在接下来的饼图绘制中会用到。饼图作为一个圆,那么在绘制这个圆前,我们先找出圆心的位置,并将其作为整个View的原点,即坐标(0,0)的位置。
2024-09-18 13:26:48
920
原创 Android开发蓝牙基础总结
每个 AD Structure 的组成是:第一个字节表示长度值 length,表示接下来的 length 个字节是数据部分,数据部分的第一个字节表示数据的类型 AD Type,AD Type 决定了下面的数据代表了什么,关于每个数值代表的数据类型见。04 3e 38 0d 01 1b 00 01 8b 03 00 b0 01 c2 01 00 ff 7f af 00 00 00 00 00 00 00 00 00 1e 29个字节。第二个字节是EventCode,3e是此事件的代码;
2024-09-18 10:35:49
1077
原创 Android中的Fragments介绍
/ 将得到的fragment 替换当前的viewGroup内容,add则不替换会依次累加。// 从保存的状态中取出数据。// 保存当前的下标。/** * 作为界面的一部分,为fragment 提供一个layout。// 得到一个fragment 事务(类似sqlite的操作)ft.commit();
2024-09-18 07:31:40
1254
原创 Android 自定义加载动画Dialog弹窗
constructor(context: Context) : this(context, R.style.loading_dialog, “玩命加载中…getWindow().getAttributes().dimAmount = 0.5f;this(context, R.style.loading_dialog, “玩命加载中…因为有一个是白色的所以你看不见,但是依然可以保存到你本地文件夹下。
2024-09-18 05:29:22
746
原创 Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长
2、播放云端MP3——文件链接。3、播文件夹里面的MP3文件。2、播放云端MP3文件。
2024-09-18 04:28:16
325
原创 Android S新特性介绍-近似定位
下图就是展示有两种选项框给用户选择:当用户决定了某个定位方式,然后他需要继续在底部三个选项中选择其中一个才能完成权限赋予。这三个选项和Andorid 11中的权限提示框是一样的。在Android 12中,无论App sdk版本是什么,用户都可以在设置给所有应用进行设置定位精确度的选择。这个即使你的app是在Android 11或者之前版本安装,然后系统升级到Android 12。如果用户从权限对话框或系统设置中将应用程序的位置访问权限从“精确”下调为“近似”,系统会重新启动应用程序的进程。
2024-09-18 02:23:50
394
原创 Android mvp模式
View层不同,MVC的View层指的是XML布局文件或者是用Java自定义的View,MVP的View层是Activity或者Fragment。MVP的View层Activity在实际项目中,随着逻辑的复杂度越来越大,Activity臃肿的缺点仍然体现出来了,因为Activity中还是充满了大量与View层无关的代码,比如各种事件的处理派发,就如MVC中的那样View层和Controller代码耦合在一起无法自拔。————- 点击打开大图 ————-————- 点击打开大图 ————-
2024-09-18 01:22:40
431
原创 利用zabbix监控mysqldump定时备份数据库是否成功 乐维君_zabbix 监控mysql备份
那么mysql是否备份成功这个监控项的值就会不为0,接着会出现告警。然后是编写一个简单备份数据库的shell脚本(bak.sh),在crontab定时任务中,设置脚本执行的时间。Mysqldump –u用户名 –p密码 –h数据库ip 数据库名(test) > 备份的数据库存放的位置。如果数据库备份成功,在/tmp/bak_result.txt就会是一个0。反之,非0就是数据库备份失败。正常来说(备份的数据库文件名,必须时数据库名加上数据库备份时间命名)如上图所示,mysql备份的值为0,也就是备份成功。
2024-09-17 21:43:40
426
原创 三年Java开发经验,四面阿里成功斩获offer,分享面经:Redis缓存+中间件+笔试撸码
聊人生谈理想,主要还是考察你对工作是否持积极的态度,以及你是否稳定,自信发挥就可以了。第一面能通过,后续被录用的可能性就比较高了,第一轮非常重要,建议系统性的学习面试题目!十一、ConcurrentHashM ap。十六、容器虚拟化技术,Doocker思想。十七、持续集成、持续发布,jenkins。四、MyISAM vs InnoDB。十三、Topk问题十四、资源池思想。六、CAP三进二和Base定理。十一、Bloom Filter。六、事务隔离级别及锁的实现机制。八、数据的水平拆分和垂直拆分。
2024-09-17 21:02:09
737
原创 SpringBoot学习笔记(十六:Shiro )
Authorization(授权):访问控制。比如某个用户是否具有某个操作的使用权限。Session Management(会话管理):特定于用户的会话管理,甚至在非web 或 EJB 应用程序。Cryptography(加密):在对数据源使用加密算法加密的同时,保证易于使用。还有其他的功能来支持和加强这些不同应用环境下安全领域的关注点。特别是对以下的功能支持:Web支持:Shiro 提供的 Web 支持 api ,可以很轻松的保护 Web 应用程序的安全。
2024-09-17 20:33:20
1111
原创 Java面试之集合
看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题。注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友互联网工程师必备的面试1000题而且从上面三家来看,算法与数据结构是必备不可少的。
2024-09-17 19:11:05
1139
原创 Java异常处理的天花板
1、运行时异常**RuntimeException****类及其子类都被称为运行时异常,**这种异常的特点是Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try…catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。例如,当除数为零时,就会抛出java.lang.ArithmeticException异常。2、受检查异常**除了类及其子类外,其他的Exception。
2024-09-17 18:44:23
1001
原创 java基础知识(四)
Error(错误)表示系统级的错误和程序不必处理的异常,是 java 运行环境中的内部错误或者硬。2、开始时:就绪状态,等待 cpu 调用后进入运行状态,运行过程中遇到阻塞事件,进入阻塞状。比如:内存资源不足等。对于这种错误,程序基本无能为力,除了退出运行外别无选择,运行时异常,表示无法让程序恢复的异常,导致的原因通常是因为执行了错误的操作,建议终。受检查异常,是表示程序可以处理的异常,也即表示程序可以修复(由程序自己接受异常并且。尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。
2024-09-17 18:17:41
305
1
原创 Java8:使用 Optional 处理 null
这是一个可以包含或者不包含非null值的容器。如果值存在则方法会返回true,调用get()方法会返回该对象。JDK提供三个静态方法来构造一个Optional1.,该方法通过一个非null的value来构造一个Optional,返回的Optional包含了value这个值。对于该方法,传入的参数一定不能为null,否则便会抛出。2.,该方法和of方法的区别在于,传入的参数可以为null—— 但是前面javadoc不是说Optional只能包含非null值吗?
2024-09-17 17:50:56
1064
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人