Jetpack compose 几个学习网站 2. Jetpack Compose Playground https://foso.github.io/Jetpack-Compose-Playground/material/card/3. Accompanist 对基础库再扩展 https://google.github.io/accompanist/placeholder/
升级到Chipmunk(2021.2.1)版本 遇到Run按钮不可用 Run按钮等都是灰色,不可用。原因的有两个,settings.gradle 少了rootProject.name = “项目名称”AGP版本版本低了升级前的版本信息:Android studio Bumblebeegradle 6.1.1AGP 4.0.1解决问题:settings.gradle 把 rootProject.name = "项目名称"加上根据提示一键升级gradle注意项目还在用KAE的,AGP 7.0+以后应该已经删除KAE插件了。升级AGP之后会提示.
Kotlin 委派(ReadOnlyProperty) 仿造viewModels 写一个viewBindings 通过委派机制和Kotlin的函数扩展,仿造viewModels 写一个viewBindings功能,辅助创建ViewBinding,同时在onDestroyView的回收ViewBinding先看下怎么使用// 一个简陋的MVP// DemoFragment 作为P的角色// DemoViewModel 作为M的角色// FragmentDemoBinding 作为View的角色// 不需要继承BaseFragmentxxx,没有泛型约束,想用就用class DemoFragment: F
Kotlin 委派(ReadWriteProperty) 实现Activity/Fragment 的成员变量自动内存回收 通过委派机制和方法的扩展实现一个Activity/Fragment 的成员变量自动内存回收1.虽然JVM 有GC,会帮助我们回收对象。但是有时候需要我们手动回收对象,特别Android,处理内存泄漏等问题。//一般手动处理class MainActivity : AppCompatActivity() { var data: Any? = null override fun onCreate(savedInstanceState: Bundle?) { super.o
Kotlin 的委派 ReadWriteProperty 和 ReadOnlyProperty 简单使用 Kotlin 的委派 ReadWriteProperty 和 ReadOnlyProperty 简单使用先看下ReadWriteProperty 和 ReadOnlyProperty 的源码,源码很简单,就是两个接口。ReadOnlyProperty 有一个getValue方法,ReadWriteProperty 继承了 ReadOnlyProperty ,同时增加了一个setValue方法。/** * Base interface that can be used for implementi
aar发布到阿里云效 笔记 aar发布到阿里云效 笔记1. 使用 maven插件上传aar环境Gradle版本:6.5AGP 版本 :4.1.2Android Studio Arctic Fox | 2020.3.1 Patch 2Gradle脚本语言:Groovy官网的代码,不解释//groovyapply plugin: 'maven'android { ...}uploadArchives { repositories { mavenDeployer {
Kotlin DSL 编写 gradle 笔记 Kotlin DSL 编写 gradle 笔记环境Android Studio Arctic Fox | 2020.3.1 Patch 2gradle 7.0.2jdk 111. 根目录 setting.gradle.ktsdependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) //这里的仓库地址 指的是module中 implementat
android 打 aab包&本地测试注意事项 Android 打 aab包&本地测试 注意事项打包本地测试(windows为例)打包打aab包命令//windows gradlew bundleRelease//mac./gradlew bundleReleaseaab目录本地测试(windows为例)aab包是无法直接安装到手机。如果需要测试aab包,那么可以通过两种方式:Android studio 修改默认的运行/调试配置。步骤1:Run菜单—>点击Edit Configurations 点
TextView/EditText 代码中设置inputType TextView/EditText 代码中设置inputTypeInputType列表 /** * Get the type of the editable content. * * @see #setInputType(int) * @see android.text.InputType */ @InspectableProperty(flagMapping = { @FlagEntry(name = "none", mask =
非侵入式 String/TextView/EditText 校验工具 VerifyInput非侵入式 String/TextView/EditText 校验工具使用方法添加注解//默认校验类型 判断是否是null或者""@VerifyInput private var mText: String? = null//自定义,错误提示、校验类型, index 校验顺序@VerifyInput(error = "手机号格式不正确", type = VerifyInputType.TYPE_PHONE_CN, index = 2)private var
Android 11 解决 Intent.resolveActivity(context.getPackageManager()) == null 目录Android 11 Intent.resolveActivity(context.getPackageManager()) == null解决方法Android 11 Intent.resolveActivity(context.getPackageManager()) == null在调用系统相机时候,一般会先做下判断,相机是否正常使用。以下代码在android 11以下是没有问题,只要相机是正常。android 11之后直接返回null。 //打开相机录制视频 Intent captu
Error: Program type already present: com.baidu.idl.facesdk.BuildConfig 在打包百度人脸识别离线sdk的时候报错:Error: Program type already present: com.baidu.idl.facesdk.BuildConfig冲突原因:是facelibrary的package 和facesdk.3.1.jar的冲突了。解决办法:修改facelibrary中AndroidManifest.xml中package。...
ERROR: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android ERROR: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-androidThis version of the NDK may be incompatible with the Android Gradle plugin version 3.0 or older.Ple...
Activity/Fragment Field字段值自动保存和恢复 app 被系统意外杀死(包括横竖屏切换) Activity/Fragment中的字段通过自定义注解+反射实现自动恢复源码githubcsdn当App意外被杀死,如长时间滞留后台,横竖屏切换,这时再进入app,并不是正常启动app(不会走入口流程)。这时候Activity/Fragment 中字段就需要临时保存和恢复。 override fun onSaveInstanceStat...
env: bash\r: No such file or directory env: bash\r: No such file or directorymac环境下Android Studio 使用./gradlew 命令 提示env: bash\r: No such file or directory解决办法stackoverflow:vim gradlew:set fileformat=unix:wq...
环信SDK历史版下载(android&ios) 环信SDK历史版下载(android&ios)ios3.x版github地址如图在tag中自己选择要的版本就行了。android3.x版github地址和ios一样,在tag选择需要的版本就行了。...