
Android 随手笔录
文章平均质量分 90
不渴望能够一跃千里,只希望每天能够前进一步。
帅次
优快云博客专家、华为云享专家、阿里云专家博主、软件设计师,深耕移动开发领域多年,分享一些你需要的小知识点!
展开
-
MacOS 15.3.1 安装 GPG 提示Error: unknown or unsupported macOS version: :dunno
当你看到 -bash: gpg: command not found 这样的错误消息时,它表明 Bash 终端无法在你的 macOS 系统上找到 gpg 命令。这通常意味着 GPG(GNU Privacy Guard)没有安装在你的系统上,或者 GPG 的可执行文件没有包含在你的 PATH 环境变量中。原创 2025-03-14 01:01:15 · 2723 阅读 · 2 评论 -
Android IdleHandler 原理解析与应用场景
IdleHandler 是 Android MessageQueue 机制中的一个接口,允许在主线程空闲时执行任务。本文详细解析 IdleHandler 的工作原理,包括 MessageQueue 结构、触发时机及其使用方法。同时,我们探讨了 IdleHandler 的应用场景,如延迟初始化、资源回收和数据预加载等,并分析了其优缺点。合理使用 IdleHandler 可以优化应用性能,提高用户体验。本文将帮助开发者深入理解 IdleHandler 并在实际开发中灵活运用。原创 2025-03-13 09:00:00 · 3025 阅读 · 28 评论 -
Android Media3 ExoPlayer 开发全攻略:从基础集成到高级功能实战
本文系统讲解如何利用 Android Media3 ExoPlayer 构建高性能流媒体播放器。作为 Google 新一代媒体框架的核心组件,ExoPlayer 凭借对 HLS/DASH 等协议的原生支持、自适应码率优化及模块化架构,成为复杂媒体场景的首选方案。文章从依赖配置入手,详细演示播放器初始化、视图绑定与基础播放控制逻辑,并提供 Kotlin 代码实例。原创 2025-03-13 00:35:04 · 3684 阅读 · 15 评论 -
2024年博客之星主题创作|Android 开发:前沿技术、跨领域融合与就业技能展望
随着技术的不断进步,Android应用开发领域正经历着深刻变革,前沿技术如人工智能、增强现实、5G等技术的不断涌现,为应用开发提供了新动力。跨领域技术的融合创新,如物联网与区块链技术与Android应用的结合,推动了应用的创新与商业模式的变革。面对就业压力,Android开发者应积极拓宽职业路径,探索新兴领域,如IoT、人工智能等,同时掌握Flutter等必备技能,提升就业竞争力。鸿蒙系统的发展也为Android开发者提供了新的就业机会,期待未来能提供更多岗位,促进经济稳步提升。原创 2025-01-20 11:23:08 · 6123 阅读 · 72 评论 -
跨国公司撤出背后的启示:中国IT产业的挑战与机遇
近日,IBM宣布撤出其在中国的两大研发中心,引发了关于跨国公司在华研发战略调整的广泛讨论。这一决定凸显了全球经济形势变化下跨国公司在中国市场的缩减趋势,同时对中国IT人才和产业发展带来了深远影响。虽然部分从业者面临职业挑战,但中国本土科技公司崛起为其提供了新的机遇。未来,中国IT产业应以自主创新为核心,加强技术研发,提升国际竞争力,并在全球化合作中寻求平衡,推动中国科技行业迈向新的高峰原创 2024-09-14 11:00:26 · 1886 阅读 · 50 评论 -
Android 系统下:普通应用无缝安装,Launcher 应用安装遭遇罕见障碍解析
Installation did not succeed.The application could not be installed: INSTALL_FAILED_INVALID_INSTALL_LOCATIONFailure [INSTALL_FAILED_INVALID_INSTALL_LOCATION: Cannot install updates to system or vendor apps on sdcard]原创 2024-09-12 20:00:00 · 2302 阅读 · 28 评论 -
Android 汉语转拼音实现
1、准确、完善的字库;2、拼音转换速度快;3、多拼音格式输出支持;4、常见多音字识别;5、简繁体中文转换;6、支持添加用户自定义字典。原创 2024-08-20 09:02:15 · 2152 阅读 · 35 评论 -
Android The emulator process for AVD XXX has terminated.
1、释放PC空间(可能磁盘空间不足)2、将CPU/ABI设置从“ armeabi-v7a ”更改为“ x86_64 ”3、清除模拟器的数据解决了这个问题,然后重新启动了模拟器4、AVD卸载重装,并重启AS5、版本过高,降级模拟器版本。6、检查是否含有中文。原创 2021-09-07 19:09:27 · 22759 阅读 · 11 评论 -
Android WebView 升级
WevView内核升级解决方案原创 2024-05-31 08:00:00 · 6531 阅读 · 0 评论 -
adb 常用命令汇总
Android Debug Bridge (ADB) 是一个多功能命令行工具,它允许你与连接的Android设备进行通信。ADB主要用于调试和与设备进行各种交互,如安装和调试应用、访问设备的shell、复制文件等。它包含在Android SDK中,并且是Android开发者的重要工具之一。原创 2024-01-15 06:00:00 · 37957 阅读 · 9 评论 -
Android getApplication()、getApplicationContext的区别
在 Activity 调用 getApplicationContext()返回的是当前Activity或Fragment所属的Application对象。在 Activity 调用 getApplication()通常来说,如果需要访问全局应用程序级别的变量或配置,可以使用。是两种获取应用程序上下文的方法,但它们有一些细微的区别。如果需要一个通用的应用程序级别的上下文,可以使用。四、主要的区别(Activity调用该方法)返回的是整个应用程序级别的上下文。,特别是在长时间运行的异步任务中。原创 2024-01-08 06:00:00 · 2620 阅读 · 0 评论 -
Android ChatCPT集成
这只是个简单的Demo,接入起来十分简单。但是具体商用还是要结合自己的业务场景来做,这个仅供参考。按照上面返回的JSON生成即可,提取choices.message.content即可。集成好网络框架(默认使用Retrofit)2.3 上行参数(ChatGPTUPBodyBean)创建API Keys。1.以Body的形式传递数据。原创 2023-09-05 08:00:00 · 541 阅读 · 0 评论 -
Android 控件截图保存本地并分享
截图当前页面某个控件的内容,并且保存在本地,可分享。原创 2023-08-15 08:00:00 · 1156 阅读 · 0 评论 -
Android 渐变背景色
单纯的颜色背景已经不能够满足UI大佬们的发挥,渐变色背景无疑成了一个炫技的方向。现在越来越多的地方用到了渐变色,如Logo/背景色/按钮等。原创 2023-06-28 07:00:00 · 9035 阅读 · 2 评论 -
BigDecimal 简单使用
float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果。原创 2022-05-26 14:32:54 · 2765 阅读 · 8 评论 -
Android 抛弃IMEI改用ANDROID_ID
用户首次设置设备时随机生成的字符串,对于应用签名密钥、用户和设备的每个组合都是唯一的。 ANDROID_ID 的值由签名密钥和用户限定。原创 2022-02-10 13:08:03 · 8583 阅读 · 0 评论 -
Jetpack DataStore 你总要了解一下吧?
DataStore是 Android Jetpack 中的一个组件,它是一个数据存储的解决方案,跟SharedPreferences一样,采用key-value形式存储。原创 2022-01-28 14:12:13 · 2742 阅读 · 1 评论 -
TCP三次握手四次挥手(三国版)
TCP的三次握手四次挥手TCP的三次握手和四次挥手不管是我们自己使用还是面试都是需要掌握的,本文先将原理,然后以三国为例讲个小栗子帮助理解。先来一张图:标志位TCP在其协议头中使用大量的标志位或者说1位(bit)布尔域来控制连接状态,一个包中有可以设置多个标志位。位码即TCP标志位,有6种标示: SYN(synchronous建立联机) 创建一个连接 ACK(acknowledgement 确认) 确认接收到的数据...原创 2021-11-26 14:50:32 · 7034 阅读 · 24 评论 -
Android 快别用Toast了,来试试Snackbar
Toast: setGravity() shouldn't be called on text toasts, the values won't be used。Toast.setGravity无效(报错)。原创 2021-11-11 15:57:51 · 5688 阅读 · 19 评论 -
Android 12 启动画面-SplashScreen
Android 12 新功能:应用启动画面 - Android 12 还为所有的应用带来了新的启动画面。应用也可以通过多种方式来定制启动画面,以彰显其独有的品牌个性。原创 2021-11-03 11:55:49 · 11371 阅读 · 14 评论 -
Android 序列化(Serializable和Parcelable)
想要永久的保存对象数据吗?想要对象在网络中传递吗?想要对象在IPC间传递吗?那就赶紧序列化(Serializable和Parcelable)吧。原创 2021-10-28 10:32:17 · 1226 阅读 · 2 评论 -
Android 打开相册选择图片(史上最简单)
这是一个打开相册选择图片的故事,不涉及拍照、多图片选择,就是简单的一个单图片选择并展示(不涉及任何权限)。1、activity_main.xml2、MainActivity.java3、下面咱就来运行效果原创 2021-06-28 15:17:23 · 13114 阅读 · 4 评论 -
Android Glide使用详解
Glide 是一个快速高效的 Android 开源媒体管理和图像加载框架,它将媒体解码、内存和磁盘缓存以及资源池封装到一个简单易用的界面中。Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的Api十分灵活,开发者甚至可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个定制化的基于HttpUrlConnection的栈,但同时也提供了与Google Volley和Square OkHttp快速集成的工具库。原创 2021-08-30 10:47:40 · 12509 阅读 · 44 评论 -
uses-permission和permission区别及使用
uses-permission和permission的区别、uses-permission(权限申请)、permission(自定义权限)、permission-group(自定义权限组)、Android权限大全。原创 2021-08-27 13:53:12 · 3987 阅读 · 32 评论 -
Android 架构MVC MVP MVVM+实例
MVC、MVP和MVVM是软件比较常用的三种软件架构,这三种架构的目的都是分离,避免将过多的逻辑全部堆积在一个类中。原创 2021-08-17 15:12:17 · 4401 阅读 · 39 评论 -
Android ViewBinding使用详解
View Binding(视图绑定)视图绑定是一项功能,可让你更轻松地编写与视图交互的代码。在模块中启用视图绑定后,它会为该模块中存在的每个 XML 布局文件生成一个 绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。在大多数情况下,View Binding会替换findViewById.设置视图绑定在一个模块一个模块的基础上启用。要在模块中启用视图绑定,请在Module级build.gradle文件中将viewBindi...原创 2021-08-11 15:16:08 · 6203 阅读 · 20 评论 -
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process
java.lang.RuntimeException: Unable to create application com.ads.app.MyApplication: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.ads.app. Make sure to call FirebaseApp.initializeApp(Context) first.原创 2021-02-09 11:08:02 · 5871 阅读 · 1 评论 -
Android 通过反射获取Application实例
Android 通过反射获取Application实例原创 2021-06-15 14:27:12 · 910 阅读 · 0 评论 -
Android App Bundle 已取代 APK
对新应用程序的要求更新现有应用程序的要求即时体验的要求一起前进利用功能模块,实现自定义分发应用模块化功能模块清单测试 Play Feature Delivery为资源构建 URI有关功能模块的注意事项原创 2021-04-16 10:07:47 · 2601 阅读 · 0 评论 -
Android12新特性
在 Android 11 的首个开发者预览版发布将近 1 年后,今天谷歌发布了 Android 12 的首个开发者预览版。由于开发团队以及合作伙伴受到疫情的影响,谷歌推迟了 Android 11 的正式发布时间,但看起来谷歌还是按照既定的路线图更新 Android 12。在Android 12中,我们还致力于为您提供新工具,以为用户打造出色的体验。首先从兼容的媒体转码之类的东西开始,它可以帮助您的应用使用最新的视频格式(如果您尚不支持它们),以及轻松地将丰富的内容(例如图像和视频)复制/粘贴到您的应用中原创 2021-02-21 10:35:13 · 5575 阅读 · 1 评论 -
Android 解决65536
解决64K限制,当你的应用及其引用的库超过 65,536 个方法时,你会遇到构建错误,表明你的应用已达到 Android 构建架构的限制。原创 2021-08-06 15:32:45 · 1751 阅读 · 16 评论 -
Android 权限大全
Android 权限大全原创 2021-08-05 17:54:31 · 2027 阅读 · 2 评论 -
Android 网络请求框架okhttputils报错(okhttp3找不到)
Gralde升级导致网络请求框架okhttputils报错(okhttp3找不到)原创 2021-08-04 19:08:14 · 4539 阅读 · 3 评论 -
Socket http和https的使用区别
本工具类 SocketHttpRequester 使用 SSLSocket 实现 Android 环境下的文件上传,通过 HTTPS POST 请求将文件和参数上传至服务器。类中包含核心方法 postSSLSocketFactory,负责构建 multipart/form-data 格式请求,包括文本参数与文件内容的封装。文件部分通过输入流读取,支持多文件上传。请求头包含内容类型、长度等信息,并通过 Content-Length 计算数据总长度,确保文件完整上传。原创 2017-02-13 15:13:13 · 17307 阅读 · 0 评论 -
Volley的常规使用
import java.io.UnsupportedEncodingException;import java.net.Inet6Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketExc原创 2017-06-19 13:34:15 · 1420 阅读 · 0 评论 -
OkhttpUtils单、多文件上传
OkhttpUtils文件上传,多文件上传时addFile中name 需要更变,要不只是传第一个后面的不传,类似Map键值存储,已解决多文件上传只传第一个的问题原创 2017-07-10 10:27:03 · 7940 阅读 · 0 评论 -
OkHttpUtils的常规使用
OkHttpUtils的常规使用,上传图片,请求头带有中文字符乱码等原创 2017-06-19 13:25:07 · 3407 阅读 · 1 评论 -
Android 文件存储(图片存储)
Android 文件存储 、Android 图片存储 。原创 2021-05-17 18:31:24 · 2678 阅读 · 0 评论 -
Activity 通用Dialog 以及避免IllegalArgumentException
关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析、Dialog位置发生偏移原创 2017-06-01 16:24:09 · 2928 阅读 · 2 评论 -
Intent 传递大量数据带来问题
Intent在传递数据时是有大小限制的,这里官方并未详细说明,不过通过实验的方法可以测出数据应该被限制在1MB之(1024KB),采用的是传递某产品详情,发现当数据大小超过1024的时候,程序就会出现闪退、停止运行等异常(不同的手机反应不同),因此可以判断Intent的传输容量在1MB之内。原创 2017-02-21 10:35:11 · 3058 阅读 · 0 评论