-
MediaPlayer音频与视频播放方法示例介绍
2023年04月25日我们可以通过这个API来播放音频和视频该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码和播放音视频。 它支持三种不同的媒体来源: 本地资源 内部的URI,比如你可以通过ContentResolver来获取 外部URL(流)对于Android所支持的的媒体格式列表 1.相关方法详解 1)获得MediaPlayer ...
阅读全文
-
Android应用程序的启动流程示例详解
2023年03月31日本文基于Android 11,主要分析应用程序的启动流程,会直接定位到ActivityStackSupervisor.startSpecificActivity函数开始,因为该函数前面的内容主要在Activity的启动流程中,可以通过这部分的文章来阅读。 看源码流程,需要戒骄戒躁,心态好。配合源码使用,建议先收藏,夜深人静,心血来潮再看。 通过分析应用进程的 ...
阅读全文
-
android轻量级无侵入式管理数据库自动升级组件
2023年03月01日这篇文章主要为大家介绍了android轻量级无侵入式管理数据库自动升级组件详解,有需要的朋友可以借鉴参考下,希望能够有所帮助! SpeSqliteManager4Android 改动日志 2023.2.14 完成SQLiteOpenHelper 2023.2.23 完成room 2023.2.25 完成架构重构 2023.2.26 新增架构设计图说明 介绍 一个轻量级无侵入式管理android ...
阅读全文
-
Compose自定义View实现绘制Rainbow运动三环效果
2023年02月14日本章节介绍的是一个基于Compose自定义的一个Rainbow彩虹运动三环,业务上类似于iWatch上的那个运动三环,不过这里实现的用的一个半圆去绘制,整个看起来像彩虹,三环的外两层为卡路里跟步数,最里层可设定为活动时间,站立次数。同样地首先看一下gif动图: 大致地介绍一下Rainbow的绘制过程,很明显图形分两层,底层有 ...
阅读全文
-
Android通知栏增加快捷开关的功能实现教程
2023年02月02日我们通常可以在通知栏上看到“飞行模式”、“移动数据”、“屏幕录制”等开关按钮,这些按钮都属于通知栏上的快捷开关,点击快捷开关可以轻易调用某种系统能力或打开某个应用程序的特定页面。那是否可以在通知栏上自定义一个快捷开关呢?答案是可以的,具体是通过TileService的方案实现。 TileService继承自Service,所以它 ...
阅读全文
-
ijkPlayer播放器的全自动编译脚本及最终编译包
2023年01月12日这篇文章主要介绍了ijkPlayer播放器的全自动编译脚本及最终编译包,有需要的朋友可以借鉴参考下,希望能够有所帮助! ijkPlayer 编译全格式支持 .so库基本步骤 拉取docker镜像 //命令行执行如下命令即可 docker pull adajqd/ijkplayer-buildenv:1.0 在本机docker目录下check ijkplayer项目,有代理的最好自己挂上 ...
阅读全文
-
Android之Preference控件基本使用示例详解
2022年12月23日Preference是Android的控件之一,相对来说我们用的比较少,但在系统应用的Settings设置应用模块中大部分由Preference控件组成。 主要成分 Preference主要角色是子控件,PreferenceCategory相当于LinearLayout和Relative layout,一般进行Preferenc分类组合,设置不同小标题。PreferenceCategory是所用preference元素的 ...
阅读全文
-
Android bug最近遇到的几个坑解决分享
2022年12月13日在 Android 10 中提出了分区存储,对于外部存储空间的读写,除了需要处理FileProvider外,还需要配置 requestLegacyExternalStorage 。 在 Android R、S 中,进行了更严格的限制,需要获取完整的外部存储控制权限。 作者按:笔者负责的项目受技术之外因素的影响,改变现有的文件存储路径的阻力非常大 判断与申请完全的 ...
阅读全文
-
Android RecyclerLineChart实现图表绘制教程
2022年12月09日本篇介绍线性图标RecyclerLineChart 的绘制,对于图表的公共部分X、Y轴,背景Board等的绘制先前章节已经有过介绍,这里不再重复;以及高亮选中顶部的poupWindow基本的绘制逻辑跟BarChart类似,可参照之前章节。所以针对LineChart,这里只介绍主体图表的绘制逻辑,以及线性表底部的drawFillColor填充。 首先介绍主体图表 ...
阅读全文
-
Android入门之onTouchEvent触碰事件的示例详解
2022年12月05日平时包括之前的例子大量是基于TouchListener如:onClick这种一类的事件。 今天给大家带来的是TouchListener与OnTouchEvent的比较,以及多点触碰的知识点! TouchListener是基于监听的,而OnTouchEvent则是基于回调的! 因此我们通过一个小例子,来擅述同样是触碰事件的ouTouchEvent是什么样的。 onTouchEvent应用场景 o ...
阅读全文
-
Android Fragment的具体使用方式详解
2022年12月02日Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把他看成一个小型的Activity,又称Activity片段! Fragment的简单用法 在一个Activity中添加两个Fragment,并让这两个Fragment平分Acti ...
阅读全文
-
Android ViewPager2+Fragment联动效果的实现思路
2022年12月01日本篇主要介绍一下 ViewPager2 + Fragment , 上篇中简单使用了ViewPager2 实现了一个图片的滑动效果, 那图片视图可以滑动, ViewPager2也可以滑动 Fragment。 概述 ViewPager2 官方对它的描述就是 以可滑动的格式显示视图或 Fragment 也就说明提供了滑动Fragment的实现 并且还很简单, 下面来看看吧 实现思路 1.Activity ...
阅读全文
-
Android Java try catch 失效问题及解决
2022年11月25日如果你在 异常抛出处 的 外层函数 中添加了 try catch 不生效的话, 就试试下面的办法吧. 解决办法 方法一 如果在 异常抛出处 或 外层调用函数中 使用了 Runnablerun 函数, try catch 需要添在 run 函数里面, 如下: new Thread(new Runnable() { @Override public void run() { try { throw new IllegalArgumentExce ...
阅读全文
-
Android RecyclerView四级缓存源码层详细分析
2022年11月23日RecyclerView是一个非常重要的控件,是任何一个研发都需要掌握的,这个控件的设计也是非常优秀的,值得我们去学习。RecyclerView的核心就是缓存机制,RecyclerView为了提升效率使用了4级缓存: mChangeScrap与 mAttachedScrap:用来缓存还在屏幕内的 ViewHolder,是ViewHolder的ArrayList 集合。 mCacheView:缓存将要 ...
阅读全文
-
Android Flutter实现兴趣标签选择功能
2022年11月07日我们在首次使用内容类 App 的时候,不少都会让我们选择个人偏好。这种通常是通过标签来实现,比如列举出一系列的技术栈,然后让我们选择。通过这些标签选择可以预先知道用户的偏好信息,从而可以选择感兴趣的内容进行推送,这样会让用户快速看到想看的内容。我们本篇就来看看 Flutter 如何实现兴趣标签的选择,这可以通 ...
阅读全文
-
Android ConstraintLayout约束布局使用详解
2022年11月01日可以让本View的一个方向置于目标View的一个方向,比如 layout_constraintBottom_toBottomOf:本View的下面置于目标View的下面,与此类似的还有 layout_constraintEnd_toEndOf, layout_constraintStart_toStartOf,layout_constraintTop_toTopOf,layout_constraintBottom_toTopOf 等等。 例如,B放在A的上面,就可以让 ...
阅读全文
-
Android Flutter实现自由落体弹跳动画效果
2022年10月27日粒子运动是将对象按照一定物理公式进行的自定义轨迹运动,与普通动画不同的是,它没有强制性的动画开始到结束的时间概念,因为粒子的运动开始到结束的时间并不是固定的,而是由具体场景的物理运动公式来决定的,什么时候结束由你来定,例如:小球自由落体弹跳动画松开小球开始到地面停止的时间就跟距离地面初始高度有关 ...
阅读全文
-
PowerManagerService之亮屏流程示例分析
2022年10月21日亮屏的方式有很多,其中最常用的是 Power 键亮屏,这个流程比较简单,本文希望通过分析这个流程,从而理清操作屏幕的能用流程,为后面的文章打下基础。 Power键亮屏 本文以 Power 键亮屏为例进行分析,它会调用 PowerManagerService#wakeUp() // PowerManagerService.java @Override // Binder call public void wake ...
阅读全文