关于MVC结构的问题
ding102992 opened this issue · comments
Jason Ding commented
你在说明里面写了,您的这个项目是采用MVC结构的,举个例子,在CommonfindFragment
中:
//初始化数据
private void initData() {
String name = getArguments().getString("name");//分类名称
int position = getArguments().getInt("position");
Log.i("====rank", position + "-----" + RANK[position]);
String rank = RANK[position];
String encode = URLEncoder.encode(name);//必须将中文进行URL编码才能加到接口中
String url = String.format(HttpAdress.FIND_DETAIL, encode, rank);//请求地址
downloadData(url);
}
/**
* 下载网络数据
*
* @param url 网络请求地址
*/
private void downloadData(String url) {
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
//下载json数据
StringRequest request = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
parseJson(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(request);
requestQueue.start();
}
//设置适配器
private void setAdapter(List<FindDetailEntity.ItemListEntity> data) {
//实例化适配器
adapter = new CommonAdapter<FindDetailEntity.ItemListEntity>(getContext(), data, R.layout.list_home_vedio_item) {
@Override
public void convert(ViewHolder viewHolder, FindDetailEntity.ItemListEntity itemListEntity) {
viewHolder.setText(R.id.tv_title, itemListEntity.getData().getTitle());
//获取时间
int duration = itemListEntity.getData().getDuration();
int mm = duration / 60;//分
int ss = duration % 60;//秒
String second = "";//秒
String minute = "";//分
if (ss < 10) {
second = "0" + String.valueOf(ss);
} else {
second = String.valueOf(ss);
}
if (mm < 10) {
minute = "0" + String.valueOf(mm);
} else {
minute = String.valueOf(mm);//分钟
}
viewHolder.setText(R.id.tv_time, "#" + itemListEntity.getData().getCategory() + " / " + minute + "'" + second + '"');
viewHolder.setImageResourcewithFresco(R.id.iv, Uri.parse(itemListEntity.getData().getCover().getFeed()));
}
};
findListview.setAdapter(adapter);
if (adapter!=null){
adapter.notifyDataSetChanged();
}
}
//解析数据
private void parseJson(String response) {
FindDetailEntity entity = new Gson().fromJson(response, FindDetailEntity.class);
itemListEntities.addAll(entity.getItemList());
isLoad = false;//数据下载完之后设置为false
nextPageUrl = entity.getNextPageUrl();
//如果下一页数据的请求地址为null,则加载底部布局
if (nextPageUrl==null){
findListview.addFooterView(footview, null, false);
}
//设置适配器
setAdapter(itemListEntities);
}
这上面的一段代码,有设置M的(Volley获取数据),有V的(设置adapter显示数据),有C的(组织数据显示)。
所以,请问,您是如何认为您的项目是实用MVC结构的?