- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 创建单例对象的四种常规方法
4、使用枚举:定义个静态枚举类,并创建唯一的枚举对象,该枚举对象就是一个单例对象,在枚举的构造函数里创建类的的实例。3、静态内部类:在类内部定义一个静态内部类,静态内部类持有外部类的静态实例变量,并在类加载时就实例化。2、懒汉式:使用双重检测锁机制保证多线程安全,另外实例变量要用volatile修饰,保证线程可见。Joshua Bloch说的“单元素的枚举类型已经成为实现Singleton的最佳方法”。1、饿汉式:利用静态变量来记录类的唯一实例,再类加载时就实现了类的实例化。2、实例对象类型静态且私有化。
2024-07-17 15:54:05
396
原创 Kotlin中object关键字的作用
调用方式:MySingleton.function(),类似像Java的静态方法。ExtendClassName为匿名对象继承的类或接口名。伴生对象中的属性和方法可以直接通过类进行访问。1、对象声明,通过这种方式创建一个单例对象。3、声明对象表达式,创建一个匿名对象。2、在类内部声明伴生对象。
2024-07-01 22:06:12
328
原创 Kotlin模仿Rxjava进行数据的流式转换实现
3、对数据类进行接口扩展,自定义扩展接口map,目的是进行数据转换,并保存在数据类中。从数据源接收数据,然后通过转换操作转换为用户需要的数据类型进行消费使用。4、对数据类进一步扩展,自定义扩展接口comsume,对数据进行处理操作。2、定义数据接收处理接口,并保存在数据类中。1、定义数据类,用于存储临时数据。
2024-06-30 23:19:15
373
原创 Kotlin常用内联函数的手写和解释
使用inline关键字修饰的函数被称为内联函数,其作用是在编译阶段将函数体的代码直接嵌入到函数调用处,而不是通过函数调用的方式来执行,这样可减少函数调用带来的额外开销,如传递参数,创建和销毁栈帧等, 可以使代码更加简洁直观。该函数的lambda体也是持有this,函数的返回结果为lambda表达式执行返回的结果,作用类似于run函数,只是调用方式不同。///lambda执行代码块,最后一行的返回值就是run函数的返回值。//lambda执行代码块,最后一行的返回值为let函数的返回值。
2024-06-30 20:49:04
385
原创 OpenHarmony像素单位解释
1lpx = 实际物理像素宽度/逻辑像素宽度(designWidth 基准默认720)。若屏幕实际宽度为1440px,则1lpx = 1440px/720。:字体像素,大小规范默认与vp相同,根据屏幕密度变化而变化。在160dpi的设备上1vp = 1px,若dpi为320,则1vp = 1px * 320dpi/160dpi。框架默认单位(不写单位即是vp),根据屏幕像素密度(dpi)可转换为物理像素。OpenHarmony框架为ArkTS组件开发提供4种像素单位,分别为:px,vp,fp,lpx。
2024-03-05 11:59:36
531
原创 记录一个获取颜色RGB值的小技巧
互联网上有许多提取图片颜色值的软件工具,通常要付费。而我们电脑的画图工具本身也有这个功能,很简单,几步搞定,如下图:1、用画图工具打开图片,点击一下颜色选择器:2、点击图片的颜色区,颜色就被选择了3、点击编辑颜色,选中的颜色值就会显示出来,换算成16进制就可以了。如上面的图片背景色就是:0x0037CD。就这么简单! _...
2021-09-17 10:43:22
3400
原创 Android设备横竖屏切换时Acitivty生命周期发生的变化
Android9应用中界面操作上出现横竖屏切换时,Activity对象的声明周期将发生的变化,有两种情况:1、不设置 Activity 的 android:configChanges09-06 10:15:10.841 D/MainActivity(19094): onPause09-06 10:15:10.842 D/MainActivity(19094): onStop09-06 10:15:10.843 D/MainActivity(19094): onDestroy09-06 10:15:
2021-09-06 10:41:41
143
原创 安卓6.0后动态申请权限的通用接口
android6.0之后的系统在Activity类中加入了动态申请权限的接口:public final void requestPermissions(@NonNull String[] permissions, int requestCode);即有一部分系统权限需要动态去申请才能满足应用接口调用的需求,否则即使在AndroidManifest.xml中声明了该权限,在APP运行过程中也会抛出异常。那么有哪些系统权限需要去动态申请呢?整理了下大概有如下权限:联系人group:android.pe
2021-07-14 10:29:52
213
原创 关于Activity无法从后台启动或者启动延迟5s的问题解决方案
对于Android第三方应用来讲,免不了有那种当应用按返回键或者home键退回后台后,来一个消息触发弹出界面的需求(虽然google不提倡这么做),比如类似于微信的音视频呼叫。这个时候就需要Activity从Service启动或者从receiver启动,按照常规的做法会这么写:Intent intent = new Intent(context, xxx.class);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivi
2020-06-05 18:50:32
1165
2
转载 Eclipse项目导入到Android Studio中
转载:https://www.cnblogs.com/numen-fan/p/10520873.html
2020-05-28 11:16:53
177
原创 周末随笔
无论是创业、投资,赌也好拼也罢,我们人所追求的事物永远都不会完美的得到自己的期望,因为在追求的过程中,总有些因素是我们无法控制的,主观的客观的,自身的能力和品质包括影响力等等,甚至我们原先所定的目标本身都是有可能影响我们的心理期望。所以我们不应该害怕失败,也不应该为了小小的成功而沾沾自喜,我们应当吸取所有成功的失败的经验,让自己更加理智、稳重,让自己所做的每一个决策更趋于合理。竞争激烈的领域,真正
2018-01-06 16:42:45
230
原创 关于WPS-word使用多级编号级联的问题
WPS中的word在使用中有一点和office不一样,是不是版本的问题还没有去考究。即:在样式标题一、标题二、标题三...中分别设置多级编号后,从同一样式的第二个编号开始,下级的编号并不能与上一次关联起来,用形象的语言讲,wps的排版结果是:1.aaaaa1.1 aaaaa2.bbbbb1.2 bbbbb显然这不是我们要的结果,正确的应当为:1.aaaaa1.1aa
2015-06-29 18:20:22
4620
1
原创 局域网内window连接ubuntu会频繁断开的原因总结
问题场景:我的ubuntu安装在windowsXP里的VMware里面,通过SecureCrt连接。一开始连接还好好的,然后过不了多久就断开,然后不断的重连,有时候连得上有时候连不上,毫无规律可言。(郁闷)最终解决:开始上网查资料,什么设置会话选项中的终端反空闲状态、定期发送字符串等后,连接一开始貌似好了,连接时间也稍微长了一点,以为已经解决可以吁一口气了,结果一口气还没有吁完,又断线
2015-06-19 11:03:13
1812
原创 Android执行SQlite语句时的问题备份
在执行sqlite中的delete、select、query等语句时提示android.database.sqlite.SQLiteException: unrecognized token: "gggg" (code 1),这是因为在类似where=abcdefg条件判断语句中,若后面的参数为字符串,需用单引号“‘”包起来。否则语法上出错。很简单的一个问题,却不止犯错一次。备份一下以增强
2015-03-10 16:20:49
533
转载 Android Camera 使用小结--转载
Android手机关于Camera的使用,一是拍照,二是摄像,由于Android提供了强大的组件功能,为此对于在Android手机系统上进行Camera的开发,我们可以使用两类方法:一是借助Intent和MediaStroe调用系统Camera App程序来实现拍照和摄像功能,二是根据Camera API自写Camera程序。由于自写Camera需要对Camera API了解很充分,而且对于通用的
2014-08-28 14:44:36
619
转载 Android解决:INSTALL_FAILED_MEDIA_UNAVAILABLE的问题
原文转自: http://xuzhihong1987.blog.163.com/blog/static/26731587201307105354852/
2014-05-19 10:51:53
977
原创 解决vmware下装的ubuntu右上角显示网络禁用以及设置静态IP的方法
一、Ubuntu上不了网络,右上角图标显示一个感叹号,为禁用状态,执行下列三条条命令解决问题:1、sudo service network-manager stop 2、sudo rm /var/lib/NetworkManager/NetworkManager.state 3、sudo service network-manager start 参照http://ww
2014-03-17 17:25:27
1267
原创 SecureCRT连接Ubuntu10.0.4中文显示乱码的问题
1、SecureCRT显示乱码的问题在弹出的窗口中,左边栏选择“外观”选项卡,在右边的窗口中选择UTF8,如图所示:此时,SecureCRT中即可正常显示中文了:2、SecureFx显示乱码的问题此时虽然可以显示中文,但是在SecureFX中新建的中文文件夹在SecureCRT中仍然会显示乱码,此问题如何解决了?在界面配置上没有选
2014-02-20 16:29:56
1159
1
原创 应用程序接收不到BOOT_COMPLETED消息的原因总结
应用程序开机自启动通常需要接收Intent.ACTION_BOOT_COMPLETED广播,在接收广播之后启动应用程序的主界面以及相关的服务。但是在有些情况下,应用程序接收不到该广播,导致自启动失败,现将常见的原因总结如下:1、没有在manifest文件中添加广播接收权限2、系统开启fast boot模式,这种模式下系统启动并不会发送BOOT_COMPLETED广播
2013-09-13 17:08:22
4631
原创 Andorid的Activity的四种启动模式详解
Android的Activity启动加载模式有四种:standard(默认), singleTop, singleTask和 singleInstance,下面是举例说明这四种启动模式的特点,以及它们之间的区别和联系.standard模式:Activity的默认加载方法,即使某个Activity在 Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创
2013-07-29 11:39:38
619
原创 Linux命令的学习与数学公式
今天温习了一下几个Linux命令: (1)查询命令 find(2)重命名命令 rename、mv(3)删除命令 rm 、rmdir在这个过程中回想起在中学学过的数学公式,对比这个学习的模式突然发现,基本上是一回事,科学世界的事物果然是相通的,发现了规律的话,学习起来毫不费力。我们拿find命令举例看一下:查询命令 : find语法格式: find
2012-04-24 13:19:04
853
原创 win7下VMWare WorkStation 不能开机的情况
今天一大早来打开电脑,虚拟机居然开不了,之前都好好的,啥动作也没有做,突然就出了这么个故障。求助了百度一下,查明了原因是因为虚拟机的硬盘没有挂载上,原来是磁盘驱动器禁用,为什么磁盘驱动器突然被禁用,原因未明,估计是由系统的监控软件之类的东西捣的鬼。今天在此记录总结了一下,下面两条也是虚拟机不能开机的原因:1、磁盘驱动器被禁用,这就是我的虚拟机开不了的原因,这个时候重新启用一下就好了,在启动
2012-04-23 22:19:51
1680
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人