# AndroidKotlin **Repository Path**: cainiao89/AndroidKotlin ## Basic Information - **Project Name**: AndroidKotlin - **Description**: No description available - **Primary Language**: Kotlin - **License**: MulanPSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 存放个人 在 android 使用 kotlin 开发中需要使用到的小工具 #### 介绍 存放个人 在 android 使用 kotlin 开发中需要使用到的小工具 #### 工具集合 ##### lib_prefP 基于 kotlin 的属性委托 编写的 SharedPreferences 工具 摒弃了我们早前使用 的get set 方案 直接调用 PreferenceManager.x = x 就是复制 PreferenceManager.x 就是取值 ###### 使用方法 继承 PreferenceManager 构造中传入 SharedPreferences 文件名称 var test: String by PreferenceProperty(default = "默认值") 这样我们就建立一个 key-value 为 test-默认值 自定义 key var test1: String by PreferenceProperty("customKey",default = "自定义key默认值") 这样我们就建立一个 key-value 为 customKey-默认值 初始化: 需要在 application 中调用 PreferenceManager.init(application: Application) 进行初始化 #### BaseBroadcastReceiver 基于 lifecycle 编写的 一个 BroadcastReceiver 内部弱引用存储了 FragmentActivity 我们使用 广播 不在需要 关心什么时候去 unregisterReceiver 因为 new BroadcastReceiver 时候就已经增加了监听 当宿主 触发了 ON_DESTROY 那么就会主动调用 unregisterReceiver ###### 使用方法 正常注册位置 使用如下方法 //注册蓝牙 广播 var broadcastReceiver = object : BaseBroadcastReceiver(this){ override fun onReceive(context: Context, intent: Intent) { val device: BluetoothDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE) Log.i("liuyc", "-------------------------------------------name:${device.name}") } } broadcastReceiver.addRegisterReceiver(IntentFilter(BluetoothDevice.ACTION_FOUND))