Android
文章平均质量分 74
https://developer.android.google.cn/
xiangxiongfly915
Android & Flutter & H5
https://github.com/xiangxiongfly
展开
-
Android 优雅封装Glide
使用策略模式实现不同图片加载框架的切换,使用建造者设计模式处理不同参数,最后通过 ImageLoader 进行管理。原创 2024-09-06 16:14:49 · 834 阅读 · 0 评论 -
AGP6.7升级为AGP7.6
【代码】AGP6.7升级为AGP7.6。原创 2024-07-22 14:40:00 · 688 阅读 · 0 评论 -
Android 换肤之插件换肤
Android 实现应用内换肤的常用方式(两种):通过Theme切换主题,即静态方法。通过AssetManager切换主题,可实现动态切换。原创 2024-07-03 13:31:36 · 557 阅读 · 1 评论 -
Android 换肤之主题换肤
Android 实现应用内换肤的常用方式(两种):通过Theme切换主题,即静态方法。通过AssetManager切换主题,可实现动态切换。原创 2024-07-02 09:47:05 · 655 阅读 · 1 评论 -
Android 常用ADB命令
命令adb命令shell命令使用adb服务器操作设备操作应用文件操作activity操作日志操作原创 2024-06-27 16:14:46 · 291 阅读 · 0 评论 -
Android 动态修改APP图标
定义activity-alias图标和APP名切换监听APP前后台状态切换进入后台时切换修改图标和名字原创 2024-06-06 16:43:26 · 1179 阅读 · 0 评论 -
Android 通过View生成Bitmap
将View转为Bitmap原创 2024-05-29 17:01:20 · 352 阅读 · 0 评论 -
Android 控件保持宽高比得几种方式
adjustViewBounds百分比布局ConstraintLayout自定义View原创 2024-05-29 16:13:03 · 984 阅读 · 0 评论 -
Android Kotlin版封装EventBus
Android Kotlin版封装EventBus原创 2024-03-19 15:24:47 · 814 阅读 · 1 评论 -
gradle build running 一直卡很久(最近版本),解决办法
gradle build running 一直卡很久(最近版本),解决办法转载 2024-03-19 11:22:48 · 1490 阅读 · 0 评论 -
Android 验证Activity启动模式
launchModestandardsingleTopsingleTasksingleInstanceIntent标记FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TASK 和 FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_SINGLE_TOP原创 2024-02-28 14:22:15 · 1131 阅读 · 0 评论 -
Android Activity启动模式
四种启动模式Intent标记原创 2024-02-27 16:05:04 · 683 阅读 · 0 评论 -
Android 监听网络状态变化
Android 监听网络状态变化原创 2024-02-26 16:04:40 · 893 阅读 · 0 评论 -
Android 系统定位和高德定位
系统定位和高德定位原创 2024-02-21 15:12:07 · 722 阅读 · 0 评论 -
Android 基于Fragment的权限封装
Fragment 并不像 Activity 那样必须有界面,我们完全可以向 Activity 中添加一个隐藏的 Fragment,然后在这个隐藏的 Fragment 中对运行时权限的 API 进行封装。这是一种非常轻量级的做法,不用担心隐藏 Fragment 会对 Activity 的性能造成什么影响。原创 2024-01-22 14:36:54 · 616 阅读 · 0 评论 -
Android 软键盘的显示和隐藏
显示软键盘:InputMethodManager#showSoftInput(View view, int flags)隐藏软键盘:InputMethodManager#hideSoftInputFromWindow(IBinder windowToken, int flags)原创 2023-12-26 16:36:12 · 1546 阅读 · 0 评论 -
Android MVVM+coroutine+retrofit+flow+hilt
依赖注入层数据层视图层模型视图层原创 2023-12-05 17:06:07 · 650 阅读 · 0 评论 -
Android launchWhenXXX 和 repeatOnLifecycle
lifecycleScope和viewModelScopelaunchWhenXXXrepeatOnLifecycleflowWithLifecycle原创 2023-11-13 15:28:38 · 769 阅读 · 0 评论 -
Android Groovy 迁移到 KTS
Android Studio是使用Gradle来编译,而默认的构建语言是Groovy,但是Gradle实际上是支持Kotlin来编写Gradle构建脚本的,常见的构建脚本是.gradle结尾,而Koltin语法编写的脚本则是.gradle.kts 。原创 2023-10-31 16:28:30 · 457 阅读 · 0 评论 -
Android DSL
Kotlin DSL(领域特定语言)是一种使用 Kotlin 语言编写的,用于解决特定问题领域的语言。DSL 使得代码更易读、易写,因为它的语法和领域问题的语法更接近。Kotlin 的强大类型系统和灵活性使得创建 DSL 变得更加容易。原创 2023-10-30 09:30:05 · 310 阅读 · 0 评论 -
Android 虚拟机
Java虚拟机基于栈的虚拟机栈的执行流程Dalvik虚拟机基于寄存器的虚拟机寄存器的执行流程Java虚拟机与Dalvik虚拟机区别ART虚拟机Android 7.0的运行方式原创 2023-09-20 16:14:20 · 307 阅读 · 0 评论 -
Android 基于反射实现简易版ButterKnife
*** 用于绑定元素*//*** 定义元注解*///方法所在的Class//方法名/*** 绑定点击事件*//*** 绑定长按事件*///获取类中所有变量//获取类中所有方法/*** 绑定变量*///判断是否被@BindView注解//获取@BindView注解= null) {//设置访问权限if (!//获取注解值//获取Viewtry {//通过反射设置值/*** 绑定方法*/原创 2023-08-28 14:39:07 · 448 阅读 · 0 评论 -
Android BLE开发总结
Android BLE开发总结在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下:设备(Device):指BLE设备,如蓝牙耳机、传感器等。服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多个服务,每个服务有一个唯一的UUID,服务中包含多个特征值。特征(Characteristic):指BLE设备服务中的特征值,每个特征值有一个唯一的UUID,可以读取、写入和监听特征值数据。描述(Descriptor):指BLE设备服务中特征值的描述信息,描述信息原创 2023-03-27 15:38:28 · 1183 阅读 · 3 评论 -
Android 深色模式适配总结
Android 深色模式适配总结原创 2022-11-17 15:37:36 · 2742 阅读 · 0 评论 -
Android BottomSheet总结
Android BottomSheet、BottomSheetDialog、BottomSheetDialogFragment原创 2022-11-16 11:23:33 · 1557 阅读 · 0 评论 -
Android TabLayout总结
Android TabLayout总结原创 2022-11-15 10:24:41 · 3505 阅读 · 0 评论 -
Android Drawable总结
Drawable有很多种,它们都表示一种图像的概念,但是它们又不全是图片,通过颜色也可以构造出各式各样的图像的效果。在实际开发中,Drawable常被用来作为View的背景使用。Drawable一般都是通过XML来定义的,当然我们也可以通过代码来创建具体的Drawable对象,只是用代码创建会稍显复杂。在Android的设计中,Drawable是一个抽象类,它是所有Drawable对象的基类。原创 2022-10-13 09:51:34 · 1602 阅读 · 0 评论 -
Android SpannableString搜索关键字变色
搜索关键字变色原创 2022-09-07 14:40:47 · 704 阅读 · 0 评论 -
Android 状态栏总结
状态栏使用总结原创 2022-08-19 11:21:46 · 1023 阅读 · 0 评论 -
Android 签名打包
keytool -printcert -jarfile keytool -list -v -keystore 说明apk已经签名了,如果没有签名,则会提示当前应用无签名。执行assemble命令,生成apk文件。签名密码和别名密码需要保持一致。原创 2022-08-11 11:34:52 · 2426 阅读 · 0 评论 -
Android 组件化设计
文章目录Android 组件化设计什么是组件化开始组件化操作自定义Gradle创建其他组件配置app主工程配置common组件配置其他组件使用ARouter组件间跳转组件间通信资源冲突问题代码下载Android 组件化设计什么是组件化库 & 模块 & 组件 的区别:库:提供单一功能或一些功能。模块:指具体的业务逻辑模块,一个App可根据业务拆分为多个模块,如微信就定义了四个模块:微信、通讯录、发现、我。组件:指功能组件或业务组件,每个组件可以独立运行,功能组件如:视频组件、支付原创 2022-05-24 23:52:16 · 461 阅读 · 0 评论 -
Android Gson在Kotlin data class中的使用
文章目录Android Gson在Kotlin data class中的使用基本使用NEP 空指针异常问题原因nullSafe 失效问题默认值失效问题字段都有默认值字段部分有默认值解决问题使用无参构造函数声明为字段使用moshi框架Android Gson在Kotlin data class中的使用基本使用data class UserBean(val name: String, val age: Int)val json = """ { "name":"小原创 2022-05-04 23:36:54 · 2163 阅读 · 0 评论 -
Android Gson TypeAdaper 和 JsonSerializer/JsonDeserializer 总结
在Gson中,TypeAdapter 和 JsonSerializer 是两个用于定制序列化和反序列化过程的接口。JsonSerializer则是Gson中的默认实现,它提供了一种简单的序列化和反序列化方式,可以将Java对象转换为JSON字符串或将JSON字符串转换为Java对象。TypeAdapter是Gson提供的一个抽象类,用于接管某种类型的序列化和反序列化过程,包含两个重要方法:write(JsonWriter out, T value) 和 read(JsonReader in)。原创 2022-04-25 16:56:23 · 3763 阅读 · 0 评论 -
Android EditText总结
常用属性常用功能限制输入windowSoftInputMode原创 2019-12-31 09:39:44 · 1675 阅读 · 1 评论 -
Android 处理软键盘遮挡问题
文章目录Android 处理软键盘遮挡问题方式一:使用scrollTo方式二:使用NestedScrollViewAndroid 处理软键盘遮挡问题需要达到的效果:方式一:使用scrollTo当软键盘弹起时,通过scrollTo滚动出被遮挡的地方。监听软键盘状态工具类public class SoftKeyboardListener { private static int lastVisibleHeight = 0; public interface OnSoftKeyb原创 2022-04-15 14:20:13 · 4627 阅读 · 0 评论 -
Android 屏幕适配问题
文章目录Android 屏幕适配问题基本概念ppidpidensitydpsp密度限定符方向限定符转换公式获取屏幕信息适配问题适配方案今日头条方案smallestWidth 最小宽度限定布局适配其他dimens 文件生成工具dimens 文件生成插件Android 屏幕适配问题基本概念ppippi(Pixels Per Inch)硬件像素密度:在物理设备上,每英寸包含的物理像素点数量,ppi是不能修改的。dpidpi(Dots Per Inch)屏幕像素密度:是软件概念,每英寸包含多少个点,dp原创 2022-03-17 17:01:34 · 2325 阅读 · 0 评论 -
Android使用Annotations注解优化代码
文章目录Android使用Annotations注解优化代码Null 注解Typedef 注解Resource Type 注解Threading 注解Value Constraints 注解Overriding Methods 注解Return Values 注解Keep 注解Permissions 注解Android使用Annotations注解优化代码Null 注解@Nullable注解用于标识参数或返回值可以为null。@NonNull注解用于标识参数或返回值不能为null,否则IDE提示警原创 2022-01-29 09:55:20 · 2016 阅读 · 0 评论 -
Android调用系统相册、拍照、剪裁
Android调用系统相册、拍照、剪裁原创 2021-12-22 17:21:05 · 1195 阅读 · 0 评论 -
Android MaterialShapeDrawable
文章目录Android MaterialShapeDrawable说明基本使用圆角效果切角效果标注效果内边三角形外边三角形气泡阴影源码下载Android MaterialShapeDrawable说明CornerTreatment:角样式RoundedCornerTreatment:圆角样式CutCornerTreatment:切角样式EdgeTreatment:边样式TriangleEdgeTreatment:三角形MarkerEdgeTreatment:标记点O原创 2021-12-21 15:52:39 · 2808 阅读 · 0 评论 -
Android ShapeableImageView
文章目录Android ShapeableImageView概述基本使用不变形圆角样式圆形样式添加边框切角样式菱形样式叶子样式半圆样式层叠效果ViewOutlineProvider实现圆角效果实现圆形效果Android ShapeableImageView概述ShapeableImageView是material控件之一,继承于ImageView,作用是为了让开发者更方便的ImageView进行变形处理。依赖库implementation 'com.google.android.material:原创 2021-12-21 10:08:14 · 2193 阅读 · 0 评论