一刻钟 简单段子实现
依赖===========================================
implementation 'com.roughike:bottom-bar:1.3.3' implementation 'com.jcodecraeer:xrecyclerview:1.3.2' implementation 'com.android.support:design:27.1.1' implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation "io.reactivex.rxjava2:rxjava:2.1.13"//使retrofit支持Rxjava implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' //使retrofit支持Gson解析 implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation 'com.google.dagger:dagger:2.8' annotationProcessor 'com.google.dagger:dagger-compiler:2.7' implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' implementation 'com.facebook.fresco:fresco:1.9.0' implementation 'org.greenrobot:greendao:3.2.2' // add library
权限======================================
<uses-permission android:name="android.permission.INTERNET"/>
android:name=".View.App.MyApp"
布局===========================================
main_activity
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".View.activity.MainActivity"> <FrameLayout android:id="@+id/fl" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
fragment_duanzi==========================================
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="#FF1ABFD9"> <ImageView android:layout_width="40dp" android:layout_height="40dp" android:layout_centerVertical="true" android:background="@drawable/user_icon"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_centerVertical="true" android:text="段子"/> <ImageView android:layout_width="40dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:background="@drawable/edit_icon"/> </RelativeLayout> <com.jcodecraeer.xrecyclerview.XRecyclerView android:id="@+id/xrl" android:layout_width="match_parent" android:layout_height="match_parent"> </com.jcodecraeer.xrecyclerview.XRecyclerView> </LinearLayout>
xrv_layout=======================================
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fresco="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/img" android:layout_width="70dp" android:layout_height="70dp" android:layout_margin="3dp" fresco:roundAsCircle="true" /> <LinearLayout android:layout_width="100dp" android:layout_height="match_parent" android:layout_margin="3dp" android:orientation="vertical"> <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="123" android:textColor="#f00" android:textSize="16sp" /> <TextView android:id="@+id/tv_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="123" android:textSize="16sp" /> </LinearLayout> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:layout_gravity="center_vertical" android:layout_marginLeft="150dp" android:src="@drawable/add_icon" /> </LinearLayout> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/img_xia" android:layout_width="match_parent" android:layout_height="200dp" /> </LinearLayout>
功能======================================
MainActivity===========================================
package com.example.moni2.View.activity; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.example.moni2.R; import com.example.moni2.View.framgnet.DuanziFragment; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DuanziFragment duanziFragment = new DuanziFragment(); FragmentManager manager = getSupportFragmentManager(); manager.beginTransaction().replace(R.id.fl, duanziFragment).commit(); } }
DuanziAdapter===============================
package com.example.moni2.View.adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.example.moni2.Modle.bena.DuanziBean; import com.example.moni2.R; import com.facebook.drawee.view.SimpleDraweeView; import java.util.List; import io.reactivex.annotations.NonNull; public class DuanziAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<DuanziBean.DataBean> list; private LayoutInflater inflater; public DuanziAdapter(Context context, List<DuanziBean.DataBean> list) { this.context = context; this.list = list; inflater = LayoutInflater.from(context); } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.xrv_layout, parent, false); return new MyViewHolder(view); } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { DuanziBean.DataBean dataBean = list.get(position); MyViewHolder myViewHolder = (MyViewHolder) holder; String imgUrls = (String) dataBean.getImgUrls(); String imgUrl = "https://www.zhaoapi.cn/images/1530797853445head_icon.jpg"; if (!TextUtils.isEmpty(imgUrls)) { imgUrl = imgUrls.split("\\|")[0]; } myViewHolder.iv.setImageURI(imgUrl); myViewHolder.tvName.setText(dataBean.getUser().getNickname() + ""); myViewHolder.tvTime.setText(dataBean.getCreateTime()); } @Override public int getItemCount() { return list.size(); } private class MyViewHolder extends RecyclerView.ViewHolder { private final SimpleDraweeView iv; private final TextView tvName; private final TextView tvTime; public MyViewHolder(View itemView) { super(itemView); iv = itemView.findViewById(R.id.img); tvName = itemView.findViewById(R.id.tv_name); tvTime = itemView.findViewById(R.id.tv_time); } } public void refresh(List<DuanziBean.DataBean> tempList) { //清楚原先集合里的内容 this.list.clear(); this.list.addAll(tempList); notifyDataSetChanged(); } public void loadMore(List<DuanziBean.DataBean> tempList) { this.list.addAll(tempList); notifyDataSetChanged(); } public int getListNum(){ return this.list.size(); } }
MyApp=======================
package com.example.moni2.View.App; import android.app.Application; import com.facebook.drawee.backends.pipeline.Fresco; public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); Fresco.initialize(this); } }
BeasFrament===================================
package com.example.moni2.View.framgnet; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.moni2.Modle.ui.BaseContract; import com.example.moni2.Presenter.IBase; import javax.inject.Inject; import io.reactivex.annotations.NonNull; import io.reactivex.annotations.Nullable; public abstract class BaseFragment<T extends BaseContract.BasePresenter> extends Fragment implements IBase, BaseContract.BaseView { @Inject protected T mPresenter; @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { inject(); View view = inflater.inflate(getContentLayout(), null); mPresenter.attchView(this); initView(view); return view; } @Override public void onDestroy() { super.onDestroy(); mPresenter.detachView(); } @Override public void showLoading() { } @Override public void dismissLoading() { } }
DuanziFragnent===========================
package com.example.moni2.View.framgnet; import android.support.v7.widget.LinearLayoutManager; import android.view.View; import com.example.moni2.Modle.DuanziContract; import com.example.moni2.Modle.bena.DuanziBean; import com.example.moni2.Modle.utils.DaggerHttpComponent; import com.example.moni2.Presenter.DuanziPresenter; import com.example.moni2.R; import com.example.moni2.View.adapter.DuanziAdapter; import com.jcodecraeer.xrecyclerview.XRecyclerView; import java.util.ArrayList; import java.util.List; public class DuanziFragment extends BaseFragment<DuanziPresenter> implements DuanziContract.View { private XRecyclerView xlv; private List<DuanziBean.DataBean> list = new ArrayList<>(); private DuanziAdapter adapter; private boolean isRefresh = true; private int page = 1; @Override public int getContentLayout() { return R.layout.fragment_duanzi; } @Override public void initView(View view) { xlv = view.findViewById(R.id.xrl); xlv.setLayoutManager(new LinearLayoutManager(getContext())); adapter = new DuanziAdapter(getContext(), list); xlv.setAdapter(adapter); //判断数据库中是否有数据 //MyDataBeanDao myDataBeanDao = MyApp.getDaoSession().getMyDataBeanDao(); //List<MyDataBean> list = myDataBeanDao.queryBuilder().build().list(); if (list != null && list.size() > 0) { //说明数据库有数据 } else { mPresenter.getDuanzi(page + ""); } //设置刷新和加载更多监听 xlv.setLoadingListener(new XRecyclerView.LoadingListener() { @Override public void onRefresh() { //刷新 page = 1; isRefresh = true; mPresenter.getDuanzi(page + ""); } @Override public void onLoadMore() { //加载更多 page++; isRefresh = false; mPresenter.getDuanzi(page + ""); } }); } @Override public void inject() { DaggerHttpComponent.builder() .build() .inject(this); } @Override public void onSuccess(List<DuanziBean.DataBean> list) { if (isRefresh) { adapter.refresh(list); xlv.refreshComplete(); } else { adapter.loadMore(list); int listNum = adapter.getListNum(); xlv.loadMoreComplete(); int size = list.size(); int count = listNum + size; if (count >= 20) { xlv.setLoadingMoreEnabled(false); } } } }
IBeas===============================
package com.example.moni2.Presenter; import android.view.View; public interface IBase { int getContentLayout(); void initView(View view); void inject(); }
BeasPresenter====================================
package com.example.moni2.Presenter; import com.example.moni2.Modle.ui.BaseContract; public class BasePresenter <T extends BaseContract.BaseView> implements BaseContract.BasePresenter<T> { protected T mView; @Override public void attchView(T view) { if(view !=null){ this.mView = view; } } @Override public void detachView() { if(mView !=null){ this.mView = null; } } }
DuanziPresneter========================
package com.example.moni2.Presenter; import android.annotation.SuppressLint; import com.example.moni2.Modle.DuanziContract; import com.example.moni2.Modle.bena.DuanziBean; import com.example.moni2.Modle.bena.MyDataBean; import com.example.moni2.Modle.nmet.DuanziApi; import com.example.moni2.View.App.MyApp; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.functions.Consumer; import io.reactivex.functions.Function; import io.reactivex.schedulers.Schedulers; public class DuanziPresenter extends BasePresenter<DuanziContract.View> implements DuanziContract.Presenter { private DuanziApi duanziApi; @Inject public DuanziPresenter(DuanziApi duanziApi) { this.duanziApi = duanziApi; } @SuppressLint("CheckResult") @Override public void getDuanzi(String page) { duanziApi.getDuanzi(page) .subscribeOn(Schedulers.io()) .map(new Function<DuanziBean, List<DuanziBean.DataBean>>() { @Override public List<DuanziBean.DataBean> apply(DuanziBean duanziBean) throws Exception { return duanziBean.getData(); } }).observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer<List<DuanziBean.DataBean>>() { @Override public void accept(List<DuanziBean.DataBean> dataBeans) throws Exception { //DaoSession daoSession = MyApp.getDaoSession(); List<MyDataBean> list = new ArrayList<>(); //MyDataBeanDao myDataBeanDao = daoSession.getMyDataBeanDao(); for (int i = 0; i < dataBeans.size(); i++) { DuanziBean.DataBean dataBean = dataBeans.get(i); MyDataBean myDataBean = new MyDataBean(); myDataBean.setAge(dataBean.getUser().getAge() + ""); myDataBean.setCommentNum(dataBean.getCommentNum() + ""); myDataBean.setContent(dataBean.getContent()); myDataBean.setCreateTime(dataBean.getCreateTime()); myDataBean.setFans(dataBean.getUser().getFans()); myDataBean.setFollow(dataBean.getUser().isFollow()); myDataBean.setIcon(dataBean.getUser().getIcon() + ""); myDataBean.setImgUrls((String)(dataBean.getImgUrls())); list.add(myDataBean); } //myDataBeanDao.insertInTx(list); mView.onSuccess(dataBeans); } }); } }
HttpModle============================
package com.example.moni2.Modle.Imodle; import com.example.moni2.Modle.nmet.Api; import com.example.moni2.Modle.nmet.DuanziApi; import com.example.moni2.Modle.nmet.DuanziApiService; import com.example.moni2.Modle.nmet.MyInterceptor; import java.util.concurrent.TimeUnit; import dagger.Module; import dagger.Provides; import okhttp3.OkHttpClient; import retrofit2.Retrofit; import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; import retrofit2.converter.gson.GsonConverterFactory; @Module public class HttpModule { @Provides OkHttpClient.Builder provideOkHttpClientBuilder() { return new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .readTimeout(20, TimeUnit.SECONDS) .writeTimeout(20, TimeUnit.SECONDS); } @Provides DuanziApi provideDuanApi(OkHttpClient.Builder builder) { builder.addInterceptor(new MyInterceptor()); Retrofit retrofit = new Retrofit.Builder() .baseUrl(Api.baseUrl) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .client(builder.build()) .build(); DuanziApiService duanziApiService = retrofit.create(DuanziApiService.class); return DuanziApi.getDuanziApi(duanziApiService); } }
Api=====================
package com.example.moni2.Modle.nmet; public interface Api { String baseUrl = "https://www.zhaoapi.cn/"; }
DuanziApi==========================
package com.example.moni2.Modle.nmet; import com.example.moni2.Modle.bena.DuanziBean; import io.reactivex.Observable; public class DuanziApi { private static DuanziApi duanziApi; private DuanziApiService duanziApiService; private DuanziApi(DuanziApiService duanziApiService) { this.duanziApiService = duanziApiService; } public static DuanziApi getDuanziApi(DuanziApiService duanziApiService) { if (duanziApi == null) { duanziApi = new DuanziApi(duanziApiService); } return duanziApi; } public Observable<DuanziBean> getDuanzi(String page) { return duanziApiService.getDuanzi(page); } }
DuanziApiService========================
package com.example.moni2.Modle.nmet; import com.example.moni2.Modle.bena.DuanziBean; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; public interface DuanziApiService { @FormUrlEncoded @POST("quarter/getJokes") io.reactivex.Observable<DuanziBean> getDuanzi(@Field("page") String page); }
MyInterceptor=============================
package com.example.moni2.Modle.nmet; import java.io.IOException; import okhttp3.FormBody; import okhttp3.Interceptor; import okhttp3.Request; import okhttp3.Response; public class MyInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { //创建一个FormBody.Builder对象,用于添加公共参数 FormBody.Builder builder = new FormBody.Builder(); //先获取原始的请求 Request originalRequest = chain.request(); //获取原始请求里的请求体数据 FormBody formBody = (FormBody) originalRequest.body(); for (int i = 0; i < formBody.size(); i++) { //先把原始的请求体的参数添加到builder里 builder.add(formBody.name(i),formBody.value(i)); } //添加公共参数 builder.add("source","android"); builder.add("appVersion","100"); FormBody body = builder.build(); //创建一个新的Request Request request = new Request.Builder() .url(originalRequest.url()) .post(body) .build(); Response response = chain.proceed(request); return response; } }
BeasContract==========================
package com.example.moni2.Modle.ui; public interface BaseContract { interface BasePresenter<T extends BaseView> { void attchView(T view); void detachView(); } interface BaseView { void showLoading(); void dismissLoading(); } }
HttpComponet=======================
package com.example.moni2.Modle.utils; import com.example.moni2.Modle.Imodle.HttpModule; import com.example.moni2.View.framgnet.DuanziFragment; import dagger.Component; @Component(modules = HttpModule.class) public interface HttpComponent { void inject(DuanziFragment duanziFragment); }
DuanziContract=====================
package com.example.moni2.Modle; import com.example.moni2.Modle.bena.DuanziBean; import com.example.moni2.Modle.ui.BaseContract; import java.util.List; public interface DuanziContract { interface View extends BaseContract.BaseView { void onSuccess(List<DuanziBean.DataBean> list); } interface Presenter extends BaseContract.BasePresenter<View> { void getDuanzi(String page); } }
DuanziBean=================================
package com.example.moni2.Modle.bena; import java.util.List; public class DuanziBean { /** * msg : 获取段子列表成功 * code : 0 * data : [{"commentNum":null,"content":"是王旭阳 二百五","createTime":"2018-05-14T19:10:04","imgUrls":null,"jid":2622, * "praiseNum":null,"shareNum":null,"uid":11196,"user":{"age":null,"fans":"null","follow":false,"icon":null, * "nickname":null,"praiseNum":"null"}},{"commentNum":null,"content":"王旭阳,怎么这么帅", * "createTime":"2018-05-14T15:40:31","imgUrls":null,"jid":2621,"praiseNum":null,"shareNum":null,"uid":11196, * "user":{"age":null,"fans":"null","follow":false,"icon":null,"nickname":null,"praiseNum":"null"}}, * {"commentNum":null,"content":"我觉得王旭阳好帅啊","createTime":"2018-05-14T15:37:40","imgUrls":null,"jid":2620, * "praiseNum":null,"shareNum":null,"uid":11196,"user":{"age":null,"fans":"null","follow":false,"icon":null, * "nickname":null,"praiseNum":"null"}},{"commentNum":null,"content":"我是王旭阳,和我玩贪玩蓝月,是兄弟,就打王旭阳", * "createTime":"2018-05-14T15:34:51","imgUrls":null,"jid":2619,"praiseNum":null,"shareNum":null,"uid":11196, * "user":{"age":null,"fans":"null","follow":false,"icon":null,"nickname":null,"praiseNum":"null"}}, * {"commentNum":null,"content":"\"fdfdsf\"","createTime":"2018-05-11T14:35:56","imgUrls":null,"jid":2618, * "praiseNum":null,"shareNum":null,"uid":12025,"user":{"age":null,"fans":"null","follow":false,"icon":null, * "nickname":"踩电门的猫","praiseNum":"null"}},{"commentNum":null,"content":"我是孙晶", * "createTime":"2018-05-11T10:50:29","imgUrls":"https://www.zhaoapi * .cn/images/quarter/1526007029403Screenshot_2018-03-19-13-23-00.png","jid":2617,"praiseNum":null, * "shareNum":null,"uid":12509,"user":{"age":null,"fans":"null","follow":false,"icon":"https://www.zhaoapi * .cn/images/1523839244885crop_photo.jpg","nickname":"%E5%BC%A0%E9%9C%B2","praiseNum":"null"}}, * {"commentNum":null,"content":"我是孙晶","createTime":"2018-05-11T10:49:59","imgUrls":"https://www.zhaoapi * .cn/images/quarter/1526006999590Screenshot_2018-03-19-13-23-00.png","jid":2616,"praiseNum":null, * "shareNum":null,"uid":12509,"user":{"age":null,"fans":"null","follow":false,"icon":"https://www.zhaoapi * .cn/images/1523839244885crop_photo.jpg","nickname":"%E5%BC%A0%E9%9C%B2","praiseNum":"null"}}, * {"commentNum":null,"content":"\"fdfdsf\"","createTime":"2018-05-11T10:44:10","imgUrls":null,"jid":2615, * "praiseNum":null,"shareNum":null,"uid":12025,"user":{"age":null,"fans":"null","follow":false,"icon":null, * "nickname":"踩电门的猫","praiseNum":"null"}},{"commentNum":null,"content":"\"fdfdsf\"", * "createTime":"2018-05-11T10:31:14","imgUrls":null,"jid":2614,"praiseNum":null,"shareNum":null,"uid":12025, * "user":{"age":null,"fans":"null","follow":false,"icon":null,"nickname":"踩电门的猫","praiseNum":"null"}}, * {"commentNum":null,"content":"\"fdfdsf\"","createTime":"2018-05-11T09:33:42","imgUrls":null,"jid":2613, * "praiseNum":null,"shareNum":null,"uid":12025,"user":{"age":null,"fans":"null","follow":false,"icon":null, * "nickname":"踩电门的猫","praiseNum":"null"}}] */ private String msg; private String code; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { /** * commentNum : null * content : 是王旭阳 二百五 * createTime : 2018-05-14T19:10:04 * imgUrls : null * jid : 2622 * praiseNum : null * shareNum : null * uid : 11196 * user : {"age":null,"fans":"null","follow":false,"icon":null,"nickname":null,"praiseNum":"null"} */ private Object commentNum; private String content; private String createTime; private Object imgUrls; private int jid; private Object praiseNum; private Object shareNum; private int uid; private UserBean user; public Object getCommentNum() { return commentNum; } public void setCommentNum(Object commentNum) { this.commentNum = commentNum; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } public Object getImgUrls() { return imgUrls; } public void setImgUrls(Object imgUrls) { this.imgUrls = imgUrls; } public int getJid() { return jid; } public void setJid(int jid) { this.jid = jid; } public Object getPraiseNum() { return praiseNum; } public void setPraiseNum(Object praiseNum) { this.praiseNum = praiseNum; } public Object getShareNum() { return shareNum; } public void setShareNum(Object shareNum) { this.shareNum = shareNum; } public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public UserBean getUser() { return user; } public void setUser(UserBean user) { this.user = user; } public static class UserBean { /** * age : null * fans : null * follow : false * icon : null * nickname : null * praiseNum : null */ private Object age; private String fans; private boolean follow; private Object icon; private Object nickname; private String praiseNum; public Object getAge() { return age; } public void setAge(Object age) { this.age = age; } public String getFans() { return fans; } public void setFans(String fans) { this.fans = fans; } public boolean isFollow() { return follow; } public void setFollow(boolean follow) { this.follow = follow; } public Object getIcon() { return icon; } public void setIcon(Object icon) { this.icon = icon; } public Object getNickname() { return nickname; } public void setNickname(Object nickname) { this.nickname = nickname; } public String getPraiseNum() { return praiseNum; } public void setPraiseNum(String praiseNum) { this.praiseNum = praiseNum; } } } }
MyDataBean===============================
package com.example.moni2.Modle.bena; import org.greenrobot.greendao.annotation.Entity; import org.greenrobot.greendao.annotation.Generated; import org.greenrobot.greendao.annotation.Id; import org.greenrobot.greendao.annotation.Property; @Entity public class MyDataBean { @Id private Long id; @Property private String commentNum; @Property private String content; @Property private String createTime; @Property private String imgUrls; @Property private int jid; @Property private String praiseNum; @Property private String shareNum; @Property private int uid; @Property private String age; @Property private String fans; @Property private boolean follow; @Property private String icon; @Property private String nickname; @Generated(hash = 1891157934) public MyDataBean(Long id, String commentNum, String content, String createTime, String imgUrls, int jid, String praiseNum, String shareNum, int uid, String age, String fans, boolean follow, String icon, String nickname) { this.id = id; this.commentNum = commentNum; this.content = content; this.createTime = createTime; this.imgUrls = imgUrls; this.jid = jid; this.praiseNum = praiseNum; this.shareNum = shareNum; this.uid = uid; this.age = age; this.fans = fans; this.follow = follow; this.icon = icon; this.nickname = nickname; } @Generated(hash = 650128772) public MyDataBean() { } public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } public String getCommentNum() { return this.commentNum; } public void setCommentNum(String commentNum) { this.commentNum = commentNum; } public String getContent() { return this.content; } public void setContent(String content) { this.content = content; } public String getCreateTime() { return this.createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } public String getImgUrls() { return this.imgUrls; } public void setImgUrls(String imgUrls) { this.imgUrls = imgUrls; } public int getJid() { return this.jid; } public void setJid(int jid) { this.jid = jid; } public String getPraiseNum() { return this.praiseNum; } public void setPraiseNum(String praiseNum) { this.praiseNum = praiseNum; } public String getShareNum() { return this.shareNum; } public void setShareNum(String shareNum) { this.shareNum = shareNum; } public int getUid() { return this.uid; } public void setUid(int uid) { this.uid = uid; } public String getAge() { return this.age; } public void setAge(String age) { this.age = age; } public String getFans() { return this.fans; } public void setFans(String fans) { this.fans = fans; } public boolean getFollow() { return this.follow; } public void setFollow(boolean follow) { this.follow = follow; } public String getIcon() { return this.icon; } public void setIcon(String icon) { this.icon = icon; } public String getNickname() { return this.nickname; } public void setNickname(String nickname) { this.nickname = nickname; } }