Android应用开发那些事android开发技巧

Android脚手架搭建

2020-06-10  本文已影响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 //功能设置等资源文件

上一篇下一篇

猜你喜欢

热点阅读