关闭

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

标签: mvp架构
182人阅读 评论(0) 收藏 举报
分类:

回顾过去,自己也算是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"/>
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

PMP学习笔记之五 第1-3章习题讲解

在做题之前,还是先复习一下前三章的内容。 第一章引论部分: 1、项目与项目管理:项目的临时性,独特性,渐进明细性,项目的三重制约(范围、时间、成本) 2、项目管理、项目集管理和项目组合管理...
  • pmpgao
  • pmpgao
  • 2014-11-12 15:57
  • 1170

十个值得研究的C开源项目!

原文链接:http://my.oschina.net/zhoukuo/blog/335788?p=9#comments 算是比较轻量级的开源项目,作为学习研究C语言,提升C语言功底!好处很多很多! ...
  • coding__madman
  • coding__madman
  • 2016-04-22 09:30
  • 1538

做课题与科研项目常用的研究方法

研究方法不出“硬伤” 1、常用的研究方法有文献研究法、教育观察法、经验总结法、个案研究法、行动研究法、实验研究法、历史研究法、调查研究法、比较研究法、叙事研究法等。 2、研究类型或途径、或...
  • neilol
  • neilol
  • 2015-06-18 15:28
  • 3065

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

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

项目配置管理工具研究

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

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

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

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

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

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

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

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

从零开始的Android新项目3 - MVPVM in Action, 谁告诉你MVP和MVVM是互斥的
  • u013651026
  • u013651026
  • 2017-12-26 15:55
  • 68

android开发框架MVP项目

  • 2017-04-16 16:46
  • 30.59MB
  • 下载
    个人资料
    • 访问:25527次
    • 积分:1171
    • 等级:
    • 排名:千里之外
    • 原创:96篇
    • 转载:1篇
    • 译文:0篇
    • 评论:5条