- 博客(28)
- 收藏
- 关注
原创 HarmonyOS实战:实现任意拖动的应用悬浮窗口
为了增加应用程序功能的丰富性和便利性,很多应用都会提供一个悬浮窗口实现多页面显示。特别是一些性能检测工具,比如 dokit。在鸿蒙上怎么实现类似的全局悬浮窗口呢?阅读完本篇文章你将学会在鸿蒙上如何实现这一功能。通过 window 不仅能实现全局悬浮窗,还可以实现自定义弹窗,Poupwindow,toast 等一系列弹窗。使用 window 的好处在于可以彻底和当前页面分离,不依赖页面存在。可以实现在任意地方弹窗。快动手试试吧!
2024-12-02 13:40:37
412
原创 HarmonyOS实战:一招搞定保存图片到相册
保存图片功能几乎是每个应用程序必备的功能之一,当用户遇到喜欢的图片时可以保存到手机相册。那么在鸿蒙中保存图片是否也需要申请用户存储权限以及如何将图片保存到相册,本文将详细讲述怎么保存网络图片,指定布局生成图片保存至相册的功能实现。对比 Android 或 iOS 来说,鸿蒙在实现功能上相对简单,比较容易上手。但是鸿蒙对于用户权限的获取要求比较严格,正式上线一般都需要使用系统提供的安全组件访问应用程序的相册或存储,日常开发中需要十分注意,以免影响项目的正常上线。
2024-11-18 17:41:12
2131
原创 HarmonyOS实战:快递信息时间轴效果实现
快递信息时间轴在购物软件中是必不可少的功能,通过时间轴可以展示快递从发货到派送的每一个环节。本篇文章通过代码的形式详细讲解在鸿蒙日常开发中如何实现时间轴的效果。(篇尾附有完整源码)本文的重点是知道虚线可以根据设置布局样式实现,然后就是如何实现虚线和布局动态高度变化同步,通过鸿蒙原生组件提供的方法可以实现。
2024-11-15 16:35:55
413
1
原创 HarmonyOS实战:组件化项目搭建
鸿蒙应用开发已经成为互联网新的风口,开发鸿蒙软件已经成为今年工作的核心目标。在软件开发过程中,对于复杂度较大,功能较多的软件都会采用组件化项目架构,那么对于鸿蒙应用开发是否也能实现组件化呢?本文将详细讲解HarmonyOs组件化项目搭建的全过程,带领大家实现一个组件化项目。HarmonyOs组件化的使用,有利于模块之间的解耦及大型项目的共同开发。随着鸿蒙生态的不断完善,学习鸿蒙开发势必成为新的趋势。也是广大同行新的选择。
2024-11-10 10:55:31
881
原创 HarmonyOS实战:一招解决等待多个并发结果
年前公司与华为签订了合作备忘录,加入了鸿蒙生态这个大家庭。。公司想赶着鸿蒙纯血系统上市之前,发布自己的鸿蒙软件。开发鸿蒙NEXT版本软件就变成了今年的一个工作重心。本文主要讲解开发过程中遇到的并发问题,官方API 11文档写的太简单了,根本没有解决方案,小编也是苦思冥想,绞尽脑汁才找到解决方案。需要开发鸿蒙的小伙伴可以仔细阅读,避免踩坑。鸿蒙NEXT的API还不算完善,需要每个开发者的参与,发现问题,提出问题,鸿蒙开发人员才能更好的解决问题。
2024-11-09 10:00:31
352
原创 HarmonyOS实战:首页多弹窗顺序弹出终极解决方案
随着应用软件功能的不断增加,应用程序软件首页成为弹窗的重灾区,不仅有升级弹窗,还有积分弹窗,签到,引导等各种弹窗。为了彻底解弹窗问题,本文将使用设计模式解决这个痛点。本方案采用责任链设计模式和建造者设计模式,通过将不同的弹窗添加到弹窗处理类,然后按显示顺序。
2024-11-08 14:40:35
269
原创 鸿蒙踩坑记之一招解决等待多个并发结果
鸿蒙NEXT的API还不算完善,需要每个开发者的参与,发现问题,提出问题,鸿蒙开发人员才能更好的解决问题。如果您也是鸿蒙开发者,有其他更好的解决方案,欢迎评论区交流 ,互相学习,互相成长!
2024-04-02 17:12:43
649
原创 深入解读OKhttp五大拦截器之RetryAndFollowUpInterceptor
Okhttp的封装了一些列请求所需要的参数,不管是同步请求还是异步请求最终都会经过五大拦截器的处理才能得到服务器返回的请求结果。本篇文章主要讲解Okhttp五大拦截器的重试重定向拦截器的作用。RetryAndFollowUpInterceptor拦截器作为OKhttp的第一个默认拦截器,主要作用是当客户端网络请求失败时或目标响应的位置发生改变时调用。
2024-03-02 15:15:02
967
原创 Android自定义View实现两种二维码扫描效果
最近在开发新项目时,使用了扫描二维码的功能,一般扫描二维码的效果是一条横线从上到下循环移动,这次却换成了网格图片。这里通过调用postInvalidateDelayed 不停延迟绘制图片来实现扫描图的移动效果。绘制扫描线使用了canvas.drawBitmap 方法 ,通过裁剪显示位置绘制扫描图片。首先定义正方形扫描框矩形的位置,这么默认使用屏幕中心的位置。通过上面定义的扫描框矩形,绘制扫描框的边框线。除正方形扫描框之外的背景颜色。扫描框四个边角线的宽度。扫描框四个边角线的长度。扫描框四个边角线的颜色。
2024-01-17 14:49:30
763
1
原创 Flutter之解决Window上项目无法运行到GoogleChrome上
最近在做一个简单的web项目,想尝试使用Flutter来实现,毕竟一套代码多端可以使用。在开发过程中,想在谷歌浏览器上看看实现的效果。选择Chrome(web),然后运行项目。大概的意思就是端口不对,无法打开。网上给的解决办法也是五花八门,但是效果甚微。这里提供一个终极的解决办法,一劳永逸。只需要配置一行代码。如果遇到相同问题的同学,可以试试,亲测有效。
2023-09-26 11:56:19
448
原创 Android进阶之网易云插件化换肤实现方案
大概是在2016年接触换肤功能,那时候接触的换肤方案实现起来比较繁琐,性能比较低。通过发送通知动态设置资源文件,图片,文字颜色等相关属性。随着技术的不断发展,越来越多的高性能换肤方案涌现出来,今天为大家详细介绍一种高性能,低侵入性的插件化换肤方案。
2023-09-18 09:14:31
466
1
原创 谷歌官方推荐的MVI基本使用
近年来,谷歌的应用框架不断推陈出新,从MVC,MVP,MVVM,到如今官方推荐使用的MVI架构。作为开发者时刻关注着技术的更新迭代,毕竟还是要靠技术吃饭。今天抱着学习的态度,我们一起了解一下Android架构的演进史以及MVI到底有什么优势值得让谷歌官方推荐使用。篇幅较长,请耐心阅读。
2023-09-13 10:12:22
483
原创 禁止指令重排序还有什么方法能够实现
回答这个问题之前,先搞清楚什么是指令重排序,为什么要禁止指令重排序,了解出现问题的原因,才能对症下药,从根本上解决问题。
2023-08-04 16:19:30
314
7
原创 Handler消息机制之epoll机制
在pollOnce中通过pollInner最终调用到epoll_wait,至此可以得出,Java层的nativePollOnce最终调用到JNI层的epoll_wait方法,并在在分析的过程中发现,JNI里面也有Looper。其他Java层的线程最终都是通过JNI调用pThread(感兴趣的同学可以查看JNI源码),对应的JNI也有和Java类名一样的线程相关类。应用程序中的任何操作包括:用户的点击事件,触摸事件,页面跳转等等,都会作为Message进入消息队列,最后被Handler处理。
2023-08-01 11:24:33
402
2
原创 网络编程之DNS域名解析
DNS 又称域名系统 (Domain Name System) 它将域名和IP地址相互映射成一个分布式数据库。使人们更加方便的访问互联网。
2023-07-27 14:43:22
179
1
原创 RecyclerView 之自定义LayoutManager实现探探效果
RecyclerView通过添加自定义LayoutManager实现类似探探首页的效果。RecyclerView的宽度设置为屏幕宽度。即 android:layout_width="match_parent"。@Override@Override//获取item个数//记录最后一个item位置//默认展示4个item}else {//重新布局item位置i < count;
2023-07-26 10:32:20
230
1
原创 Android自定义View之头部悬浮吸顶效果
今天介绍一种比较简单的RecyclerView头部悬浮吸顶效果的实现方式,通过自定义RecyclerView的ItemDecoration分割线即可实现,不需要其他辅助类。
2023-07-24 15:23:52
737
原创 Android源码剖析之LeakCanary源码解析
LeakCanary是一个开源的内存泄漏检查工具,使用简单,主要用来监测Activity和Fragment是否发生内存泄漏。如果发生内存泄漏,直接以引用链的形式展示出造成内存泄漏对象
2023-07-19 11:23:49
224
2
原创 Android系统启动流程源码解析
当Android手机从按下开机键时,屏幕点亮,到系统桌面的显示,整个过程系统是怎么启动的?下面我们一起深入源码来看一下。
2023-07-12 16:14:11
991
3
原创 Android-ThreadLocal并发安全与内存泄漏原理详解
看了本文你将会从学习到ThreadLocal是如何实现线程隔离的?为什么ThreadLocal会造成内存泄露? 如何解决?
2022-09-08 17:21:23
1836
2
原创 Android屏幕适配-宽高限定符,SmallestWidth,今日头条适配对比
前言屏幕适配一直作为Android开发中的痛点,对于开发者来说,适配形色各异的手机屏幕确实很头疼,今天小编就目前主流的三种屏幕适配方法进行详细讲解,希望能给大家带来更好的选择。一、屏幕适配是什么?由于安卓系统的开放性,不同的厂家都可以根据自己的需要修改Android系统,手机屏幕尺寸也各不相同,对于用户来说可以有不同的选择,但是对于软件开发者而言确实很头痛,一个软件需要同时适配不同尺寸的屏幕,确保给用户带来更好的体验。二、主流适配1.宽高限定符适配宽高限定符适配也可以叫屏幕分..
2020-11-10 11:45:33
1351
2
原创 Android源码分析之Handler消息机制
文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、Handler是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、Handler包括哪些部分1...
2020-10-10 11:34:42
114
原创 Git提交代码踩坑-真香
搞开发的同志们都知道git的强大,由于本人是Android开发,所以本文主要讲述在安卓开发中git命令行提交代码的使用。AndroidStdio非常优秀,只要在AS(AndroidStdio)中装入git插件,然后一顿神操作就能把新创建的项目上传到代码服务器中(由于太常用这里就不介绍AS中怎么使用git插件了)。在线上代码管理网站随便注册一个(公司要求码云)。然后就开始创建项目,在码云上创建仓...
2020-03-29 09:59:09
548
原创 Android面试必问的Activity的启动模式
很多时候在面试过程中或者在日常的开发过程中,大多数都会涉及到activity的启动模式.activity的启动模式一共有四种:standard(标准模式),singletop(栈顶复用模式),singletask(栈内复用模式),sinlginstance(唯一实例模式).1.standard.标准模式 activity的默认模式就是standard模式.在这个模式下,当我们启动一个ac...
2019-04-15 16:25:15
151
原创 Android面试必问的设计模式之单例模式详解
每次面试中都会遇到设计模式的问题,特别是单例模式在日常开发中的应用场景.以前就是知道有这个模式,没有深入的了解,今天正好学习了解一下.单例模式即在项目中提供唯一可访问当对象.只有一个对象被使用,实现了对象的重复使用.1.饿汉式/* 饿汉式 */public class SinglePattern { private static SinglePattern single...
2019-04-12 11:25:28
263
原创 Android自动隐藏状态栏与导航栏实现沉浸式
Android实现全屏,上拉或者下滑让状态栏与导航栏显示出来,不操作一段时间会自动隐藏;@Overridepublic void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && Build.VERSION.SDK_IN...
2018-12-18 11:17:17
1120
原创 Windows电脑使用git上传带码云遇到的坑(AndroidStdio)
由于公司需要代码上传带码云,我便使用自己的笔记本进行代码的上传(以前使用的都是Mac)。 1.第一步下载Git插件(插件地址:链接:https://pan.baidu.com/s/1-4ucqw1HSIPZKnKAwJyZSQ。提取码:03ub)。2.安装插件。(我是直接点next)3.将AndroidStio与Git关联。(选择版本控制工具)4.先在Androidstdio上VC...
2018-11-15 11:17:30
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人