27
2017
09

第一篇:基本框架(基类,网络框架,主页面)

一:准备工作

  环境: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
上一篇:FragmentStatePagerAdapter与FragmentPagerAdapter 下一篇:Android随笔记