@color/DeepPurple@color/DeepPurple900@color/Orange1。项目结构现在MVP模式越来越流行。默认采用。如果项目比较小:app——ApplicationActivityFragmentPresenter等父类config——API、常量表等model——数据层bean——数据模型presenter——MVP的Pview——MVP的Vutils——工具类集合widget--eachreusableViewcollection如果项目比较大,上面的方法肯定会导致presenter和view中有近百个文件。观看盲眼系列。推荐使用以下方法:appconfigmodelbeanmodule——将接口层分配为功能模块。launchmainaccountnewsmusic......utilswidget2.配置主题不符合MaterialDesign的项目忽略此步骤。1.先在color.xml中写入需要的颜色:#ff5722#673AB7#311B92#fff#888888#dddddd#999999请注意,color.xml是一个颜色表。它应该描述颜色而不是字体颜色、背景颜色等的定义。这样可以防止相似颜色的重复定义。导致界面颜色不统一。2.在style.xml中定义主题:@color/DeepPurple@color/DeepPurple900@color/Orange在res目录下,创建values-v21目录,然后创建style.xml:true?colorPrimaryDark然后修改AndroidManifest.xml文件中应用的theme属性为上面定义的AppTheme即可实现沉浸式状态栏。Theme和Toolbar的详细设置可以参考我另外两篇博客:http://www.cnblogs.com/Jude95/p/4369816.htmlhttp://www.cnblogs.com/Jude95/p/4370176.html3。依赖库和SDK需要的库:gradle-retrolambda-Android的lambda表达式插件fresco-Android最好的图片加载库material-dialogs-材质对话框向后兼容库material-ripple-Ripple向后兼容库fastjson——最快的JSON解析butterknife———查看注解库及配套插件android-butterknife-zeleznyActiveAndroid——数据库注解库。compile'com.android.support:design:22.2.0'——GoogleMaterialDesign控件库下面安利几个自己写的库,有什么建议欢迎交流:Utils——Android各种小功能合集RollViewPager——Automatic简单易用的轮播ViewPagerEasyRecyclerView——支持下拉上拉刷新等综合功能的RecyclerViewRequestVolley——只是为了让Volley更方便做了很多尝试,现在常用的就是这些。融云—即时通讯友盟—数据统计、推送、反馈、自动更新、第三方分享登录、社区七牛—云存储mob—短信验证bmob—bmob—做后台不用请人靠这个大后堆库和SDK。建议在合适的时候初始化它们,而不是把它们都堆在Application的onCreate()中。这会导致启动时间过长。启动后也会卡顿。虽然不会影响功能的正常使用。4.配置Gradle时,部分SDK运行时需要检查签名是否正确。所以必须在调试模式下使用官方KEY进行签名。并且将签名放入版本控制中是不明智的。因此推荐如下方法:在app的gradleandroid{signingConfigs{release{keyAliasprops['KEY_ALIAS']keyPasswordprops中添加如下代码Propertiesprops=newProperties()props.load(newFileInputStream(file("signing.properties")))['KEY_PASSWORD']storeFilefile(props['KEYSTORE_FILE'])storePasswordprops['KEYSTORE_PASSWORD']}}buildTypes{release{signingConfigsigningConfigs.release}debug{signingConfigsigningConfigs.release}}}在与app的gradle文件,里面填入你key的对应信息KEYSTORE_FILE=C:\\Users\\Mr.Jude\\Documents\\Android\\HelloWorld.jksKEYSTORE_PASSWORD=xxxxxxKEY_ALIAS=xxxxxxKEY_PASSWORD=xxxxxx添加signing.properties被忽略的目录。其他人拉下代码后。自己新建一个signing.properties,填写相应的信息,编译成功。5、制定开发规范,避免协同开发,写出风格迥异的代码。或者制作多套开发模型。下面是一个例子。毕竟,它是为高效开发而制定的。适合您的项目的是最好的。所有Activity继承自BaseActivity,所有Fragment继承自BaseFragment,所有Presenter继承自BasePresenter,方便生命周期管理。它也可以很容易地进行全局修改。命名,比如AccountFragmentUserDetailActivitylayout命名,比如activity_collectionfragment_accountitem_personinclude_toolbarview_progress,只是针对大项目的开发。近百个活动一开始的布局清单,还是会瞎编的。所以这种情况将在模块名称前加上。id名称,例如btn_sendtv_namelist_personset_password然后使用butterknife插件生成变量,它会自动将下划线更改为驼峰名称。变量名:以m开头。比如使用mAdapter时,按照一种方法命名:与其写好名字,不如写好注释。==。TextView使用官方标准字体TextView.pngstyle="@style/TextAppearance.AppCompat.Display4"style="@style/TextAppearance.AppCompat.Display3"style="@style/TextAppearance.AppCompat.Display2"style="@style/文本外观AppCompat.Body2"style="@style/TextAppearance.AppCompat.Body1"style="@style/TextAppearance.AppCompat.Caption"style="@style/TextAppearance.AppCompat.Button"Button使用MaterialDesign标准样式Button.pngstyle="@style/Widget.AppCompat.Button"style="@style/Widget.AppCompat.Button.Borderless"style="@style/Widget.AppCompat.Button.Borderless.Colored"style="@style/Widget.AppCompat.Button.Small”决定网络请求的写法。文件的存储方式和位置。写出项目使用的类库框架的用法。好了,下面开始正式开发吧!