• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

陈文管的博客

分享有价值的内容

  • Android
  • Affiliate
  • SEO
  • 前后端
  • 网站建设
  • 自动化
  • 开发资源
  • 关于

Android 项目集成 Flutter 模块

2023年8月8日发布 | 最近更新于 2023年9月12日

Android项目上要集成Flutter模块,这样IOS研发用Flutter开发的功能模块,可以直接移植应用在Android上,降低开发成本。由于Flutter官网文档已经很久没更新了,有些配置信息是过期的,记录下Flutter模块集成中碰到的坑。

官网文档地址:将Flutter集成到现有应用

一、Android Studio 版本问题

集成配置的时候已安装的Android Studio版本是 Android Studio Bumblebee,这个版本可以正常安装Flutter插件和Dart插件,也可以正常创建Flutter工程,但是不能创建Flutter Module,创建的路径是在File->New-&g[……]

【阅读全文 ▽ 】

Android 弧形 RecyclerView 实现(Kotlin)

2023年6月12日发布 | 最近更新于 2023年8月24日

项目改版需要实现一个圆弧效果的滑动列表,网上没找到很好的开源实现,自己改了一版,给出具体实现步骤和源码,以下是项目实现效果截图。

Android圆弧列表实现

一、实现步骤

要求:当前选中的项要居中显示,总共要显示5个可见列表项,前后要各填充两个空数据,列表要以圆弧效果滚动,滑动停止之后要进行居中校正显示处理。

思路:监听列表滑动事件,在滑动的时候动态计算设置每个列表项距离顶部的距离,在滑动停止之后获取当前第一个可见列表项,平滑滚动到居中位置。

这个只是一个简单的基础数学题,滑动的时候计算设置GF两点的距离值即可,整个RecyclerView列表当做圆的一部分弧形区域。

三角形勾股定理

1. 列表滚动监听

在onScrolled方法中监听滚动,动态计算每个列表项需要[……]

【阅读全文 ▽ 】

Android平台动画类型详解

2023年3月23日发布 | 最近更新于 2023年8月24日

本文介绍Android平台上所有动画类型实现原理解析和实现范例,包括补间动画、帧动画、属性动画、View动画、Lottie、Scene和Transition动画、ViewPager2动画、ViewPropertyAnimator、SVGA动画、动画集合和自定义动画。每种动画方式都有其特点和适用范围,根据实际需求选择合适的方式可以提高开发效率和用户体验。

一、属性动画

Android的属性动画是指可以对任意View的属性进行动画操作,而不是像补间动画一样只支持几种固定的动画效果。属性动画可以对View的任意属性进行动画操作,包括但不限于位置、大小、透明度、旋转、缩放等。

实现原理

属性动画的实现原理是通过ObjectAnimator类[……]

【阅读全文 ▽ 】

Kotlin null 详解

2023年3月20日发布 | 最近更新于 2023年8月24日

在Kotlin中,null是一个重要的概念。相比于Java中的null,Kotlin对null做了更严格的控制,这使得在Kotlin中出现空指针异常的可能性更小。本篇博客将深入探讨Kotlin中的null,包括其定义、解决方案以及在实际项目中的应用。

Kotlin中的null

在Kotlin中,null是一个特殊的值,它表示一个变量或表达式没有被初始化或者没有有效的值。Kotlin中的null有着Java中的null的所有特性,例如可以被赋值给任何引用类型的变量,可以作为函数的返回值等。与Java不同的是,在Kotlin中,null是一个类型,而不仅仅是一个值。这意味着,如果一个变量可以为null,那么它的类型需要被声明为可为nul[……]

【阅读全文 ▽ 】

Android 残影数字动画实现详解

2023年2月20日发布 | 最近更新于 2023年8月24日

Android 残影数字属性动画效果,以及叠加梯形基座自定义View实现详解,附上GitHub代码资源(Kotlin)。

项目上要实现一个残影叠加效果的评分动画效果,常规数字显示较轻的残影动效,逢10的倍数残影效果加重,并在结束的时候带有抖动效果,分数底座跟随评分等级切换颜色,先看下实现效果GIF。

初始版本实现(ScoreAnimView):

优化后的版本实现(GhostingTextView):

一、实现原理详解(初始版本)

首先是得分动画,叠加了缩放、alpha透明度渐变、从下往上Y轴方向的偏移,以及加重动效时候阴影在X轴方向的偏移和描边stroke粗细大小的变化。

1)从底部冒出动[……]

【阅读全文 ▽ 】

Android 卡片旋转切换动效实现详解

2023年2月13日发布 | 最近更新于 2023年8月28日

Android 卡片旋转切换显示动效,加流光结束效果实现详解,附上GitHub代码资源(Kotlin),先看下实现效果GIF。

一、实现原理详解

1. 动画实现拆分

整体动画拆分成几部分再拼凑起来,第一步是卡片正面顺时针旋转+缩放,第二步是卡片Y轴方向翻转到背面,最后是叠加一个View显示流光效果。卡片的正面和背面分别用单个控件来单独实现各自的动效部分,叠加之后形成最终的效果。

第一部分rotation、scaleX和scaleY属性叠加,使用AnimatorSet一起执行这些属性的变化。

val ratationAnim = ObjectAnimator.ofFloat(mIvCardfront,[......]

【阅读全文 ▽ 】

Android 心率动画自定义控件实现

2023年2月9日发布 | 最近更新于 2023年8月28日

Android心率曲线平移动画自定义控件实现详解,并附上GitHub完整实现仓库资源。

项目上需要实现一个心率曲线波动的自定义动画,网上找了很多开源控件,没有想要的效果,综合网上已有的实现,改造实现了一个比较简单的心率波动动画,每个点之间用贝塞尔曲线连接,从左到右逐个绘制,满屏之后开始平移心率波动动画,以下是实现效果截图,GitHub上有实现效果GIF。

一、实现原理详解

1. 心率曲线的绘制

如果是绘制折线,只需要把数据点使用Path对象lineTo方法把所有数据点连接绘制即可,绘制曲线则使用cubicTo方法绘制贝塞尔曲线,让曲线连接点更平滑。每次绘制前重置Path对象,所有数据点连接完毕之后即可刷新[……]

【阅读全文 ▽ 】

Gnirehtet终端设备共享PC网络实践

2022年3月17日发布 | 最近更新于 2023年8月28日

目前的生产测试环境中,群控测试系统的基础架构是一个服务端对应N个PC Slave节点,每个PC Slave节点上连接着多台设备,这些设备有手机和车机,设备的网络连接方式是通过设备的WI-FI功能连接一个WI-FI信号实现,这种网络连接方式存在以下问题。

基于以上对网络稳定性的需求,需要使用更稳妥可靠的网络连接方案,无线网络不可靠,那么我们就考虑使用有线网络。

在初始调研设备共享PC网络的实现方案中有3种实现方式:

综合考虑生产应用的灵活性,和接入的成本,选择了Gnirehtet的方案。

目前的Android系统设备,不管是手机还是车载终端,一般都内置了 USB 网络共享功能,也就是手机通过USB和PC[……]

【阅读全文 ▽ 】

Android模拟定位实现详解

2021年5月5日发布 | 最近更新于 2023年8月28日

在导航测试场景中经常需要定位模拟和路线回放,记录下通过LocationManager.setTestProviderLocation()方法实现模拟地位,如果要测试的应用不支持TestProviderLocation模拟位置输入,可以考虑从HAL层入手,hook系统默认的GPS实现。

一、Android模拟权限开启配置

在Android6.0以下的版本中,需要在设置中勾选模拟定位的开关,在6.0以上就改成了选择模拟定位的应用,对应的开启配置方式也不一样,相同的是在AndroidManifest.xml都需要配置以下两个权限:

<uses-permission android:name="android.per[......]

【阅读全文 ▽ 】

Monkey测试有效性验证及测试策略优化

2021年1月24日发布 | 最近更新于 2023年8月28日

目前在应用稳定性测试中,经常用长时间的Monkey压测来发现一些时序上的问题,保证发版项目的稳定性,但是Monkey测试存在的问题就是随机性操作带来测试范围的偏差,记录下如何验证Monkey测试的有效性,如何优化Monkey稳定性测试,提高测试效率。

这边的测试验证以测试时长、代码覆盖率、单台和多台设备多次测试采集覆盖率数据来分析。

一、统计代码覆盖率的方式

Java层的覆盖率数据统计使用Jacoco,C++层的代码覆盖率使用gcov,gcov是Linux下GCC自带的一个C/C++代码覆盖率分析工具,关于Jacoco和gcov这边不做过多的介绍,自行搜索了解即可。

二、单台设备不同测试时长的代码覆盖率

[……]

【阅读全文 ▽ 】

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to Next Page »
博客公众号
博客公众号

GitHub

https://github.com/wenguan0927

近期文章

  • 阿里云轻量应用服务器WordPress版本升级
  • Android 项目集成 Flutter 模块
  • WordPress网站 301 重定向处理
  • 115个ChatGPT插件信息汇总表
  • Android 弧形 RecyclerView 实现(Kotlin)

友情链接

崔庆才的个人博客

Trinea  (codeKK)

Piasy

Paincker

wanandroid

陈祖杰的BLOG

海外产品评测

Lonleyplanet

OutdoorRating

PawsRating

PlaytimeCritic

HomyRater

闽ICP备18001825号-1 · Copyright © 2023 · Powered by chenwenguan.com