自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (2)
  • 收藏
  • 关注

原创 安卓前台服务的使用

在onCreate中创建通知的优势是无论该服务是通过startService还是bindService启动的该服务,都会调用onCreate方法,所以通知都可以正常创建,除此之外,onCreate方法仅会调用一次,可以有效避免重复创建。当然,针对定制化的通知,也可根据需求在onStartCommand和onBind中进行创建。值得注意的是,如果采用的是bindService的方法,一定记得onDestroy中及时解绑,避免内存泄漏。2.在MyService的onCreate方法中创建通知。

2024-05-06 16:00:36 137

原创 Android学习记录

默认情况下,Android主线程(UI线程)已经有了一个Looper,但对于子线程,你需要手动调用Looper.prepare()来准备Looper环境,并在完成操作后调用Looper.loop()开始循环,在子线程执行这些操作之前,是不能创建Handler的。HandlerThread是Google封装好的一个类,它的内部有自己的Looper对象,可以进行Loop轮询,用于执行多个耗时操作,而不需要多次开启线程,本质是使用Handler和Looper实现的。但是有点需要注意的是,

2024-03-28 17:37:52 955

原创 安卓SurfaceView+HandlerThread的使用

在SurfaceTestView 初次加载的时候,先创建 HandlerThread 对象,调用 HandlerThread 的 start() 方法启动线程,再创建一个 Handler 与 HandlerThread 的 Looper 绑定,这样mHandler 发送的所有消息都会交给mHandlerThread 的Looper进行处理,在绑定完成后调用update()方法对ui进行初次绘制,这样就的到的一个“当前:0”的简单文本。① 可以在独立的线程中进行绘制操作,避免主线程的阻塞;

2024-03-28 16:48:27 410 1

原创 Java学习记录

这边的根本原因是,在执行 finally 之前,JVM 会先将 i 的结果暂存起来,然后 finally 执行完毕后,会返回之前暂存的结果,而不是返回 i,所以即使这边 i 已经被修改为 3,最终返回的还是之前暂存起来的结果 2。ArrayList和LinkedList除了是同属于集合类,其他都是不同的,因为他们本身的实现是两种不同的实现方式,ArrayList 维护的是一个动态数组,LinkedList维护的是一个双向链表,而他们之间的不同是数组与链表的特性比较;深拷贝相比于浅拷贝速度较慢并且花销较大。

2024-03-27 10:28:22 918 1

原创 SeekBar的使用以及进度条高度设置问题

细心的会发现设置的色值与实际显示的色值不符,而且此时我们设置利用maxHeight和minHeight设置进度条高度也不生效,这是使用方式不对导致的,应在progressDrawable属性中进行自定义。其中background是进度条右侧颜色,progress指的是左侧颜色,值得注意的是progress的属性必须设置成上述格式,否则会导致无论如何拖动,整个进度条只会显示#E00009色值的颜色。这时会得到一个简单的简单的进度条为0~255,当前进度为50的拖动条。这样简单的亮度拖动条就完成了。

2023-08-29 11:28:04 1193

原创 app版本更新的实现

4.找到app->src->main下的AndroidManifest文件,声明对应的隐私权限。附件:https://download.csdn.net/download/weixin_41119184/87740423。1.将解压后的appupdatelib文件(见附件)复制到对应的项目下,如下图所示。2.找到项目下的settings.gradle文件,将该lib导入项目。3.找到app下的build.gradle,引用该lib。//允许程序写外置sd卡权限。//允许程序读外置sd卡权限。

2023-04-28 14:33:14 247 1

原创 解决在使用skin.support:skin-support换肤控件报错问题

如果项目中使用的Activity继承自AppCompatActivity,需要重载getDelegate()方法。如未重载此方法,则会导致换肤不可用。如果项目中使用的Activity继承自AppCompatActivity,需要重载getDelegate()方法,如未重载此方法,则会导致换肤不可用。如未初始化,控件会在设置background这一属性上报错。如未初始化,控件会在设置background这一属性上报错。1.如果项目中还在使用support库,添加以下依赖。...

2022-07-25 15:44:39 874 1

appupdatelib版本更新包

appupdatelib版本更新包: 1.支持多线程下载 2.支持是否强制升级 3.支持断点续传

2023-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除