Android脚手架搭建

作者: 五月笑忘 | 来源:发表于2020-06-10 16:41 被阅读0次

    简介

    脚手架分为MVC\MVP\MVVM三种框架,但是主体结构没有发生明显变化
    默认首页为LoginActivity
    默认android:allowBackup="false"

    项目打开即可使用,如果没有相关依赖,请自行下载

    目前已实现功能

    1. 封装状态栏颜色(BaseActivity)
    2. 加载框封装(BaseActivity中StatusBarCompat.compat(xxx))
    3. ButterKnife封装(BaseActivity)
    4. 动态权限封装(easypermissions)
    5. 网络请求封装(参见LoginActivity中login方法)
    6. SharedPreference封装(参见LoginActivity中login方法成功回调)
    7. 网络请求结果打印封装(HttpJsonMethod中的HttpLoggingInterceptor)
    8. 三大框架的各自封装

    todo

    1. 国际化功能
    2. 开发/测试环境区分
    3. RecyclerView的Adapter标准书写

    项目框架使用情况

    compileSdkVersion 29

    详情见build.gradle

        //黄油刀注解
        implementation 'com.jakewharton:butterknife:10.1.0'
        annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
    
        //动态权限申请框架
        implementation 'pub.devrel:easypermissions:0.4.3'
    
        //RecyclerView的简易Adapter框架
        implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
        implementation 'com.github.baserecycleradapter:library:1.1.0'
    
        //网络请求相关
        implementation 'com.squareup.retrofit2:retrofit:2.6.0'
        implementation 'com.squareup.retrofit2:converter-gson:2.6.0'
        implementation 'com.squareup.retrofit2:adapter-rxjava:2.6.0'
        implementation 'com.squareup.okio:okio:1.15.0'
        implementation 'com.squareup.okhttp3:okhttp:3.12.0'
        implementation 'com.squareup.okhttp3:logging-interceptor:3.12.0'
        implementation 'io.reactivex:rxandroid:1.2.1'
    
        //打印日志的依赖
        implementation 'com.orhanobut:logger:2.2.0'
    

    项目文件结构

    image.png
    com
    ├── base                    //基础组件,包括功能的base以及页面的base
    ├── data                    //数据处理(重点是实体类的定义)
    │   ├── DataManager.java            //数据管理器
    │   ├── local                   //来源于本地的数据,比如 SP,Database,File
    │   ├── model                   //定义 model(数据结构以及 getter/setter、compareTo、equals 等等,不含复杂操作)
    │   └── remote                  //来源于远端的数据
    ├── feature                     //功能
    │   ├── login                   //具体功能模块
    │   │ ├── LoginActivity.java
    │   │ ├── LoginContract.java
    │   │ ├── xxAdapter.java
    │   │ └── ... 其他 class
    │   └── ...其他功能
    ├── http                    //网络请求封装
    ├── util                    //工具类
    │   ├── CheckUtil               //负责一些检查工作的工具类
    │   ├── DialogUtils                 //负责创建Dialog工具类
    │   ├── SharedPreferencesUtils          //负责管理SharedPreference的工具类
    ├── widget                  //自定义视图及小部件
    ├── MyApplication.java              //定义 Application 类
    ├── Config.java                 //配置方面的一些数据(常量)
    ├── Consts.java                 //项目使用上用到的一些数据(常量)
    

    项目资源文件结构

    资源文件图例

    res
    ├── color //各种关于color的selector
    ├── drawable //图片资源文件
    ├── layout //页面文件
    ├── mipmap //小图片资源文件
    ├── values //各种资源文件
    │ ├── colors //颜色定义文件
    │ ├── dimens //间距等定义文件
    │ └── strings //字符定义文件
    │ └── styles //样式定义文件
    ├── xml //功能设置等资源文件

    相关文章

      网友评论

        本文标题:Android脚手架搭建

        本文链接:https://www.haomeiwen.com/subject/jxwaahtx.html