logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Android 单元测试问题总结(Robolectric+JUnit)

问题原因:检查下是不是使用了PowerMock,自测使用PowerMock后Shadow不生效解决办法:去掉PowerMock改用Mockito试试,或者第三方依赖都换成Shadow,我这也没啥好的方法。

#junit#单元测试#android
Compose学习 - 环境配置及compose、kotlin插件、gradle、AndroidStudio版本对应关系

最近学习Compose,一开始学习的Compose版本是1.1.1,学习的过程中发现,这个方法只有在1.2.0以后版本才支持。想着既然要升级,直接用最新的好了。后面按照官网建议,下载了最新的AndroidStudio,我目前下载的最新的是giraffe版本。

文章图片
#composer#android studio#gradle
Robolectric单元测试 - Android Could not determine artifacts for XXXX: Skipped due to earlier error

最近使用Robolectric单元测试的时候遇到如下问题:一直报资源类找不到,需要在app下的gradle中加入(代码手动打的,可能会有错误,见谅)testOptions{unitTests{includeAndroidResources = true}}加完上面代码之后出现了标题的错误,具体是androidx.test.monitor2…这个找不到,每次sync好久,然后报同样错误,参考了如下链

#单元测试#android#java
Android 横竖屏切换 fragment view显示刷新

通常做法是将数据暂存到viewmodel中,然后再重新加载一遍,获取暂存数据赋值。但是,由于我的fragment状态数据比较多,且实时变化,我这边不想重新加载,最后使用动态改变view位置的方法。(当然前提是横竖屏切换,位置改变的view数量没有很多)。如果横竖屏UE效果显示差别大的话,在横竖屏切换的时候,需要重新加载新xml文件。但是Fragment不能像Activity一样直接setConte

#android
AndroidO:TargetSdk设置为26后出现error:SharedPreferences in credential encrypted storage are not available

java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked一、问题背景在一个AndroidO的平台上,将一个使用SharedPreference应用的TargetSdk设置为26后,如果在TV刚开..

Kotlin学习 - 可空系统类型

对这种需求,Kotlin提供了另外一套可为空的类型系统,我们需要在编译时期就将所有潜在的空指针异常都处理掉,否则代码将无法编译通过。,如果我们的程序存在空指针异常的风险,那么在编译的时候会直接报错,修正之后才能成功运行,这样就可以保证程序在运行时期不会出现空指针异常了。,这样study就可能为空,因此编译器会提示错误,但是如果我们确认每次调用。不过这是一种有风险的写法,如果对象为空了汇报空指针异常

#kotlin#android#学习
Kotlin学习 - 枚举和密封类

在文章中有一句话:如果 when 作为一个表达式使用,则必须有 else 分支,因为Kotlin编译器会强制检查默认选项 ,那什么情况下编译器能检测出所有的情况呢?就是本文章标题的两个种情况,枚举和密封类。

#kotlin#学习#android
Kotlin学习 - 类和对象

使用Java定义一个Person} . . . }使用Kotlin来定义这个类nameageval person = Person() person . name = "Kotlin" person . age = 20 person . printInfo() } //输出 Kotlin's age is 20。

#kotlin#学习#开发语言
Kotlin学习 - Kotlin中的标准函数let、with、run、apply、also

函数用法类似,都要在某个对象上调用,并且只接收一个Lambda 参数,也会在Lambda 表达式中提供调用对象的上下文,但是apply函数无法指定返回值,而是会自动返回调用对象本身。函数无法指定返回值,只能返回调用对象本身,因此无法直接返回,我们的返回值声明的是String类型,因此还需要转化下。上面代码是会编译报错的,是因为全局变量的值随时都有可能被其他线程所修改,即使做了判空处理,仍然无法保证

#kotlin#android#学习
Kotlin学习 - 高阶函数和内联函数

如果一个函数接收另一个函数作为参数,或者返回值的类型是另一个函数,那么该函数就称为高阶函数。以前开发的时候,入参或返回值都是基本类型或者对象,但是在Kotlin中出现了一个新的类型:函数类型。就是函数也可以像String这种类型一样做入参或者返回值。

#kotlin#学习#开发语言
    共 16 条
  • 1
  • 2
  • 请选择