Android开发flow常见API的使用示例详解
目录collect通知flow执行launchIn()指定协程作用域通知flow执行catch{}捕捉异常merge()合流map{}变换发送的数据类型总结 collect通知flow执行
public suspend inline fun <T> Flow<T>.col...[2022/8/23]
Android性能优化大图治理示例详解
目录引言1 自定义大图View1.1 准备工作1.2 图片宽高适配1.3 BitmapRegionDecoder2 大图View的手势事件处理2.1 GestureDetector2.2 双击放大效果处理2.3 手指放大效果处理 引言
在实际的Android项目开发中,图片是必不可少的元素,几乎...[2022/8/16]
常见Android编译优化问题梳理总结常见Android编译优化问题梳理总结
目录编译常见问题踩坑1踩坑2 编译常见问题
在开发过程中,有碰到过一些由于编译优化导致的代码修改并不符合我们预期的情况。这也就是之前为什么我经常说编译产物其实是不太可以被信任的。
方法签名变更,底层仓库的方法变更但是上层模块并没有跟随一起重新编译导致的这个问题。常量优化,将一些常量的调用点直接...[2022/8/16]
Android自定义View实现柱状波形图的绘制
目录前言实现基本属性设计监听器绘制图形左右拖动完整代码 前言
柱状波形图是一种常见的图形。一个个柱子按顺序排列,构成一个波形图。
柱子的高度由输入数据决定。如果输入的是音频的音量,则可得到一个声波图。
在一些音频软件中,我们也可以左右拖动声波,来改变音频的播放进度
本文举例的自...[2022/8/16]
Android源码导入AndroidStudio或IntelliJ?IDEA的方法Android源码导入AndroidStudio或IntelliJ?IDEA的方法
目录一、前言二、idegen使用方法1. 全编AOSP2. 编译生成idegen.jar3. 生成IDE配置文件4. 将工程导入到IDE 一、前言
经常和Android系统源代码(AOSP)打交道的人,如果要去修改系统源码,显然用SourceInsight、Notepad++、vim这些工具有些...[2022/8/15]
Android自定义轮播图效果
本文实例为大家分享了Android自定义轮播图的具体代码,供大家参考,具体内容如下
定义Banner
主要使用ViewPager实现滑动
public cla Banner extends FrameLayout {
? ? public Context context;
? ? ...[2022/8/15]
Android实现串口通信Android实现串口通信
本文实例为大家分享了Android实现串口通信的具体代码,供大家参考,具体内容如下
生成so文件
首先确保已经安装了NDK和CMake
然后创建一个SerialPort.java文件
主要用来处理so文件
注意包名一旦写好不要更改位置,具体代码:
import a...[2022/8/15]
Android开发之permission动态权限获取详解Android开发之permission动态权限获取详解
Android开发之permi ion动态权限获取,供大家参考,具体内容如下
说明
Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户。在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在运行时根据用户的需要...[2022/8/15]
Android开发EditText实现密码显示隐藏
最近在做一个登录、注册页面,里面需要显示或隐藏密码,故做了一个简单的显示和隐藏功能。
关键类TextView.setTransformationMethod(TransformationMethod method),其中TransformationMethod 有两个子类:
HideRetu...[2022/8/2]
Android架构发展进化详解
目录一.MVC架构1.概述2.例子二.MVP架构1.概述2.例子三.MVVM架构1.概述2.例子四.Clean架构1.概述2.例子五.MVI架构1.概述2.例子六.总结1.从MVC架构到MVI架构2.从clean code到clean coder3.MVI架构之后 一.MVC架构
1.概...[2022/8/1]
Android实现网易云音乐高仿版流程Android实现网易云音乐高仿版流程
目录效果图整体分析轮播图布局显示数据按钮布局显示数据推荐歌单布局显示数据底部布局显示数据迷你控制条播放列表弹窗 效果图
效果图依次为发现界面顶部,包含首页轮播图,水平滚动的按钮,推荐歌单;然后是发现界面推荐单曲,点击单曲就是直接进入播放界面;最后是全局播放控制条上点击播放列表按钮显示的播放...[2022/8/1]
android实现icon动态旋转效果
本文实例为大家分享了android实现icon动态旋转效果的具体代码,供大家参考,具体内容如下
碰到客户的这样一个需求,点击icon后,前景的icon开始旋转,背景的icon不动,就是这样一个效果
通过第三方的方法是不可能实现的,我这里是通过修改系统launcher的代码来实现。实现...[2022/7/20]
UICollectionView 实现图片浏览效果
目录一、效果展示二、实现思路三、代码整理1、PhotoBrowseViewLayout2、PhotoBrowseCollectionViewCell3、CollectPhotoBrowseView四、总结与思考 一、效果展示
废话开篇:利用 UICollectionView 简单实现一个图片浏览...[2022/7/20]
Android Studio实现简单补间动画
本文实例为大家分享了Android Studio实现简单补间动画的具体代码,供大家参考,具体内容如下
1、动画发在re anim/,创建new/Directory
2、创建动画, 平移,缩放,旋转,改变透明度
平移
<?xml version="1.0" e...[2022/7/20]
Android Studio实现智能聊天
本文实例为大家分享了Android Studio实现智能聊天的具体代码,供大家参考,具体内容如下
1、布局activit_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:androi...[2022/7/20]
Android动态更换应用图标详情Android动态更换应用图标详情
目录一、背景二、技术实现 一、背景
近日,微博官方发布了一项新功能,即可以在App设置中动态更换微博的显示图标样式。根据微博官方的说法,除了最原始的图标外,微博还推出了另外10种不同的样式,既有3D微博、炫彩微博等保留了眼睛造型的新样式,也有奶酪甜馨、巧克力等以食物命名的“新口味&r...[2022/7/4]
Android开发Kotlin实现圆弧计步器示例详解
目录效果图定义控件的样式自定义StepView绘制文本坐标Android获取中线到基线距离 效果图
定义控件的样式
看完效果后,我们先定义控件的样式
<!-- 自定义View的名字 StepView -->
<!-- name 属性名称 for...[2022/6/27]
Android自定义弹出框的方法
在开发Android项目的过程中,弹出框真的是我们的常见的一种互动式窗体,但是Android系统自带的弹出框往往都不能满足我们的需要,大多数的时候需要我们自定义一种更漂亮的窗体来来展示给用户。
接下来是我很久之前用的一个自定义弹出框,记录一下,以便自己日后使用。
0、先来一张效果图
...[2022/6/21]
Android学习之BottomSheetDialog组件的使用
目录基本介绍基础使用其他功能实现圆角样式实现去弹窗外部遮罩阴影关闭触发设置列表视图使用 基本介绍
BottomSheetDialog是底部操作控件,可在屏幕底部创建一个支持滑动关闭视图。
目前依赖使用如下:
implementation ''com.google.android.mate...[2022/6/21]
Android基础入门之dataBinding的简单使用教程Android基础入门之dataBinding的简单使用教程
目录前言1.前期准备1.1打开dataBinding1.2修改布局文件1.3修改Activity方法2.DataBinding的使用2.1属性更新2.2<data>标签2.2.1简单数据的定义与绑定2.2.2复杂数据的定义与绑定2.3事件绑定2.3.1点击事件绑定2.3.2点击事件回传数...[2022/6/21]
详解Android如何实现阴影效果
目录实现形式elevationCardView属性shadow属性layer配置文件自定义实现小结 实现形式
elevation
Material Design提供了View的阴影效果设置。主要由两个属性决定:elevation和translationZ。
Z = elevation +...[2022/6/20]
Android通过交互实现贝塞尔曲线的绘制
目录前言获取触控位置交互绘制实现绘制代码运行效果总结 前言
之前几篇我们介绍了贝塞尔曲线的原理、绘制曲线和动效实现,这些都是代码预设好的,如果我们要根据需要自行绘制曲线,就需要使用交互来实现了。本篇我们先来介绍简单的交互式绘图,通过获取触控位置来设定贝塞尔曲线的控制点,从而实现交互式绘制曲线。
...[2022/5/23]
Android?Studio实现简易计算器设计
本文实例为大家分享了Android Studio实现简易计算器的具体代码,供大家参考,具体内容如下
一、题目
1、如图所示(实际设计,类似此界面样式即可,全屏时,按钮将会纵向拉伸),利用网格布局管理器设计一个居中、满屏计算器,项目名称:clc666b;(666,改成自己的实际编号)
2、...[2022/5/18]
Android开发优化之Apk瘦身优化指南
目录了解APK结构Android Size Analyzer移除未使用的资源启用资源缩减 (不打包)动态库打包配置总结 了解APK结构
在讨论如何缩减应用的大小之前,需要了解应用APK的结构。APK文件是由一个Zip压缩文件组成,其中包含构成应用的所有文件。其中包括Java类文件、资源文件及已编...[2022/5/18]
Android?Studio使用自定义对话框效果Android?Studio使用自定义对话框效果
Android Studio基础使用自定义对话框,供大家参考,具体内容如下
兼容低版本的APP运行
第一步:新建新的空白activity,布局XML设置如下
该APP的启动界面activity_main.xml
<?xml version="1.0" encodi...[2022/5/18]
Android?贝塞尔曲线绘制一个波浪球
目录前言一、绘制 backgroundColor 文本二、构建 circlePath三、绘制波浪线四、取交集五、绘制 foregroundColor 文本六、添加动画七、使用 前言
当 flutter 的现有组件无法满足产品要求的 UI 效果时,我们就需要通过自绘组件的方式来进行实现了。本篇文章...[2022/5/18]
基于Android实现可滚动的环形菜单效果基于Android实现可滚动的环形菜单效果
效果
首先看一下实现的效果:
可以看出,环形菜单的实现有点类似于滚轮效果,滚轮效果比较常见,比如在设置时间的时候就经常会用到滚轮的效果。那么其实通过环形菜单的表现可以将其看作是一个圆形的滚轮,是一种滚轮实现的变式。
实现环形菜单的方式比较明确的方式就是两种,一种是自定义View,...[2022/3/29]
Android实现拍照添加时间水印
本文实例为大家分享了Android实现拍照添加时间水印的具体代码,供大家参考,具体内容如下
效果如下图 :
1、拍照
非空判断 拍照
?if (mCamera0 != null){
? ? ? ? ? ? ? ? mCamera0.takePicture(null, nu...[2022/3/29]
Android实现拍照或者选取本地图片
本文实例为大家分享了Android实现拍照或者选取本地图片的具体代码,供大家参考,具体内容如下
总体流程
从selectPhotoActivity中启动图册或者相机,再根据获取的uri进行裁剪,返回uri,再对这个uri执行一系列操纵。
从相册选取图片
private void...[2022/3/29]
Android实现简单的照相功能
一个简单的照相功能,拍照之后在另一个activit中显示出拍照的图片。首先是布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http: chemas.android.com/...[2022/3/29]
Android利用MediaRecorder实现录音功能
本文实例为大家分享了Android利用MediaRecorder实现录音功能 的具体代码,供大家参考,具体内容如下
android用手机录音保存到sd卡中;
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<Lin...[2022/3/29]
Androidstudio调用摄像头拍照并保存照片
本文实例为大家分享了Androidstudio调用摄像头拍照并保存照片的具体代码,供大家参考,具体内容如下
首先在manifest.xmlns文件中声明权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:a...[2022/3/29]
Android调用手机摄像头拍照和录音功能
本文实例为大家分享了Android调用手机摄像头拍照和录音功能的具体代码,供大家参考,具体内容如下
调用摄像头拍照:
public cla MainActivity extends Activity {
?
? ? private Button button;
? ? privat...[2022/3/29]
Android自制九宫格解锁控件
本文实例为大家分享了Android自制九宫格解锁控件的具体代码,供大家参考,具体内容如下
前两天从网上学习了下如何自定义一个九宫格解锁的控件,于是自己根据逻辑写了一遍,自定义控件的代码如下:
public cla LockedView extends View {
?
? ? pri...[2022/3/29]
Android调用外置摄像头的方法
本文实例为大家分享了Android调用外置摄像头的具体代码,供大家参考,具体内容如下
1、布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="match_pa...[2022/3/29]
Android 模拟地图定位功能的实现Android 模拟地图定位功能的实现
实现原理:
手机定位方式目前有4种:
基站定位WIFI定位GPS定位AGPS定位
本工程利用手机自带的"模拟位置"功能实现运行时修改LocationManager结果。
原理:使用android自带的调试api,模拟gps provider的结果。
...[2022/2/28]
Android实现一个倒计时自定义控件
目录(一)前言(二)效果展示(三)实现思路(三)代码地址总结 (一)前言
Android 其实提供了一个倒计时控件叫做CountDownTimer,这个倒计时控件用起来也很简单,但是要按照我们想要的倒计时样式去做就比较繁琐了。比如说我们希望倒计时按照我们想要的样式展示HH:MM:SS或者是HH-...[2022/2/14]
Android实现网易云推荐歌单界面Android实现网易云推荐歌单界面
目录前言一、实现1.自定义一个圆角图片控件(也可直接使用第三方框架)2.进行布局摆设3.图片切换动画效果二、实现效果展示三、总结 先来看看网易云APP的效果:
前言
关于网易云音乐推荐歌单界面的实现
一、实现
1.自定义一个圆角图片控件(也可直接使用第三方框架)
由于是一些...[2022/2/14]
Android实现未读消息小红点显示实例
目录代码实现小红点实现总结 使用 fragmentLayout 实现,可以把小红点添加到任意 view 上。
效果 添加小红点到 textview 上
添加小红点到 imageview 上
代码实现
首先定义一个圆形 drawable
import android.g...[2022/2/14]
Android关于Button背景或样式失效问题解决方法
目录前言问题描述:问题原因:解决方法:总结 前言
最近在学习安卓开发的时候遇到了一个问题,使用Android Studio在为Button设置背景颜色的时候发现设置好后却在运行模拟机上失效了。经过一番查阅资料后才有了正确的解决办法,相信这是很多初学Android开发的朋友都会遇到的一个问题,希望...[2022/1/24]
Android中如何使用Glide加载图像
在进入 Glide 示例之前,我们应该知道什么是 glide,Glide 是 muyangmin 开发的一个图像处理库。使用 glide 库,我们可以显示图像、解码图像、缓存图像、动画 gif 等等。
这个例子演示了如何在 android 中集成 glide。
第 1 步- 在 Andro...[2022/1/24]
Android中Button实现点击换图案及颜色Android中Button实现点击换图案及颜色
目录基本框架基本属性文本与背景主题修改点击效果图片变换颜色变换总结 基本框架
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http: chemas.android.com/apk/re...[2022/1/19]
Android中FlowLayout组件实现瀑布流效果Android中FlowLayout组件实现瀑布流效果
目录FlowLayout实现关键步骤:1、创建一个view继承自ViewGroup2、重写并实现onMeasure方法3、重写并实现onLayout方法总结 纸上得来终觉浅,绝知此事要躬行。
动手实践是学习的最好的方式,对于自定义View来说,听和看只能是过一遍流程,能掌握个30%、40%就不错...[2022/1/19]
Android使用Retrofit上传文件功能
本文实例为大家分享了Android使用Retrofit上传文件的具体代码,供大家参考,具体内容如下
一、封装RetrofitManager
public cla RetrofitManager {
? ? private static RetrofitManager retrofitMa...[2022/1/17]
Android?Room数据库加密详解
本文实例为大家分享了Android Room之数据库加密的具体实现,供大家参考,具体内容如下
一、需求背景
Android平台自带的SQLite有一个致命的缺陷:不支持加密。这就导致存储在SQLite中的数据可以被任何人用任何文本编辑器查看到。如果是普通的数据还好,但是当涉及到一些账号密码,...[2022/1/17]
Android用动画显示或隐藏视图
目录一、需求背景二、创建淡入淡出动画1.创建布局文件2.设置淡入淡出动画3.代码实现总结 一、需求背景
有时候,我们需要在屏幕上显示新的信息,同时移除旧的信息,一般情况下我们通过VISIBILITY或者GONE来对需要显示或者隐藏的视图进行设置,这样做的坏处是显示或者隐藏的动作变化非常突兀,而且...[2022/1/17]
Android Jetpack Compose无限加载列表Android Jetpack Compose无限加载列表
目录前言方法一: paging-compose方法二:自定义实现添加 LoadingIndicator总结 前言
Android 中使用 ListView 或者 RecycleView 经常有滚动到底部自动 LoadMore 的需求,那么在 Compose 中该如何实现呢?
两种方法可供选择...[2022/1/17]
揭开“QUIC”的神秘面纱揭开“QUIC”的神秘面纱
作者:赵咏
QUIC的发音类似于Quick,实际上也确实很快。它可以很好地解决应用在传输层和应用层面临的各种需求,包括处理更多的连接、安全性以及低延迟。
目前在互联网领域,QUIC可以说刮起了新一代互联网传输协议的风。对开发者而言,了解QUIC更是有助于时延敏感性应用以及音视频、购物支付等应...[2022/1/17]
静态照片一键动态化,教你如何集成人像复活能力
有趣的静态照片动态化是如何实现的?
华为视频编辑服务(Video Editor Kit)全新上线的“人像复活”能力,利用人脸检测、人脸关键点检测、表情特征提取、目标人物表情驱动等AI算法,只需上传一张静态人物照片,就可以生成人物微笑等动作,轻松实现静态照片动态化,让照片更加鲜活生动。
想...[2022/1/17]
滤镜也能复制粘贴?视频编辑服务专属滤镜一键搞定
剪辑制作视频时,如果用户想要实现视频与某张特定图片一样的滤镜风格,怎么提取呢?
华为视频编辑服务(Video Editor Kit)全新上线“专属滤镜”功能,集成后即可使应用拥有复制滤镜的能力,一键迁移滤镜色彩到视频或者图片上,想要什么滤镜效果即刻粘贴,可支撑多样化的图像美化需求,并且集成简单...[2022/1/17]