首先当然是添加依赖了
project的gradle
项目的gradle文件
module的gradle
然后是mvp模式的包结构
执行流程会按以下1234的顺序
1、app入口为LoginActivity,代码如下:
LoginActivity.kt
这里没有看到findViewById之类的是不感到好奇?这就是anko包的作用了,就相当于butterknife,androidannotations这些视图注入类的作用了,只需要如上箭头所指导入布局文件,然后拿控件的id就能直接用了,比如有个id为tv的TextView 这样写tv.text="hello world"
org.jetbrains.anko:anko-sdk25:0.10.0//依赖anko包
顺便说一下 代码中!!操作符,如果写 b!! ,这会返回⼀个⾮空的 b 值
2、点击登陆后 请求会交给LoginPresenter去分发处理,代码如下:
LoginPresenter.kt
3、LoginPresenter会将网络请求分发给LoginModelImple去处理(model) (这里网络请求没写 直接按成功处理 失败类似),代码如下:
4、登陆成功之后再交由LoginPresenter去分发页面跳转任务。回到LoginActivity