• 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

近期文章

  • 使用ChatGPT开发Next.js图片转化工具网站
  • 阿里云轻量应用服务器WordPress版本升级
  • Android 项目集成 Flutter 模块
  • WordPress网站 301 重定向处理
  • 115个ChatGPT插件信息汇总表

工具网站

Webp To Jpg

Jpg To Webp

Webp To Png

Png To Webp

Ip Address Lookup

Ip Number Lookup

海外产品评测

Lonleyplanet

OutdoorRating

PawsRating

PlaytimeCritic

HomyRater

友情链接

崔庆才的个人博客

Trinea  (codeKK)

Piasy

Paincker

wanandroid

陈祖杰的BLOG

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