一:准备工作
环境:Android Studio 2.3.3 + Java7 + git
Github:创建一个项目,用于记录项目开发的过程:
项目地址:git@github.com:wzp09tjlg/Teach.git
PS.Git 的简单命令 再复习一遍
git status 查看状态
git init 初识化一个仓库(仓库建立之后 就会存在Master分支)
git add . 将项目文件全部添加到仓库中(此处的仓库是本地仓库,相对的还有远端的仓库)
git commit -m "提交,这里是你修改的东西"
git remote add origin url 添加一个远端仓库,远端仓库的名字就是origin
git pull origin master 从远端仓库中拉取代码
git push origin master:master 将本地代码推送到远端的仓库
git branch branchName 创建你的分支
git tag tagName 创建标签
PS. 从远端仓库中down代码的命令 是git clone url
这里打了一个标签,用于记录项目的开始 tag0
开发中单独创建了一个分支 dev(所有实现的代码将在dev分支上实现,最后在出版本的时候 会合并到master分支来。当然这里简化几个分支,在实际项目中肯定不止两个分支)
网络框架:(因为在activity及Fragment中会使用埋网络框架的东西,所以这里就把网络框架的东西先实现出来)
Retrofit2.0 + OkHttp + RxJava + RxAndroid
二:基类
开发过程中都会使用的一种方式,类似上小学时(也可能是初中,具体时间就有些忘了 ^_^!)学习的提取公因式,写基类也目的也是一样,就是为了方便在以后的工作中可以更加快捷的使用基类的准备工作。
网络框架:
1.引入网络框架的库
// Network Framework
compile retrofit
compile converter_gson
compile retrofit2_rxjava2_adapter
compile okhttp_logging_interceptor
compile okhttp
// Reactive Programming Codeing Framework
compile rxandroid
compile rxjava
//三方库
//支持库
compile rootProject.ext.support_dependencies["v7"]
compile rootProject.ext.support_dependencies["v4"]
compile rootProject.ext.support_dependencies["recyclerView"]
2.搭建基本的网络框架(如何使用retrofit2.0 请咕咕或者度娘)
ApiStore
ApiService
ApiCallback
及数据bean:HttpBase (因为数据来源是易源的数据,所以构建的基本bean就是参考易源返回的数据格式进行构建的)
参考tag1.0
3. 申明网络权限
<!-- 网络 -->
<uses-permission android:name="android.permission.INTERNET"/>
Activity 和Fragment
基类:BaseActivity 和 BaseFragment
在基类中封装(使用了MVP模型+DataBinding)
BaseActivity
BaseFragment
BaseView
BasePresenter
MvpActivity<P extends BasePresenter>
MvpFragment<P extends BasePresenter>
TechActivity<B extends ViewDataBinding,P extends BasePresenter>
TechFragment<B extends ViewDataBinding,P extends BasePresenter>
PS.需要开启databinding
在modual下的build.gradle中
android {
... ...
dataBinding {
enabled true
}
... ...
}
参考tag1.1
三:总结
因为网络框架在基类中使用,所以在一开始就构建了网络框架。
其次在构建基类中,把都能使用到的方法,抽象出来。使用了谷歌推荐的databinding,所以开启了databinding.
最后,地基管道弄好了,准备开始造房子咯。
PS.传送门(点个赞呗):
git@github.com:wzp09tjlg/Teach.git