摘要:
概念 密封类用来限制类的继承关系,子类数量是固定的。 可以在类名之前使用sealed关键字将类声明为密封类。 当对象具有来自有限集的类型之一,但不能具有任何其他类型时,使用密封类。 密封类的构造函数在默认情况下是私有的,它也不能允许声明为非私有。 简单来理解就是他是一个拓展版的枚举(enum),不同 阅读全文
摘要:
请参考官方示例https://developer.android.google.cn/codelabs/basic-android-kotlin-training-intro-room-flow?hl=zh_cn#0导入依赖 def roomVersion = "2.3.0" implementat 阅读全文
摘要:
Android 蓝牙开发 我们在进行蓝牙开发时首先要了解低功耗蓝牙、经典蓝牙、单模蓝牙、双模蓝牙之间的关系。单模蓝牙:支持低功耗蓝牙双模蓝牙:支持低功耗蓝牙和经典蓝牙经典蓝牙:支持经典蓝牙蓝牙开发大致分为这几步 前面需要定位权限和蓝牙权限的支持 发现设备: 经典蓝牙发现设备apiBluetoothA 阅读全文
摘要:
Android解决getExternalStorageDirectory在29后废弃问题 File externalFileRootDir = context.getExternalFilesDir(null); do { externalFileRootDir = Objects.requireN 阅读全文
摘要:
android:clickable="true"android:focusable="true" 阅读全文
摘要:
public class SoundManager { private static SoundManager instance; private SoundPool mSoundPool; private float cur_engine_volume = 0.7f; private int mS 阅读全文
摘要:
Android 模块打包生成aar远程坐标(sdk) 阅读全文
摘要:
函数的基本用法一段相对独立的代码块通过大括号包起来,再给这个代码块取个名字,便形成了函数的雏形。 //java表达式:修饰词 返回类型 函数名(){} public void getDinnerVoid(){ } //kotlin表达式:修饰词 fun关键字 函数名():返回类型{} public 阅读全文
摘要:
条件分支 简单分支(if...else...)在java编程的基础用法上进行了强化 var boolean : Boolean = true; //简单分支 if(boolean){ st_tv_hello.text = "123" }else{ st_tv_hello.text = "456" } 阅读全文