Adapter类
package bie.com.zkmoni;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.List;
import bie.com.zkmoni.model.DataBeans;
public class MyRvAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private String imageSplice = "http://365jia.cn/uploads/";
private Context context;
private List<DataBeans.DataBeanX.DataBean> list;
private LayoutInflater inflater;
private final static int NORMAL = 1;
private final static int IMAGES = 2;
public MyRvAdapter(Context context, List<DataBeans.DataBeanX.DataBean> list) {
this.context = context;
this.list = list;
inflater = LayoutInflater.from(context);
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
RecyclerView.ViewHolder holder;
if(viewType == NORMAL){
View view = inflater.inflate(R.layout.normal_item,parent,false);
holder = new NormalViewHolder(view);
}else if(viewType == IMAGES){
View view = inflater.inflate(R.layout.images_item,parent,false);
holder = new ImagesViewHolder(view);
}else{
holder = null;
}
return holder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
int itemViewType = getItemViewType(position);
DataBeans.DataBeanX.DataBean dataBean = list.get(position);
if(itemViewType == NORMAL){
NormalViewHolder normalViewHolder = (NormalViewHolder) holder;
normalViewHolder.normal_title.setText(dataBean.getTitle());
Glide.with(context).load(imageSplice+dataBean.getPics().get(0)).into(normalViewHolder.normal_img);
normalViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mOnItemClick != null){
mOnItemClick.onItemClick(position);
}
}
});
}else if(itemViewType == IMAGES){
ImagesViewHolder imagesViewHolder = (ImagesViewHolder) holder;
imagesViewHolder.images_title.setText(dataBean.getTitle());
Glide.with(context).load(imageSplice+dataBean.getPics().get(0)).into(imagesViewHolder.images01);
Glide.with(context).load(imageSplice+dataBean.getPics().get(1)).into(imagesViewHolder.images02);
Glide.with(context).load(imageSplice+dataBean.getPics().get(2)).into(imagesViewHolder.images03);
imagesViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mOnItemClick != null){
mOnItemClick.onItemClick(position);
}
}
});
}
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public int getItemViewType(int position) {
String type = list.get(position).getType();
if("images".equals(type)){
return IMAGES;
}else{
return NORMAL;
}
}
class NormalViewHolder extends RecyclerView.ViewHolder {
private final TextView normal_title;
private final ImageView normal_img;
public NormalViewHolder(final View itemView) {
super(itemView);
normal_title = itemView.findViewById(R.id.normal_title);
normal_img = itemView.findViewById(R.id.normal_img);
normal_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mOnItemClick != null){
mOnItemClick.onImageClick(v);
}
}
});
}
}
class ImagesViewHolder extends RecyclerView.ViewHolder{
private final ImageView images01;
private final ImageView images02;
private final ImageView images03;
private final TextView images_title;
public ImagesViewHolder(View itemView) {
super(itemView);
images01 = itemView.findViewById(R.id.images01);
images02 = itemView.findViewById(R.id.images02);
images03 = itemView.findViewById(R.id.images03);
images_title = itemView.findViewById(R.id.images_title);
images01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mOnItemClick != null){
mOnItemClick.onImageClick(v);
}
}
});
images02.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mOnItemClick != null){
mOnItemClick.onImageClick(v);
}
}
});
images03.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mOnItemClick != null){
mOnItemClick.onImageClick(v);
}
}
});
}
}
interface OnItemClick{
void onImageClick(View view);
void onItemClick(int position);
}
private OnItemClick mOnItemClick;
public void setOnItemClick( OnItemClick onItemClick){
this.mOnItemClick = onItemClick;
}
//删除
public void deleteItem(int poistion){
list.remove(poistion);
}
}
view动画
package bie.com.zkmoni;
import android.graphics.Rect;
import android.support.v7.widget.RecyclerView;
import android.view.View;
public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
private int space;
public SpacesItemDecoration(int space) {
this.space = space;
}
@Override
public void getItemOffsets(Rect outRect, View view,
RecyclerView parent, RecyclerView.State state) {
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
// Add top margin only for the first item to avoid double space between items
if (parent.getChildPosition(view) == 0)
outRect.top = space;
}
}
Activity类
package bie.com.zkmoni;
import android.animation.ObjectAnimator;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import java.util.List;
import bie.com.zkmoni.model.DataBeans;
import bie.com.zkmoni.presenter.DataPresenterImp;
import bie.com.zkmoni.view.DataView;
public class MainActivity extends AppCompatActivity implements DataView {
private RecyclerView mRv;
private DataPresenterImp dataPresenterImp;
private MyRvAdapter myRvAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRv = findViewById(R.id.rv);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
mRv.setLayoutManager(linearLayoutManager);
dataPresenterImp = new DataPresenterImp(this);
dataPresenterImp.showData("1");
}
@Override
public void showData(List<DataBeans.DataBeanX.DataBean> list) {
//适配器
myRvAdapter = new MyRvAdapter(this, list);
mRv.addItemDecoration(new SpacesItemDecoration(10));
mRv.setAdapter(myRvAdapter);
myRvAdapter.setOnItemClick(new MyRvAdapter.OnItemClick() {
@Override
public void onImageClick(View view) {
ObjectAnimator alpha = ObjectAnimator.ofFloat(view, "alpha", new float[]{1f, 0.5f, 0.0f, 0.5f, 1.0f});
alpha.setRepeatMode(ObjectAnimator.RESTART);
alpha.setDuration(2000);
alpha.setRepeatCount(0);
alpha.start();
}
@Override
public void onItemClick(int position) {
//弹出框
showAlertDialog(position);
}
});
}
private void showAlertDialog(final int position) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("提示:");
builder.setMessage("请问你要删除吗?");
builder.setIcon(R.mipmap.ic_launcher_round);
//点击对话框以外的区域是否让对话框消失
builder.setCancelable(false);
//设置正面按钮
builder.setPositiveButton("是的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
myRvAdapter.deleteItem(position);
myRvAdapter.notifyDataSetChanged();
dialog.dismiss();
}
});
//设置反面按钮
builder.setNegativeButton("不是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
@Override
protected void onDestroy() {
super.onDestroy();
dataPresenterImp.cloneView();
}
}
View层
package bie.com.zkmoni.view;
import java.util.List;
import bie.com.zkmoni.model.DataBeans;
/**
* ┏┓ ┏┓+ +
* ┏┛┻━━━┛┻┓ + +
* ┃ ┃
* ┃ ━ ┃ ++ + + +
* ████━████┃+
* ┃ ┃ +
* ┃ ┻ ┃
* ┃ ┃ + +
* ┗━┓ ┏━┛
* ┃ ┃
* ┃ ┃ + + + +
* ┃ ┃ Code is far away from bug with the animal protecting
* ┃ ┃ + 神兽保佑,代码无bug
* ┃ ┃
* ┃ ┃ +
* ┃ ┗━━━┓ + +
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛ + + + +
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛+ + + +
*/
public interface DataView {
void showData(List<DataBeans.DataBeanX.DataBean> list);
}
presenter层
package bie.com.zkmoni.presenter;
import com.google.gson.Gson;
import java.util.List;
import bie.com.zkmoni.model.DataBeans;
import bie.com.zkmoni.model.DataModelImp;
import bie.com.zkmoni.net.OnNetListener;
import bie.com.zkmoni.view.DataView;
public class DataPresenterImp implements DataPresenter {
private DataView dataView;
private final DataModelImp dataModelImp;
public DataPresenterImp(DataView dataView) {
this.dataView = dataView;
dataModelImp = new DataModelImp();
}
@Override
public void showData(String page) {
dataModelImp.showData(page, new OnNetListener() {
@Override
public void OnSuccess(String result) {
DataBeans dataBeans = new Gson().fromJson(result, DataBeans.class);
int code = dataBeans.getCode();
DataBeans.DataBeanX data = dataBeans.getData();
List<DataBeans.DataBeanX.DataBean> listData = data.getData();
if(0 == code){
dataView.showData(listData);
}
}
@Override
public void OnFilder(Exception e) {
}
});
}
public void cloneView(){
if(dataView != null){
dataView = null;
}
}
}
package bie.com.zkmoni.presenter;
public interface DataPresenter {
void showData(String page);
}
model层
package bie.com.zkmoni.model;
import com.google.gson.Gson;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.List;
public class DataBeans {
/**
* httpStatusCode : 200
* code : 0
* data : {"page":1,"perpage":20,"max_page":85,"total":1686,"data":[{"id":3541397,"title":"合肥新定位为全国智能家居研发生产中心 四大件产量连续多年居全国之首","link":"lsapp://cn.ahurls.news/news?id=3541397","pics":["appletrecommend/201805/5b08a30fa4712.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"","inner_news":1,"views":162,"comment_amount_label":"0","views_label":"162"},{"id":3541326,"title":"合肥此轮降雨过程将在5月26日结束 未来几日多云为主温度适宜","link":"lsapp://cn.ahurls.news/news?id=3541326","pics":["appletrecommend/201805/5b07c7396bc23.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2677,"comment_amount_label":"2","views_label":"2677"},{"id":3541361,"title":"调查:四川男子录抖音视频辱骂河南人后道歉 你怎么看?","link":"lsapp://cn.ahurls.news/news?id=3541361","pics":["appletrecommend/201805/5b08a3fb804d1.jpg"],"t":"url","type":"vote","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"投票","inner_news":1,"views":2421,"comment_amount_label":"0","views_label":"2421","pics_new":["appletrecommend/201805/5b08a3fb804d1.jpg"]},{"id":3541394,"title":"安徽岳西:子女住新房父母住危房被认定违法","link":"lsapp://cn.ahurls.news/news?id=3541394","pics":["appletrecommend/201805/5b08a3d8d1fc0.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":1,"source":"","type_sign":"","inner_news":1,"views":147,"comment_amount_label":"1","views_label":"147"},{"id":3541299,"title":"英勇!合肥登云庭小区小偷入室盗窃猥亵女业主 民警抱住小偷滚下楼梯","link":"lsapp://cn.ahurls.news/news?id=3541299","pics":["appletrecommend/201805/5b07ff30755de.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"","inner_news":1,"views":3766,"comment_amount_label":"4","views_label":"3766"},{"id":3541399,"title":"\u201c2017年世界500强\u201d中徽商占两席 王文银成为徽商企业家首富","link":"lsapp://cn.ahurls.news/news?id=3541399","pics":["appletrecommend/201805/5b08a60733c46.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"","inner_news":1,"views":73,"comment_amount_label":"0","views_label":"73"},{"id":3541302,"title":"5月25日24时安徽油价上调 92号汽油每升上调0.2元","link":"lsapp://cn.ahurls.news/news?id=3541302","pics":["appletrecommend/201805/5b07d930d0ebf.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":11,"source":"","type_sign":"","inner_news":1,"views":3373,"comment_amount_label":"11","views_label":"3373"},{"id":3540446,"title":"【专题】2018世界制造业大会合肥宣言正式发布 全球制造领域有了\u201c合肥声音\u201d","link":"lsapp://cn.ahurls.news/special?id=3540446","pics":["18/0525/5b074ce5c56d4.jpg"],"t":"url","type":"special","alias":"headline","pic_amount":0,"style":"single_fill","comment_amount":2,"source":"","type_sign":"专题","inner_news":1,"views":4582,"comment_amount_label":"2","views_label":"4582","pics_new":["18/0525/5b074ce5c56d4.jpg"]},{"id":3540693,"title":"调查:安徽班主任试喝牛奶确保安全 媒体:缺乏人性温度 你怎么看","link":"lsapp://cn.ahurls.news/news?id=3540693","pics":["appletrecommend/201805/5b073a72cbf8c.jpg"],"t":"url","type":"vote","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"投票","inner_news":1,"views":6024,"comment_amount_label":"4","views_label":"6024","pics_new":["appletrecommend/201805/5b073a72cbf8c.jpg"]},{"id":3541348,"title":"合肥蜀山区一菜市场厕所垃圾桶惊现一名死婴 警方介入调查","link":"lsapp://cn.ahurls.news/news?id=3541348","pics":["appletrecommend/201805/5b07fe759614b.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":3042,"comment_amount_label":"2","views_label":"3042"},{"id":3541039,"title":"这是一个令人振奋的消息! 合肥东部新中心来了","link":"lsapp://cn.ahurls.news/news?id=3541039","pics":["appletrecommend/201805/5b0783c941b0c.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":9,"source":"","type_sign":"","inner_news":1,"views":4000,"comment_amount_label":"9","views_label":"4000"},{"id":3541088,"title":"3岁女童因恶性肿瘤身亡 父母被指拿着捐款治疗儿子兔唇放弃女儿","link":"lsapp://cn.ahurls.news/image_news?id=3541088","pics":["special/tuku/201805/5b07a64e1a47655741.jpg","special/tuku/201805/5b07a64e2679386727.jpg","special/tuku/201805/5b07a64e0739a67091.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2870,"comment_amount_label":"2","views_label":"2870","pics_new":["special/tuku/201805/5b07a64e1a47655741.jpg"]},{"id":3540741,"title":"合肥教育局权威发布!中小学网上报名入学最新最全解答","link":"lsapp://cn.ahurls.news/news?id=3540741","pics":["appletrecommend/201805/5b07530ba7edb.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":5045,"comment_amount_label":"3","views_label":"5045"},{"id":3541009,"title":"合肥市公交换乘细则正式出炉 \u201c带人乘车刷卡\u201d不享受换乘优惠","link":"lsapp://cn.ahurls.news/news?id=3541009","pics":["appletrecommend/201805/5b07795a5df5c.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":5,"source":"","type_sign":"","inner_news":1,"views":4280,"comment_amount_label":"5","views_label":"4280"},{"id":3541029,"title":"今天凌晨合肥一辆白色轿车滑入天鹅湖 事发时车上或有人","link":"lsapp://cn.ahurls.news/news?id=3541029","pics":["appletrecommend/201805/5b077eba55a41.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":12,"source":"","type_sign":"","inner_news":1,"views":8157,"comment_amount_label":"12","views_label":"8157"},{"id":3541232,"title":"【专题】反转!王凤雅重病去世爷爷称善款剩千元 嫣然天使基金提供弟弟治兔唇钱","link":"lsapp://cn.ahurls.news/special?id=3541232","pics":["18/0525/5b07c6738acf1.jpg"],"t":"url","type":"special","alias":"headline","pic_amount":0,"style":"single_fill","comment_amount":1,"source":"","type_sign":"专题","inner_news":1,"views":2011,"comment_amount_label":"1","views_label":"2011","pics_new":["18/0525/5b07c6738acf1.jpg"]},{"id":3540737,"title":"站内何时能充值合肥通?合肥轨道公司回复市民热点问题","link":"lsapp://cn.ahurls.news/news?id=3540737","pics":["appletrecommend/201805/5b073e2513048.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"","inner_news":1,"views":4351,"comment_amount_label":"4","views_label":"4351"},{"id":3541162,"title":"活久见!男子不满女友登记时\u201c再考虑一下\u201d 一顿拳脚后两人又领证了","link":"lsapp://cn.ahurls.news/news?id=3541162","pics":["appletrecommend/201805/5b07b9a258016.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":7,"source":"","type_sign":"","inner_news":1,"views":3182,"comment_amount_label":"7","views_label":"3182"},{"id":3540754,"title":"今年合肥小学初中网上报名如何登记操作?这份\u201c入学指南\u201d请收好","link":"lsapp://cn.ahurls.news/news?id=3540754","pics":["appletrecommend/201805/5b07532313edd.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":6194,"comment_amount_label":"2","views_label":"6194"},{"id":3541169,"title":"合肥奔驰女不满物业规定 违停\u201c堵门\u201d辱骂殴打保安","link":"lsapp://cn.ahurls.news/image_news?id=3541169","pics":["special/tuku/201805/5b07ba822763455489.jpg","special/tuku/201805/5b07ba825c5e834613.jpg","special/tuku/201805/5b07ba8270df111019.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":6,"source":"","type_sign":"","inner_news":1,"views":1895,"comment_amount_label":"6","views_label":"1895","pics_new":["special/tuku/201805/5b07ba822763455489.jpg"]},{"id":3541308,"title":"流行性腮腺炎进入高发季 合肥疾控中心专家:幼儿需及时接种疫苗","link":"lsapp://cn.ahurls.news/news?id=3541308","pics":["appletrecommend/201805/5b0803117f3c6.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":1963,"comment_amount_label":"3","views_label":"1963"},{"id":3541301,"title":"女子周旋两个丈夫间5年未被发现 花钱雇老夫妻扮演自己父母","link":"lsapp://cn.ahurls.news/news?id=3541301","pics":["appletrecommend/201805/5b0802bce6c69.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":2222,"comment_amount_label":"3","views_label":"2222"},{"id":3541295,"title":"四川男子录抖音视频辱骂河南人后道歉:自己初中文化不了解地域黑","link":"lsapp://cn.ahurls.news/news?id=3541295","pics":["appletrecommend/201805/5b0801bbde00d.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2457,"comment_amount_label":"2","views_label":"2457"},{"id":3541226,"title":"【大碗视频】黑科技!直击2018世界制造业大会:应急情况加色拉油 直升机也能飞","link":"lsapp://cn.ahurls.news/news?id=3541226","pics":["appletrecommend/201805/5b08012ee91f3.jpg"],"t":"url","type":"video","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"视频","inner_news":1,"views":2539,"comment_amount_label":"2","views_label":"2539","pics_new":["appletrecommend/201805/5b08012ee91f3.jpg"]},{"id":3541213,"title":"清华北大公布2018保送生拟录取名单 合肥这两所学校学生上榜","link":"lsapp://cn.ahurls.news/news?id=3541213","pics":["appletrecommend/201805/5b07d21525ca6.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":3586,"comment_amount_label":"3","views_label":"3586"},{"id":3540757,"title":"捂脸!男子婚后压力大扮女装卖淫 嫖客得知真相当场吐了","link":"lsapp://cn.ahurls.news/news?id=3540757","pics":["appletrecommend/201805/5b0751ecf0eda.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":6107,"comment_amount_label":"3","views_label":"6107"},{"id":3541268,"title":"\u201c小猪佩奇\u201d文身贴安全吗? 部分商品无\u201c安全提示\u201d","link":"lsapp://cn.ahurls.news/news?id=3541268","pics":["appletrecommend/201805/5b07d45876402.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":1985,"comment_amount_label":"3","views_label":"1985"},{"id":3540922,"title":"64岁老汉猥亵小学女生:就为找点儿刺激","link":"lsapp://cn.ahurls.news/image_news?id=3540922","pics":["special/tuku/201805/5b076e1c36c8e31616.jpg","special/tuku/201805/5b076e1c5164d76430.jpg","special/tuku/201805/5b076e1c64ed337508.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":1986,"comment_amount_label":"2","views_label":"1986","pics_new":["special/tuku/201805/5b076e1c36c8e31616.jpg"]},{"id":3541223,"title":"四川惊现\u201c摔儿老师\u201d:抓小孩的手提起来转圈体罚","link":"lsapp://cn.ahurls.news/news?id=3541223","pics":["appletrecommend/201805/5b07cf20d38d0.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2047,"comment_amount_label":"2","views_label":"2047"},{"id":3541214,"title":"大爷替35岁女儿相亲要求有房是公务员:追求稳定的生活","link":"lsapp://cn.ahurls.news/news?id=3541214","pics":["appletrecommend/201805/5b07c4f720f6e.png"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":2206,"comment_amount_label":"3","views_label":"2206"}],"extras":{"slider":[{"id":3541393,"pic":"18/0526/5b08a55aa0724.jpg","link":"lsapp://cn.ahurls.news/news?id=3541393","t":"url","inner_news":1,"title":"来安徽旅游这5条精品路线不可错过","type":"nomal","type_sign":""},{"id":3540769,"pic":"18/0525/5b07c9c67edab.jpg","link":"lsapp://cn.ahurls.news/news?id=3540769","t":"url","inner_news":1,"title":"合肥构建未成人心理健康\u201c防护网\u201d","type":"nomal","type_sign":""},{"id":3540819,"pic":"18/0525/5b07aaec28743.jpg","link":"lsapp://cn.ahurls.news/news?id=3540819","t":"url","inner_news":1,"title":"数据告诉你\u201c合肥造\u201d到底有多强","type":"nomal","type_sign":""},{"id":3540806,"pic":"18/0525/5b076b21b1432.jpg","link":"lsapp://cn.ahurls.news/news?id=3540806","t":"url","inner_news":1,"title":"解码合肥工业经济跨越之路","type":"nomal","type_sign":""},{"id":3540583,"pic":"18/0524/5b06b8c92b95d.jpg","link":"lsapp://cn.ahurls.news/news?id=3540583","t":"url","inner_news":1,"title":"安徽一季度水质对赌结果出炉","type":"nomal","type_sign":""}]},"bindtips":""}
*/
private int httpStatusCode;
private int code;
private DataBeanX data;
public static DataBeans objectFromData(String str) {
return new Gson().fromJson(str, DataBeans.class);
}
public static DataBeans objectFromData(String str, String key) {
try {
JSONObject jsonObject = new JSONObject(str);
return new Gson().fromJson(jsonObject.getString(str), DataBeans.class);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
public int getHttpStatusCode() {
return httpStatusCode;
}
public void setHttpStatusCode(int httpStatusCode) {
this.httpStatusCode = httpStatusCode;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public DataBeanX getData() {
return data;
}
public void setData(DataBeanX data) {
this.data = data;
}
public static class DataBeanX {
/**
* page : 1
* perpage : 20
* max_page : 85
* total : 1686
* data : [{"id":3541397,"title":"合肥新定位为全国智能家居研发生产中心 四大件产量连续多年居全国之首","link":"lsapp://cn.ahurls.news/news?id=3541397","pics":["appletrecommend/201805/5b08a30fa4712.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"","inner_news":1,"views":162,"comment_amount_label":"0","views_label":"162"},{"id":3541326,"title":"合肥此轮降雨过程将在5月26日结束 未来几日多云为主温度适宜","link":"lsapp://cn.ahurls.news/news?id=3541326","pics":["appletrecommend/201805/5b07c7396bc23.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2677,"comment_amount_label":"2","views_label":"2677"},{"id":3541361,"title":"调查:四川男子录抖音视频辱骂河南人后道歉 你怎么看?","link":"lsapp://cn.ahurls.news/news?id=3541361","pics":["appletrecommend/201805/5b08a3fb804d1.jpg"],"t":"url","type":"vote","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"投票","inner_news":1,"views":2421,"comment_amount_label":"0","views_label":"2421","pics_new":["appletrecommend/201805/5b08a3fb804d1.jpg"]},{"id":3541394,"title":"安徽岳西:子女住新房父母住危房被认定违法","link":"lsapp://cn.ahurls.news/news?id=3541394","pics":["appletrecommend/201805/5b08a3d8d1fc0.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":1,"source":"","type_sign":"","inner_news":1,"views":147,"comment_amount_label":"1","views_label":"147"},{"id":3541299,"title":"英勇!合肥登云庭小区小偷入室盗窃猥亵女业主 民警抱住小偷滚下楼梯","link":"lsapp://cn.ahurls.news/news?id=3541299","pics":["appletrecommend/201805/5b07ff30755de.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"","inner_news":1,"views":3766,"comment_amount_label":"4","views_label":"3766"},{"id":3541399,"title":"\u201c2017年世界500强\u201d中徽商占两席 王文银成为徽商企业家首富","link":"lsapp://cn.ahurls.news/news?id=3541399","pics":["appletrecommend/201805/5b08a60733c46.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"","inner_news":1,"views":73,"comment_amount_label":"0","views_label":"73"},{"id":3541302,"title":"5月25日24时安徽油价上调 92号汽油每升上调0.2元","link":"lsapp://cn.ahurls.news/news?id=3541302","pics":["appletrecommend/201805/5b07d930d0ebf.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":11,"source":"","type_sign":"","inner_news":1,"views":3373,"comment_amount_label":"11","views_label":"3373"},{"id":3540446,"title":"【专题】2018世界制造业大会合肥宣言正式发布 全球制造领域有了\u201c合肥声音\u201d","link":"lsapp://cn.ahurls.news/special?id=3540446","pics":["18/0525/5b074ce5c56d4.jpg"],"t":"url","type":"special","alias":"headline","pic_amount":0,"style":"single_fill","comment_amount":2,"source":"","type_sign":"专题","inner_news":1,"views":4582,"comment_amount_label":"2","views_label":"4582","pics_new":["18/0525/5b074ce5c56d4.jpg"]},{"id":3540693,"title":"调查:安徽班主任试喝牛奶确保安全 媒体:缺乏人性温度 你怎么看","link":"lsapp://cn.ahurls.news/news?id=3540693","pics":["appletrecommend/201805/5b073a72cbf8c.jpg"],"t":"url","type":"vote","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"投票","inner_news":1,"views":6024,"comment_amount_label":"4","views_label":"6024","pics_new":["appletrecommend/201805/5b073a72cbf8c.jpg"]},{"id":3541348,"title":"合肥蜀山区一菜市场厕所垃圾桶惊现一名死婴 警方介入调查","link":"lsapp://cn.ahurls.news/news?id=3541348","pics":["appletrecommend/201805/5b07fe759614b.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":3042,"comment_amount_label":"2","views_label":"3042"},{"id":3541039,"title":"这是一个令人振奋的消息! 合肥东部新中心来了","link":"lsapp://cn.ahurls.news/news?id=3541039","pics":["appletrecommend/201805/5b0783c941b0c.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":9,"source":"","type_sign":"","inner_news":1,"views":4000,"comment_amount_label":"9","views_label":"4000"},{"id":3541088,"title":"3岁女童因恶性肿瘤身亡 父母被指拿着捐款治疗儿子兔唇放弃女儿","link":"lsapp://cn.ahurls.news/image_news?id=3541088","pics":["special/tuku/201805/5b07a64e1a47655741.jpg","special/tuku/201805/5b07a64e2679386727.jpg","special/tuku/201805/5b07a64e0739a67091.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2870,"comment_amount_label":"2","views_label":"2870","pics_new":["special/tuku/201805/5b07a64e1a47655741.jpg"]},{"id":3540741,"title":"合肥教育局权威发布!中小学网上报名入学最新最全解答","link":"lsapp://cn.ahurls.news/news?id=3540741","pics":["appletrecommend/201805/5b07530ba7edb.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":5045,"comment_amount_label":"3","views_label":"5045"},{"id":3541009,"title":"合肥市公交换乘细则正式出炉 \u201c带人乘车刷卡\u201d不享受换乘优惠","link":"lsapp://cn.ahurls.news/news?id=3541009","pics":["appletrecommend/201805/5b07795a5df5c.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":5,"source":"","type_sign":"","inner_news":1,"views":4280,"comment_amount_label":"5","views_label":"4280"},{"id":3541029,"title":"今天凌晨合肥一辆白色轿车滑入天鹅湖 事发时车上或有人","link":"lsapp://cn.ahurls.news/news?id=3541029","pics":["appletrecommend/201805/5b077eba55a41.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":12,"source":"","type_sign":"","inner_news":1,"views":8157,"comment_amount_label":"12","views_label":"8157"},{"id":3541232,"title":"【专题】反转!王凤雅重病去世爷爷称善款剩千元 嫣然天使基金提供弟弟治兔唇钱","link":"lsapp://cn.ahurls.news/special?id=3541232","pics":["18/0525/5b07c6738acf1.jpg"],"t":"url","type":"special","alias":"headline","pic_amount":0,"style":"single_fill","comment_amount":1,"source":"","type_sign":"专题","inner_news":1,"views":2011,"comment_amount_label":"1","views_label":"2011","pics_new":["18/0525/5b07c6738acf1.jpg"]},{"id":3540737,"title":"站内何时能充值合肥通?合肥轨道公司回复市民热点问题","link":"lsapp://cn.ahurls.news/news?id=3540737","pics":["appletrecommend/201805/5b073e2513048.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"","inner_news":1,"views":4351,"comment_amount_label":"4","views_label":"4351"},{"id":3541162,"title":"活久见!男子不满女友登记时\u201c再考虑一下\u201d 一顿拳脚后两人又领证了","link":"lsapp://cn.ahurls.news/news?id=3541162","pics":["appletrecommend/201805/5b07b9a258016.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":7,"source":"","type_sign":"","inner_news":1,"views":3182,"comment_amount_label":"7","views_label":"3182"},{"id":3540754,"title":"今年合肥小学初中网上报名如何登记操作?这份\u201c入学指南\u201d请收好","link":"lsapp://cn.ahurls.news/news?id=3540754","pics":["appletrecommend/201805/5b07532313edd.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":6194,"comment_amount_label":"2","views_label":"6194"},{"id":3541169,"title":"合肥奔驰女不满物业规定 违停\u201c堵门\u201d辱骂殴打保安","link":"lsapp://cn.ahurls.news/image_news?id=3541169","pics":["special/tuku/201805/5b07ba822763455489.jpg","special/tuku/201805/5b07ba825c5e834613.jpg","special/tuku/201805/5b07ba8270df111019.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":6,"source":"","type_sign":"","inner_news":1,"views":1895,"comment_amount_label":"6","views_label":"1895","pics_new":["special/tuku/201805/5b07ba822763455489.jpg"]},{"id":3541308,"title":"流行性腮腺炎进入高发季 合肥疾控中心专家:幼儿需及时接种疫苗","link":"lsapp://cn.ahurls.news/news?id=3541308","pics":["appletrecommend/201805/5b0803117f3c6.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":1963,"comment_amount_label":"3","views_label":"1963"},{"id":3541301,"title":"女子周旋两个丈夫间5年未被发现 花钱雇老夫妻扮演自己父母","link":"lsapp://cn.ahurls.news/news?id=3541301","pics":["appletrecommend/201805/5b0802bce6c69.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":2222,"comment_amount_label":"3","views_label":"2222"},{"id":3541295,"title":"四川男子录抖音视频辱骂河南人后道歉:自己初中文化不了解地域黑","link":"lsapp://cn.ahurls.news/news?id=3541295","pics":["appletrecommend/201805/5b0801bbde00d.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2457,"comment_amount_label":"2","views_label":"2457"},{"id":3541226,"title":"【大碗视频】黑科技!直击2018世界制造业大会:应急情况加色拉油 直升机也能飞","link":"lsapp://cn.ahurls.news/news?id=3541226","pics":["appletrecommend/201805/5b08012ee91f3.jpg"],"t":"url","type":"video","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"视频","inner_news":1,"views":2539,"comment_amount_label":"2","views_label":"2539","pics_new":["appletrecommend/201805/5b08012ee91f3.jpg"]},{"id":3541213,"title":"清华北大公布2018保送生拟录取名单 合肥这两所学校学生上榜","link":"lsapp://cn.ahurls.news/news?id=3541213","pics":["appletrecommend/201805/5b07d21525ca6.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":3586,"comment_amount_label":"3","views_label":"3586"},{"id":3540757,"title":"捂脸!男子婚后压力大扮女装卖淫 嫖客得知真相当场吐了","link":"lsapp://cn.ahurls.news/news?id=3540757","pics":["appletrecommend/201805/5b0751ecf0eda.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":6107,"comment_amount_label":"3","views_label":"6107"},{"id":3541268,"title":"\u201c小猪佩奇\u201d文身贴安全吗? 部分商品无\u201c安全提示\u201d","link":"lsapp://cn.ahurls.news/news?id=3541268","pics":["appletrecommend/201805/5b07d45876402.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":1985,"comment_amount_label":"3","views_label":"1985"},{"id":3540922,"title":"64岁老汉猥亵小学女生:就为找点儿刺激","link":"lsapp://cn.ahurls.news/image_news?id=3540922","pics":["special/tuku/201805/5b076e1c36c8e31616.jpg","special/tuku/201805/5b076e1c5164d76430.jpg","special/tuku/201805/5b076e1c64ed337508.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":1986,"comment_amount_label":"2","views_label":"1986","pics_new":["special/tuku/201805/5b076e1c36c8e31616.jpg"]},{"id":3541223,"title":"四川惊现\u201c摔儿老师\u201d:抓小孩的手提起来转圈体罚","link":"lsapp://cn.ahurls.news/news?id=3541223","pics":["appletrecommend/201805/5b07cf20d38d0.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2047,"comment_amount_label":"2","views_label":"2047"},{"id":3541214,"title":"大爷替35岁女儿相亲要求有房是公务员:追求稳定的生活","link":"lsapp://cn.ahurls.news/news?id=3541214","pics":["appletrecommend/201805/5b07c4f720f6e.png"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":2206,"comment_amount_label":"3","views_label":"2206"}]
* extras : {"slider":[{"id":3541393,"pic":"18/0526/5b08a55aa0724.jpg","link":"lsapp://cn.ahurls.news/news?id=3541393","t":"url","inner_news":1,"title":"来安徽旅游这5条精品路线不可错过","type":"nomal","type_sign":""},{"id":3540769,"pic":"18/0525/5b07c9c67edab.jpg","link":"lsapp://cn.ahurls.news/news?id=3540769","t":"url","inner_news":1,"title":"合肥构建未成人心理健康\u201c防护网\u201d","type":"nomal","type_sign":""},{"id":3540819,"pic":"18/0525/5b07aaec28743.jpg","link":"lsapp://cn.ahurls.news/news?id=3540819","t":"url","inner_news":1,"title":"数据告诉你\u201c合肥造\u201d到底有多强","type":"nomal","type_sign":""},{"id":3540806,"pic":"18/0525/5b076b21b1432.jpg","link":"lsapp://cn.ahurls.news/news?id=3540806","t":"url","inner_news":1,"title":"解码合肥工业经济跨越之路","type":"nomal","type_sign":""},{"id":3540583,"pic":"18/0524/5b06b8c92b95d.jpg","link":"lsapp://cn.ahurls.news/news?id=3540583","t":"url","inner_news":1,"title":"安徽一季度水质对赌结果出炉","type":"nomal","type_sign":""}]}
* bindtips :
*/
private int page;
private int perpage;
private int max_page;
private int total;
private ExtrasBean extras;
private String bindtips;
private List<DataBean> data;
public static DataBeanX objectFromData(String str) {
return new Gson().fromJson(str, DataBeanX.class);
}
public static DataBeanX objectFromData(String str, String key) {
try {
JSONObject jsonObject = new JSONObject(str);
return new Gson().fromJson(jsonObject.getString(str), DataBeanX.class);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getPerpage() {
return perpage;
}
public void setPerpage(int perpage) {
this.perpage = perpage;
}
public int getMax_page() {
return max_page;
}
public void setMax_page(int max_page) {
this.max_page = max_page;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public ExtrasBean getExtras() {
return extras;
}
public void setExtras(ExtrasBean extras) {
this.extras = extras;
}
public String getBindtips() {
return bindtips;
}
public void setBindtips(String bindtips) {
this.bindtips = bindtips;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class ExtrasBean {
private List<SliderBean> slider;
public static ExtrasBean objectFromData(String str) {
return new Gson().fromJson(str, ExtrasBean.class);
}
public static ExtrasBean objectFromData(String str, String key) {
try {
JSONObject jsonObject = new JSONObject(str);
return new Gson().fromJson(jsonObject.getString(str), ExtrasBean.class);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
public List<SliderBean> getSlider() {
return slider;
}
public void setSlider(List<SliderBean> slider) {
this.slider = slider;
}
public static class SliderBean {
/**
* id : 3541393
* pic : 18/0526/5b08a55aa0724.jpg
* link : lsapp://cn.ahurls.news/news?id=3541393
* t : url
* inner_news : 1
* title : 来安徽旅游这5条精品路线不可错过
* type : nomal
* type_sign :
*/
private int id;
private String pic;
private String link;
private String t;
private int inner_news;
private String title;
private String type;
private String type_sign;
public static SliderBean objectFromData(String str) {
return new Gson().fromJson(str, SliderBean.class);
}
public static SliderBean objectFromData(String str, String key) {
try {
JSONObject jsonObject = new JSONObject(str);
return new Gson().fromJson(jsonObject.getString(str), SliderBean.class);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPic() {
return pic;
}
public void setPic(String pic) {
this.pic = pic;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getT() {
return t;
}
public void setT(String t) {
this.t = t;
}
public int getInner_news() {
return inner_news;
}
public void setInner_news(int inner_news) {
this.inner_news = inner_news;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getType_sign() {
return type_sign;
}
public void setType_sign(String type_sign) {
this.type_sign = type_sign;
}
}
}
public static class DataBean {
/**
* id : 3541397
* title : 合肥新定位为全国智能家居研发生产中心 四大件产量连续多年居全国之首
* link : lsapp://cn.ahurls.news/news?id=3541397
* pics : ["appletrecommend/201805/5b08a30fa4712.jpg"]
* t : url
* type : normal
* alias : headline
* pic_amount : 0
* style : single_right
* comment_amount : 0
* source :
* type_sign :
* inner_news : 1
* views : 162
* comment_amount_label : 0
* views_label : 162
* pics_new : ["appletrecommend/201805/5b08a3fb804d1.jpg"]
*/
private int id;
private String title;
private String link;
private String t;
private String type;
private String alias;
private int pic_amount;
private String style;
private int comment_amount;
private String source;
private String type_sign;
private int inner_news;
private int views;
private String comment_amount_label;
private String views_label;
private List<String> pics;
private List<String> pics_new;
public static DataBean objectFromData(String str) {
return new Gson().fromJson(str, DataBean.class);
}
public static DataBean objectFromData(String str, String key) {
try {
JSONObject jsonObject = new JSONObject(str);
return new Gson().fromJson(jsonObject.getString(str), DataBean.class);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getT() {
return t;
}
public void setT(String t) {
this.t = t;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getAlias() {
return alias;
}
public void setAlias(String alias) {
this.alias = alias;
}
public int getPic_amount() {
return pic_amount;
}
public void setPic_amount(int pic_amount) {
this.pic_amount = pic_amount;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
public int getComment_amount() {
return comment_amount;
}
public void setComment_amount(int comment_amount) {
this.comment_amount = comment_amount;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getType_sign() {
return type_sign;
}
public void setType_sign(String type_sign) {
this.type_sign = type_sign;
}
public int getInner_news() {
return inner_news;
}
public void setInner_news(int inner_news) {
this.inner_news = inner_news;
}
public int getViews() {
return views;
}
public void setViews(int views) {
this.views = views;
}
public String getComment_amount_label() {
return comment_amount_label;
}
public void setComment_amount_label(String comment_amount_label) {
this.comment_amount_label = comment_amount_label;
}
public String getViews_label() {
return views_label;
}
public void setViews_label(String views_label) {
this.views_label = views_label;
}
public List<String> getPics() {
return pics;
}
public void setPics(List<String> pics) {
this.pics = pics;
}
public List<String> getPics_new() {
return pics_new;
}
public void setPics_new(List<String> pics_new) {
this.pics_new = pics_new;
}
}
}
}
package bie.com.zkmoni.model;
import bie.com.zkmoni.net.OnNetListener;
public interface DataModel {
void showData(String page, OnNetListener onNetListener);
}
package bie.com.zkmoni.model;
import bie.com.zkmoni.net.Api;
import bie.com.zkmoni.net.OkhttpUtils;
import bie.com.zkmoni.net.OnNetListener;
public class DataModelImp implements DataModel{
@Override
public void showData(String page, final OnNetListener onNetListener) {
OkhttpUtils.getInstance().doGet(Api.DATA_URL + "?page=" + page, new OnNetListener() {
@Override
public void OnSuccess(String result) {
onNetListener.OnSuccess(result);
}
@Override
public void OnFilder(Exception e) {
onNetListener.OnFilder(e);
}
});
}
}
网络层
package bie.com.zkmoni.net;
public interface Api {
String DATA_URL = "http://365jia.cn/news/api3/365jia/news/headline";
}
package bie.com.zkmoni.net;
import android.os.Handler;
import android.os.Looper;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class OkhttpUtils {
private static OkhttpUtils instance;
private final OkHttpClient okHttpClient;
private Handler handler;
private OkhttpUtils() {
okHttpClient = new OkHttpClient.Builder()
.connectTimeout(15, TimeUnit.SECONDS)
.writeTimeout(15,TimeUnit.SECONDS)
.readTimeout(15, TimeUnit.SECONDS)
.build();
handler = new Handler(Looper.getMainLooper());
}
public static OkhttpUtils getInstance(){
if(instance == null){
instance = new OkhttpUtils();
}
return instance;
}
public void doGet(String url, final OnNetListener onNetListener){
//创建Request
final Request request = new Request.Builder()
.url(url)
.build();
//发送请求
okHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, final IOException e) {
handler.post(new Runnable() {
@Override
public void run() {
onNetListener.OnFilder(e);
}
});
}
@Override
public void onResponse(Call call, Response response) throws IOException {
final String string = response.body().string();
handler.post(new Runnable() {
@Override
public void run() {
onNetListener.OnSuccess(string);
}
});
}
});
}
public void doPost(String url, Map<String,String> map, final IOkutils iOkutils){
FormBody.Builder builder = new FormBody.Builder();
for (String key :map.keySet()){
builder.add(key,map.get(key));
}
FormBody build = builder.build();
Request request = new Request.Builder()
.post(build)
.url(url)
.build();
Call call = okHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, final IOException e) {
handler.post(new Runnable() {
@Override
public void run() {
iOkutils.onFailure(e);
}
});
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response !=null && response.isSuccessful()){
final String json = response.body().string();
handler.post(new Runnable() {
@Override
public void run() {
iOkutils.onResponse(json);
}
});
}
}
});
}
interface IOkutils{
void onFailure(IOException e);
void onResponse(String json);
}
}
package bie.com.zkmoni.net;
public interface OnNetListener {
void OnSuccess(String result);
void OnFilder(Exception e);
}
权限
implementation 'com.squareup.okhttp3:okhttp:3.6.0'
implementation 'com.squareup.okio:okio:1.11.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0'
implementation 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
implementation 'com.youth.banner:banner:1.4.10'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation files('libs/universal-image-loader-1.9.5.jar')
implementation files('libs/gson-2.8.0.jar')