# smart **Repository Path**: maxenergy/smart ## Basic Information - **Project Name**: smart - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-10 - **Last Updated**: 2021-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Smart ### 1.关于模块的说明 - 非常粗略地划分为了20个模块,可以根据需要裁剪。具体如下: 6个库 + 8个功能模块 + 6个第三方SDK模块 - baselib: 基准库(主体窗口/事件/回调/全局配置/网络/拦截器/转化器/适配器/工具/切换动画) - hintlib: 提示模块 (自定义弹框/加载条/Toast) - customlib: 自定义布局模块 (左滑删除/编辑全清/倒计时/文字轮播/倒计数/秒表) - zxinglib: 扫码模块 (条形码/二维码) - webviewlib: 网页模块 (Jsbridage) - permissionlib: 权限模块 (权限工具) - app(依赖base): 主模块 (进程,线程,数据库,网络服务,引导,启动页,主窗口,分页,详情,通知,扫码) - user(依赖base): 用户模块 (DB/网络/登录/注册/我的/关于/版本更新/修改密码/设置/意见反馈) - photo(依赖base): 图片模块 (查看,缩放,编辑) - video(依赖base): 视频模块 (四种播放, 捕获,列表) - audio(依赖base): 音频模块 (捕获,播放) - word(依赖base): 文本模块 (word查看/编辑,pdf查看) - file(依赖base): 文件模块 (文件列表查看/属性/内容) - context: 上下文模块 (当前进程/Task) - push(依赖base): 推送模块 (极光推送,MQTT, 服务) - baidmap(依赖base): 地图模块 (百度地图,定位,图层,导航,轨迹) - txlive(依赖base): 直播模块 (腾讯直播,推流,播放) - hyphenate(依赖base): 聊天模块 (环信互聊,登录,聊天,群组) - hikvision(依赖base): 监控模块 (海康监控,播放) - thirdlogin: 三方登录模块 (友盟,三方登录与分享) ### 2.关于开源项目的说明 常用 - 'com.google.code.gson:gson:2.6.2' gson - 'com.blankj:utilcode:1.7.1' 工具库 - 'com.android.support:recyclerview-v7:26.1.0' recyclerview - 'com.squareup.okhttp3:okhttp:3.4.1' okhttp3 - 'io.reactivex.rxjava2:rxjava:2.0.1' - 'io.reactivex.rxjava2:rxandroid:2.0.1' rx2 链式 - 'com.squareup.retrofit2:retrofit:2.1.0' - 'com.squareup.retrofit2:adapter-rxjava2:2.2.0' - 'com.squareup.retrofit2:converter-gson:2.1.0' retrofit2 网络封装 - 'com.trello.rxlifecycle2:rxlifecycle:2.1.0' - 'com.trello.rxlifecycle2:rxlifecycle-components:2.1.0' rx生命周期 - "com.jakewharton:butterknife:8.5.1" - "com.jakewharton:butterknife-compiler:8.5.1" butterKnifeVer - "org.greenrobot:greendao:3.2.2" greendao - "com.github.bumptech.glide:glide:3.7.0" Glide 图片加载 - “com.tencent.bugly:crashreport_upgrade:1.3.4” Bugly 日志和更新 - "com.android.support:cardview-v7:26.1.0" 卡片布局 扩展 - 'com.wuxiaolong.pullloadmorerecyclerview:library:1.1.2' 上拉加载下拉刷新 - 'cn.bingoogolapple:bga-badgeview-api:1.1.7' - "cn.bingoogolapple:bga-badgeview-compiler:1.1.7" 角标 - "com.alibaba.android:vlayout:1.2.2@aar" 阿里虚拟布局 ### 4.自定义View 以下优秀的自定义View, 可以参考 - 1 ZxingView RelativeLayout:条形码+二维码扫描 - 2 BGABadgeTextView TextView:角标显示 - 3 WatcherBoard View:模拟数字时钟 - 4 CommEditText EditText: 密码显示与隐藏,全删 - 5 MultiEditInputView LinearLayout: 字段输入,字数倒计时 - 6 SwitchButton View:按钮切换 - 7 WaveSideBarView View:波浪滑动条 - 8 MarqueeView ViewFlipper: 文字轮播 ### 5.关于Gradle - 1 项目gradle 建议配置并行,加大内存 - org.gradle.parallel=true - org.gradle.daemon=true - org.gradle.jvmargs=-Xmx1536m - 2 编译SDK 建议使用统一版本 - ext { - releaseVer = true - compileSdkVersion = 26 - buildToolsVersion = '25.0.3' - } - 3 调试阶段,版本名称带上hash, 方便定位 - versionName = '1.0.2'+getGitHeadRefsSuffix() - 4 buildConfigField 配置编译参数,代码中可直接通过BuildConfig调用 - android{ - defaultConfig { - if(rootProject.ext.releaseVer){ - buildConfigField "boolean", "RELEASE", "true" - buildConfigField "String", "APP_NAME", rootProject.ext.packageNam - }else{ - buildConfigField "boolean", "RELEASE", "false" - buildConfigField "String", "APP_NAME", rootProject.ext.packageNam - } - manifestPlaceholders = [APP_KEY: "12345fdafasdfad", APP_ID: rootProject.ext.applicationId] - } -} - 5 manifestPlaceholders 配置manifest 中的meta值,可以是地图,推送,IM的key值 ### 6.功能展示 ### 7.使用到的后台 - 极光push平台,包名相关,后台不可修改包名 (manifest key值) - 百度map平台,包名相关,后台可修改包名 (manifest key值) - 腾讯Bugly平台, 包名无关(application key值) - 环信IM平台,包名无关(manifest key值) - 腾讯直播,包名无关,无key值,自建后台 - 友盟登录分享,包名无关,有key值(manifest key值+代码配置) ### 8.后记 - 1 欢迎沟通 - Email: sjun945@outlook.com - WeChat: cheng-junfeng - 下载地址:App - (使用账号 junfeng 密码 123登录)