# lib_comm
**Repository Path**: fairy_android/lib_comm
## Basic Information
- **Project Name**: lib_comm
- **Description**: 共用组件仓库
- **Primary Language**: Android
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2022-08-02
- **Last Updated**: 2024-08-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Android, Kotlin
## README
# lib_comm
#### 介绍
共用组件仓库
## lib_utils
```groovy
dependencies {
implementation 'com.gitee.fairyheart.lib_comm:lib_utils:master-SNAPSHOT'
implementation libs.bundles.lib.utils
}
```
## lib_network
```groovy
dependencies {
implementation 'com.gitee.fairyheart.lib_comm:lib_network:master-SNAPSHOT'
implementation libs.bundles.lib.network
}
```
## lib_mqtt
```groovy
dependencies {
implementation 'com.gitee.fairyheart.lib_comm:lib_mqtt:master-SNAPSHOT'
implementation libs.bundles.lib.mqtt
}
```
1、_新建Service基础IMqttService_
2、_Manifest注册服务_
__
3、_添加权限_
_ _
## lib_root
```groovy
plugins {
id 'kotlin-kapt'
id 'kotlin-parcelize' //序列化
}
android {
defaultConfig {
//Arouter
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
buildFeatures {
dataBinding = true
}
}
dependencies {
implementation libs.constraintlayout
implementation 'com.gitee.fairyheart.lib_comm:lib_root:master-SNAPSHOT'
implementation libs.bundles.lib.root
kapt libs.arouter.compiler
}
```
#### 1、Arouter使用
```kotlin
1、传递值
val paramVo = ParamVo("1111")
val postcard = ARouter.getInstance().build(PathConst.RouterAct)
postcard.withParcelable("param_vo", paramVo)
postcard.withString("id", "id0001")
postcard.navigation()
2、获取值
ARouter.getInstance().inject(this)
//@JvmField必须,按java属性处理
@Autowired(name = "id")
@JvmField
var id: String? = null
@Autowired(name = "param_vo")
@JvmField
var paramVo: ParamVo? = null
3、对象需要序列化
import android.os.Parcelable
import kotlinx.parcelize.Parcelize
@Parcelize
data class ParamVo(val id: String) : Parcelable
```