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

原创 2017年07月17日 19:42:32

回顾过去,自己也算是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"/>
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ButterKnife的使用以及自定义注解实例化控件

现在网上有很多自定义注解,主要就是为了先原先的实例化控件太麻烦了,于是有了各种的注意,但是我这里介绍一个插件一键生成,不需要手写。 配置方法如下 打开Android Studio的File->Pr...

Android:ContentProvider的基本方法以及ContentResolver的对Provider的简单增删改查

ContentProvider使我们Android四大组件之一,ContentProvider可以实现在应用程序之间共享数据. 下面是本人自己写的一个简单dome 当然也可以参考详细的博客,点击这里...

MVP项目研究——BaseActivity实现基本数据的绑定与释放

一、本类API 类 泛型传入Presenter(继承自IPresenter) 继承RxAppCompatActivity进行生命周期管理 实现IActivity 方法 onCreate butt...
  • Tomasyb
  • Tomasyb
  • 2017年07月26日 14:28
  • 175

项目配置管理工具研究

配置管理工具研究 一、软件配置管理概念的提出 每一个软件项目,无论是工程类项目,还是产品类项目,都必须经历需求分析、系统设计、编码实现、集成测试、部署、交付、维护和支持的过程。在这个过程中,将生成...

产品研发过程管理专题——软件项目范围变更流程与过程控制研究

【摘 要】软件项目中,范围变更失控是导致软件失败的主要原因。分析了范围变更的主要原因,提出了范围变更控制的基本要素,建立了有效的范围变更控制流程,并且对范围管理的控制过程进行了分析,最后对软件项目范围...

Unity——Export/Import Package功能和项目管理的研究

本文摘要       本文首先描述了Unity3.0在支持大型游戏项目开发时的两个不足:即对模块化和svn协同缺乏支持。随后,分析了Unity自带的Export/Import Package 功能,...

从零开始的Android新项目3 - 谁告诉你MVP和MVVM是互斥的

去年5月左右的时候,笔者在逛GitHub的时候,看到了一个MVP的项目,叫做mosby,仔细看了源码和作者介绍的文章后,发现确实有点意思,虽然会需要多写几个类和方法,但是解决了activity/fra...

android开发框架MVP项目

  • 2017年04月16日 16:46
  • 30.59MB
  • 下载

基于ASP.NET WPF技术及MVP模式实战太平人寿客户管理项目开发视频教程

《基于ASP.NET WPF技术及MVP模式实战太平人寿客户管理项目开发(Repository模式)》 课程讲师:刘成武  课程分类:.net 适合人群:中级 课时数量:25课时 用到技术:...

基于ASP.NET WPF技术及MVP模式实战太平人寿客户管理项目开发(Repository模式)

亲爱的网友,我这里有套课程想和大家分享,如果对这个课程有兴趣的,可以加我的QQ2059055336和我联系。  课程背景 本课程是教授使用WPF、ADO.NET、MVVM技术来实现太平人寿保险有限...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MVP项目研究——我的Android项目的开始(一些配置的管理)
举报原因:
原因补充:

(最多只允许输入30个字)