MVP项目研究——我的Android项目的开始(一些配置的管理)

回顾过去,自己也算是Android开发中的一员了,但对于技术还是一知半解。我打算写一个项目,从基础框架的搭建,到项目各个功能的完善,当然期间也借鉴很多大神的博文,在此深表感谢。好吧,我们就开始吧。

一、引用第三方包管理文件config.gradle

大家都使用过第三方的东西,很多都要版本更新,当一个依赖更新之后,我们再去graidle里一个一个去改,很是麻烦。所以我们把这些东西统一提出来,单独建立一个文件,然后引用它,后期只需改动这个文件即可。

文件复制进根目录,在Project的顶级build.gradle引用

// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: "config.gradle" //这里表示引用config.gradle文件
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'

    }
}
allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }//这里要使用rxcahche指定的仓库
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

二、使用config.gradle

因为在顶级build.gradle中引用了它,所以在所有的build.gradle中都可以使用,也可以让他来管理项目的一些信息,这样多个module也可以直接使用同一个信息

defaultConfig {
        applicationId "com.daqsoft.myandroid"
        minSdkVersion rootProject.ext.android["minSdkVersion"]
        targetSdkVersion rootProject.ext.android["targetSdkVersion"]
        versionCode rootProject.ext.android["versionCode"]
        versionName rootProject.ext.android["versionName"]
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

三、配置Build.gradle

1、依赖Dagger2

如果你还不知道dagger2是什么请看文章,这里有我的详细解析。

本框架全部使用dagger2管理找到app的build.gradle加入如下代码:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        jcenter()
    }
}

dependencies {
    annotationProcessor rootProject.ext.dependencies["butterknife-compiler"] //butterknife 插件,很多人因为没加这个而报错,切记!!!
    annotationProcessor rootProject.ext.dependencies["dagger2-compiler"]//依赖插件, annotationProcessor 是 AndroidStudio 自带并用来替换 APT 
    provided rootProject.ext.dependencies["javax.annotation"]//dagger2必须依赖jsr250 annotation
}

对于重复引入依赖的问题参见这篇博文

2、使用Lambda

本框架默认使用Lambda,如果你不想使用Lambda请忽略以下配置。

  • 在项目根目录下的Build.gradle中依赖Lambda插件
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        //lambda
        classpath 'me.tatarka:gradle-retrolambda:3.6.0'
    }
}
  • app的build.gradle中引入以下
apply plugin: 'me.tatarka.retrolambda'

android {

    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }

}

四、配置AndroidManifest

1、添加权限

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值