- MVC架构
MVC的介绍
MVC的特点 - 新闻客户端MVC设计与分析
项目整体架构
Model和VIew分开
Controller作用 - RESTFUL API详解
什么是REST
什么是Restful
如何使用Restful
设计Restful风格 - Swag与PostMan的使用
PostMan安装
PostMan使用方法
新闻客户端API接口测试
MVC的介绍
MVC是Model-View-Controller的简称
MVC的特点
Model:模型层,负责处理数据的加载或者存储
View:视图层,负责界面数据的展示,与用户进行交互
Controller:控制器层,负责逻辑业务的处理
代码部分:
M:1.下载接口
interface getJson(String url);
/**
* 规定如何处理数据 M层第一步 接口
*/
public interface GetJsonInterface {
public void getJson(String url);
}
2.结果接口
interface result scccess(String json);fail(int errorCode);
public interface ResultInterface {
public void success(String json);
public void fail();
}
3.实现类
(1)具体化下载逻辑,重写getJson()//重写下载接口
(2)下载的结果传给结果的接口 调用结果接口
Rinterface.succcess(结果)
/**
* M层的第二步:接口的实现 类
*
* 给接口传值 调用接口中的方法
*/
public class GetJsonImpl implements GetJsonInterface{
private String url="http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1";
ResultInterface resultInterface;
public GetJsonImpl(ResultInterface resultInterface) {
this.resultInterface = resultInterface;
}
public void getJson(String url){
OkHttpClient client=new OkHttpClient.Builder().build();
final Request request=new Request.Builder().get().url(url).build();
Call call=client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
resultInterface.fail();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//成功
String json = response.body().string();
Log.i("TAG", "onResponse: "+json);
resultInterface.success(json);
}
});
}
}
V.C(Activity)
(1)调用下载实现类 传递url和结果接口
(2)重写success取结果
/**
* MAC Model-View-Controller 模型-视图-控制
* model 处理数据
* view 显示UI
* conyroller 控制M和V
*/
public class MainActivity extends AppCompatActivity implements ResultInterface{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 下载
* @param view
*/
public void downLoad(View view) {
//下载的逻辑在model
//显示 和model要结果
GetJsonImpl im=new GetJsonImpl(this);
String url="http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1";
im.getJson(url);//执行下载的逻辑
}
@Override
public void success(String json) {//从M层取的结果
Log.i("TAG", "success: 成功");
}
@Override
public void fail() {
}
}
postMan
用来测试url 装在谷歌浏览器的插件
Restful
API
作用:模拟化URL把URL分成若干部分 复用方便管理
技能效果