implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
//轮播图
implementation 'com.youth.banner:banner:1.4.10'
//Fresco
implementation 'com.facebook.fresco:fresco:1.9.0'
// Fresco 支持 GIF 动图,需要添加
implementation 'com.facebook.fresco:animated-gif:1.9.0'
implementation 'com.facebook.fresco:imagepipeline-okhttp3:0.11.0'
//依赖begin
implementation 'com.google.code.gson:gson:2.8.5'
//刷新的第三方
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5.1'
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.5.1'
//RecyclerView
implementation 'com.android.support:recyclerview-v7:28.0.0-alpha3'
implementation 'com.android.support:design:28.0.0-alpha3'
//RecyclerView 上啦加载下拉刷新 https://github.com/XRecyclerView/XRecyclerView
implementation('com.jcodecraeer:xrecyclerview:1.5.9') {
exclude group: 'com.android.support'
}
//状态栏
implementation 'com.jaeger.statusbarutil:library:1.5.1'
//网络请求重要的依赖
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
//rxjava
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
//日志拦截器
implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0'
implementation 'com.squareup.okhttp3:okhttp:3.5.0'
//ButterKnife
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
//跑马灯
implementation 'com.sunfusheng:marqueeview:1.3.3'
//Glide 加载图片
implementation 'com.github.bumptech.glide:glide:4.7.1'
//GreenDao
implementation 'org.greenrobot:greendao:3.0.1'
implementation 'org.greenrobot:greendao-generator:3.0.0'
package com.baiwei.tianlong.zhoukao_moni.adapter;
import android.content.Context;
import android.net.Uri;
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.TextView;
import com.baiwei.tianlong.zhoukao_moni.R;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LieBiaoBeans;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class LieBiaoAdapter extends RecyclerView.Adapter<LieBiaoAdapter.LieBiaoHolder> {
private List<LieBiaoBeans.DataBean> data;
private Context context;
public LieBiaoAdapter(List<LieBiaoBeans.DataBean> data, Context context) {
this.data = data;
this.context = context;
}
@NonNull
@Override
public LieBiaoHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.liebiao, viewGroup, false);
return new LieBiaoHolder(view);
}
@Override
public void onBindViewHolder(@NonNull LieBiaoHolder lieBiaoHolder, final int i) {
String name = data.get(i).getName();
String createtime = data.get(i).getCreatetime();
String icon = data.get(i).getIcon();
lieBiaoHolder.frescoLiebiao.setImageURI(Uri.parse(icon));
lieBiaoHolder.liebiaoText.setText(name);
lieBiaoHolder.liebiaoText1.setText(createtime);
lieBiaoHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (onItemLieBiaoInstance!=null){
onItemLieBiaoInstance.onItemClick(view,i);
}
}
});
}
@Override
public int getItemCount() {
return data == null ? 0 : data.size();
}
public class LieBiaoHolder extends RecyclerView.ViewHolder {
@BindView(R.id.fresco_liebiao)
SimpleDraweeView frescoLiebiao;
@BindView(R.id.liebiao_text)
TextView liebiaoText;
@BindView(R.id.liebiao_text1)
TextView liebiaoText1;
public LieBiaoHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
}
OnItemLieBiaoInstance onItemLieBiaoInstance;
public interface OnItemLieBiaoInstance {
void onItemClick(View view , int position);
}
public void setOnItemLieBiaoInstance(OnItemLieBiaoInstance onItemLieBiaoInstance) {
this.onItemLieBiaoInstance = onItemLieBiaoInstance;
}
}
SheJiShiAdapter类
package com.baiwei.tianlong.zhoukao_moni.adapter;
import android.content.Context;
import android.net.Uri;
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.TextView;
import com.baiwei.tianlong.zhoukao_moni.R;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.SheJiBeans;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class SheJiShiAdapter extends RecyclerView.Adapter<SheJiShiAdapter.SheJiHolder> {
private List<SheJiBeans.DataBean.DisplayBean> display;
private Context context;
public SheJiShiAdapter(List<SheJiBeans.DataBean.DisplayBean> display, Context context) {
this.display = display;
this.context = context;
}
@NonNull
@Override
public SheJiHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.shejiitem, viewGroup, false);
return new SheJiHolder(view);
}
@Override
public void onBindViewHolder(@NonNull SheJiHolder sheJiHolder, int i) {
String avatar = display.get(i).getAvatar();
String nick_name = display.get(i).getNick_name();
sheJiHolder.frescoSheji.setImageURI(Uri.parse(avatar));
sheJiHolder.shejiText.setText(nick_name);
}
@Override
public int getItemCount() {
return display == null ? 0 : display.size();
}
public class SheJiHolder extends RecyclerView.ViewHolder {
@BindView(R.id.fresco_sheji)
SimpleDraweeView frescoSheji;
@BindView(R.id.sheji_text)
TextView shejiText;
public SheJiHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
}
}
package com.baiwei.tianlong.zhoukao_moni.adapter;
import android.content.Context;
import android.net.Uri;
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.TextView;
import com.baiwei.tianlong.zhoukao_moni.R;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class TuSanAdapter extends RecyclerView.Adapter<TuSanAdapter.TuSanHodel> {
private List<TuSanBeans.DataBean> data;
private Context context;
public TuSanAdapter(List<TuSanBeans.DataBean> data, Context context) {
this.data = data;
this.context = context;
}
@NonNull
@Override
public TuSanHodel onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.tusan_item, viewGroup, false);
return new TuSanHodel(view);
}
@Override
public void onBindViewHolder(@NonNull TuSanHodel tuSanHodel, int i) {
String image_url = data.get(i).getImages().split("\\|")[0];
String title = data.get(i).getTitle();
String subhead = data.get(i).getSubhead();
tuSanHodel.frescoTusan.setImageURI(Uri.parse(image_url));
tuSanHodel.tusanText.setText(title);
tuSanHodel.tusanText1.setText(subhead);
}
@Override
public int getItemCount() {
return data == null ? 0 : data.size();
}
public class TuSanHodel extends RecyclerView.ViewHolder {
@BindView(R.id.fresco_tusan)
SimpleDraweeView frescoTusan;
@BindView(R.id.tusan_text)
TextView tusanText;
@BindView(R.id.tusan_text1)
TextView tusanText1;
public TuSanHodel(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
}
}
package com.baiwei.tianlong.zhoukao_moni.base;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import butterknife.ButterKnife;
public abstract class BaseActivity<P extends BasePresenter> extends AppCompatActivity {
//注入基类
protected P presenter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(provideLayoutId());
//ButterKnitfe
ButterKnife.bind(provideBindView());
initView();
presenter = providePresenter();
initData();
initListener();
}
protected abstract P providePresenter();
protected void initListener() {
}
protected void initData() {
}
protected void initView(){
};
protected abstract Activity provideBindView();
protected abstract int provideLayoutId();
}
package com.baiwei.tianlong.zhoukao_moni.base;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import butterknife.ButterKnife;
import butterknife.Unbinder;
public abstract class BaseFragment<P extends BasePresenter> extends Fragment {
protected P prsenter;
private View view;
private Unbinder unbinder;
@Nullable
@Override
public android.view.View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//加载布局
if (view == null){
view = inflater.inflate(provideFragmentLayoutID(), container, false);
}
ViewGroup parent = (ViewGroup) view.getParent();
if (parent!= null){
parent.removeView(view);
}
//ButterKifer
unbinder = ButterKnife.bind(provideBindView(),view);
return view;
}
protected abstract Object provideBindView();
protected abstract int provideFragmentLayoutID();
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
prsenter = providePresenter();
//初始化
initView(view);
initData();
initListener();
}
protected void initListener() {
}
protected void initData() {
}
protected void initView(View view) {
}
protected abstract P providePresenter();
@Override
public void onDestroy() {
prsenter.onDestory();
super.onDestroy();
}
@Override
public void onDestroyView() {
super.onDestroyView();
//Fresco 清理缓存
// ImagePipeline imagePipeline = Fresco.getImagePipeline();
// imagePipeline.clearMemoryCaches();
// imagePipeline.clearDiskCaches();
// imagePipeline.clearCaches();
unbinder.unbind();
}
}
package com.baiwei.tianlong.zhoukao_moni.base;
import android.content.Context;
import com.baiwei.tianlong.zhoukao_moni.App;
import io.reactivex.disposables.CompositeDisposable;
public abstract class BasePresenter<V extends View> {
protected V view;
//取消订阅
protected CompositeDisposable compositeDisposable = new CompositeDisposable();
public BasePresenter(V view) {
this.view = view;
initModel();
}
//注入model方法
protected abstract void initModel();
//处理内存溢出
void onDestory(){
view = null;
compositeDisposable.clear();
}
protected Context context(){
if (view!=null && view.context()!=null){
return view.context();
}else {
return App.getAppContext();
}
}
}
package com.baiwei.tianlong.zhoukao_moni.utils;
public class ConstantApi {
public static final String BASE_URL="https://www.zhaoapi.cn/";
public static final String AD_URL="quarter/getAd";
public static final String CATAGORY_URL="product/getCatagory";
public static final String PRODUCTS_URL="product/getProducts";
public static final String BASE_URL1="https://app.tuozhe8.com/";
public static final String SHE_JI="api.php/api/Lists/designer?token=&version=1.7";
}
package com.baiwei.tianlong.zhoukao_moni.utils;
import android.util.Log;
import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
public class RetrofitcManager {
private final Retrofit retrofit;
private static class SingHolder{
private static final RetrofitcManager INSTANT = new RetrofitcManager(ConstantApi.BASE_URL);
private static final RetrofitcManager INSTANT1 = new RetrofitcManager(ConstantApi.BASE_URL1);
}
public static RetrofitcManager getDefault(){
return SingHolder.INSTANT;
}
public static RetrofitcManager getDefault1(){
return SingHolder.INSTANT1;
}
public RetrofitcManager(String baseUrl) {
this.retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
}
//网络拦截器
private OkHttpClient buildOkHttpClient(){
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
Log.i("xxx", "日志信息:" + message);
}
});
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
return new OkHttpClient.Builder()
.addInterceptor(interceptor)
.connectTimeout(5, TimeUnit.SECONDS)
.writeTimeout(5, TimeUnit.SECONDS)
.readTimeout(5, TimeUnit.SECONDS)
.addInterceptor(interceptor)
.build();
}
public <T> T create(Class<T> tClass) {
return retrofit.create(tClass);
}
}
public interface ModelApi {
//轮播
@GET(ConstantApi.AD_URL)
Flowable<LunBoBeans> getLunBo();
//设计
@GET(ConstantApi.SHE_JI)
Flowable<SheJiBeans> getSheJi();
//列表
@GET(ConstantApi.CATAGORY_URL)
Flowable<LieBiaoBeans> getLieBiao();
}
package com.baiwei.tianlong.zhoukao_moni.mvp.main.model;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LieBiaoBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LunBoBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.SheJiBeans;
import com.baiwei.tianlong.zhoukao_moni.utils.RetrofitcManager;
import io.reactivex.Flowable;
public class ModelApiTask implements ModelApi {
@Override
public Flowable<LunBoBeans> getLunBo() {
return RetrofitcManager.getDefault().create(ModelApi.class).getLunBo();
}
@Override
public Flowable<SheJiBeans> getSheJi() {
return RetrofitcManager.getDefault1().create(ModelApi.class).getSheJi();
}
@Override
public Flowable<LieBiaoBeans> getLieBiao() {
return RetrofitcManager.getDefault().create(ModelApi.class).getLieBiao();
}
}
package com.baiwei.tianlong.zhoukao_moni.mvp.main.presenter;
import com.baiwei.tianlong.zhoukao_moni.base.BasePresenter;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.ModelApiTask;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LieBiaoBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LunBoBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.SheJiBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.view.ZhouKaoView;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.subscribers.DisposableSubscriber;
public class ZhouKaoPresenter extends BasePresenter<ZhouKaoView> {
private ModelApiTask modelApiTask;
public ZhouKaoPresenter(ZhouKaoView view) {
super(view);
}
@Override
protected void initModel() {
modelApiTask = new ModelApiTask();
}
//轮播图
public void getLunBo(){
modelApiTask.getLunBo()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableSubscriber<LunBoBeans>() {
@Override
public void onNext(LunBoBeans lunBoBeans) {
if ("0".equals(lunBoBeans.getCode())){
if (view!=null){
view.getLunBoSuccess(lunBoBeans);
}
}else {
if (view!=null){
view.getLunBoError(lunBoBeans.getMsg());
}
}
}
@Override
public void onError(Throwable t) {
if (view!=null){
view.getLunBoError(t.toString());
}
}
@Override
public void onComplete() {
}
});
}
//列表
public void getLieBiao(){
modelApiTask.getLieBiao()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableSubscriber<LieBiaoBeans>() {
@Override
public void onNext(LieBiaoBeans lieBiaoBeans) {
if ("0".equals(lieBiaoBeans.getCode())){
if (view!=null){
view.getLieBiaoSuccess(lieBiaoBeans);
}
}else {
if (view!=null){
view.getLieBiaoError(lieBiaoBeans.getMsg());
}
}
}
@Override
public void onError(Throwable t) {
if (view!=null){
view.getLieBiaoError(t.toString());
}
}
@Override
public void onComplete() {
}
});
}
//设计
public void getSheJi(){
modelApiTask.getSheJi()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableSubscriber<SheJiBeans>() {
@Override
public void onNext(SheJiBeans sheJiBeans) {
if ("1".equals(sheJiBeans.getCode())){
if (view!=null){
view.getSheJiSuccess(sheJiBeans);
}
}else {
if (view!=null){
view.getSheJiError(sheJiBeans.getMessage());
}
}
}
@Override
public void onError(Throwable t) {
if (view!=null){
view.getSheJiError(t.toString());
}
}
@Override
public void onComplete() {
}
});
}
}
package com.baiwei.tianlong.zhoukao_moni.mvp.main.view;
import com.baiwei.tianlong.zhoukao_moni.base.View;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LieBiaoBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LunBoBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.SheJiBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
public interface ZhouKaoView extends View {
//轮播
void getLunBoSuccess(LunBoBeans lunBoBeans);
void getLunBoError(String error);
//设计师
void getSheJiSuccess(SheJiBeans sheJiBeans);
void getSheJiError(String error);
//列表
void getLieBiaoSuccess(LieBiaoBeans lieBiaoBeans);
void getLieBiaoError(String error);
}
package com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
import com.baiwei.tianlong.zhoukao_moni.utils.ConstantApi;
import io.reactivex.Flowable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface TuSanApi {
//图三
@GET(ConstantApi.PRODUCTS_URL)
Flowable<TuSanBeans> getTuSans(@Query("pscid") int pscid);
}
package com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.ModelApi;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
import com.baiwei.tianlong.zhoukao_moni.utils.RetrofitcManager;
import io.reactivex.Flowable;
public class TuSanApiTask implements TuSanApi {
@Override
public Flowable<TuSanBeans> getTuSans(int pscid) {
return RetrofitcManager.getDefault().create(TuSanApi.class).getTuSans(pscid);
}
}
package com.baiwei.tianlong.zhoukao_moni.mvp.tusan.presenter;
import com.baiwei.tianlong.zhoukao_moni.base.BasePresenter;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.view.ZhouKaoView;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.TuSanApiTask;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.view.TuSanView;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.subscribers.DisposableSubscriber;
public class TuSanPresenter extends BasePresenter<TuSanView> {
private TuSanApiTask tuSanApiTask;
public TuSanPresenter(TuSanView view) {
super(view);
}
@Override
protected void initModel() {
tuSanApiTask = new TuSanApiTask();
}
//图三
public void getTuSan(int pscid){
tuSanApiTask.getTuSans(pscid)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableSubscriber<TuSanBeans>() {
@Override
public void onNext(TuSanBeans tuSanBeans) {
if ("0".equals(tuSanBeans.getCode())){
if (view!=null){
view.getTuSanSuccess(tuSanBeans);
}
}else {
if (view!=null){
view.getTuSanError(tuSanBeans.getMsg());
}
}
}
@Override
public void onError(Throwable t) {
if (view!=null){
view.getTuSanError(t.toString());
}
}
@Override
public void onComplete() {
}
});
}
}
package com.baiwei.tianlong.zhoukao_moni.mvp.tusan.view;
import com.baiwei.tianlong.zhoukao_moni.base.View;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
public interface TuSanView extends View{
//图三
void getTuSanSuccess(TuSanBeans tuSanBeans);
void getTuSanError(String error);
}
package com.baiwei.tianlong.zhoukao_moni;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import com.baiwei.tianlong.zhoukao_moni.adapter.LieBiaoAdapter;
import com.baiwei.tianlong.zhoukao_moni.adapter.SheJiShiAdapter;
import com.baiwei.tianlong.zhoukao_moni.base.BaseActivity;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LieBiaoBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.LunBoBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.model.beans.SheJiBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.presenter.ZhouKaoPresenter;
import com.baiwei.tianlong.zhoukao_moni.mvp.main.view.ZhouKaoView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import com.youth.banner.listener.OnBannerListener;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class MainActivity extends BaseActivity<ZhouKaoPresenter> implements ZhouKaoView {
private static final String TAG = "MainAtivity";
@BindView(R.id.banner)
Banner banner;
@BindView(R.id.sheji)
RecyclerView sheji;
@BindView(R.id.liebiao)
RecyclerView liebiao;
private List<String> listLunBo = new ArrayList<>();
private List<String> titles = new ArrayList<>();
//注入p
@Override
protected ZhouKaoPresenter providePresenter() {
return new ZhouKaoPresenter(this);
}
@Override
protected Activity provideBindView() {
return this;
}
@Override
protected int provideLayoutId() {
return R.layout.activity_main;
}
@Override
protected void initData() {
super.initData();
if (presenter!=null){
presenter.getLunBo();
}
}
//轮播
@Override
public void getLunBoSuccess(final LunBoBeans lunBoBeans) {
List<LunBoBeans.DataBean> data = lunBoBeans.getData();
for (int i = 0; i < data.size(); i++) {
String icon = data.get(i).getIcon();
String title = data.get(i).getTitle();
String url = data.get(i).getUrl();
listLunBo.add(icon);
titles.add(title);
}
banner.setImageLoader(new MyLoader());
banner.setImages(listLunBo);
banner.setDelayTime(2000);
banner.setBannerTitles(titles);
banner.setBannerAnimation(Transformer.BackgroundToForeground);
banner.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE);
banner.start();
banner.setOnBannerListener(new OnBannerListener() {
@Override
public void OnBannerClick(int position) {
final String url = lunBoBeans.getData().get(position).getUrl();
Intent intent = new Intent(MainActivity.this,WebActivity.class);
intent.putExtra("url",url);
startActivity(intent);
}
});
presenter.getSheJi();
}
@Override
public void getLunBoError(String error) {
Log.d(TAG, "getLunBoError: " + error);
}
//设计师
@Override
public void getSheJiSuccess(SheJiBeans sheJiBeans) {
List<SheJiBeans.DataBean.DisplayBean> display = sheJiBeans.getData().getDisplay();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
sheji.setLayoutManager(linearLayoutManager);
SheJiShiAdapter adapter = new SheJiShiAdapter(display,this);
sheji.setAdapter(adapter);
presenter.getLieBiao();
}
@Override
public void getSheJiError(String error) {
Log.d(TAG, "getSheJiError: " + error);
}
//列表
@Override
public void getLieBiaoSuccess(LieBiaoBeans lieBiaoBeans) {
List<LieBiaoBeans.DataBean> data = lieBiaoBeans.getData();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
liebiao.setLayoutManager(linearLayoutManager);
LieBiaoAdapter lieBiaoAdapter = new LieBiaoAdapter(data,this);
liebiao.setAdapter(lieBiaoAdapter);
lieBiaoAdapter.setOnItemLieBiaoInstance(new LieBiaoAdapter.OnItemLieBiaoInstance() {
@Override
public void onItemClick(View view, int position) {
Intent intent = new Intent(MainActivity.this,TuSanActivity.class);
startActivity(intent);
}
});
}
@Override
public void getLieBiaoError(String error) {
Log.d(TAG, "getLieBiaoError: " + error);
}
@Override
public Context context() {
return null;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
//图片加载
private class MyLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
imageView.setImageURI(Uri.parse((String) path));
}
@Override
public ImageView createImageView(Context context) {
SimpleDraweeView simpleDraweeView = new SimpleDraweeView(context);
return simpleDraweeView;
}
}
}
package com.baiwei.tianlong.zhoukao_moni;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import com.baiwei.tianlong.zhoukao_moni.adapter.TuSanAdapter;
import com.baiwei.tianlong.zhoukao_moni.base.BaseActivity;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.model.beans.TuSanBeans;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.presenter.TuSanPresenter;
import com.baiwei.tianlong.zhoukao_moni.mvp.tusan.view.TuSanView;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class TuSanActivity extends BaseActivity<TuSanPresenter> implements TuSanView {
@BindView(R.id.tusan)
RecyclerView tusan;
@Override
protected TuSanPresenter providePresenter() {
return new TuSanPresenter(this);
}
@Override
protected Activity provideBindView() {
return this;
}
@Override
protected int provideLayoutId() {
return R.layout.activity_tu_san;
}
@Override
protected void initData() {
super.initData();
presenter.getTuSan(1);
}
@Override
public void getTuSanSuccess(TuSanBeans tuSanBeans) {
List<TuSanBeans.DataBean> data = tuSanBeans.getData();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
tusan.setLayoutManager(linearLayoutManager);
TuSanAdapter tuSanAdapter = new TuSanAdapter(data, this);
tusan.setAdapter(tuSanAdapter);
}
@Override
public void getTuSanError(String error) {
}
@Override
public Context context() {
return this;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
}
package com.baiwei.tianlong.zhoukao_moni;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.Toast;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class WebActivity extends AppCompatActivity {
private static final String TAG = "WebAtivity";
@BindView(R.id.web)
WebView web;
@BindView(R.id.fanhui)
Button fanhui;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
ButterKnife.bind(this);
int taskId = getTaskId();
Intent intent = getIntent();
String url = intent.getStringExtra("url");
Toast.makeText(this,url,Toast.LENGTH_SHORT).show();
web.loadUrl(url);
WebSettings webSettings = web.getSettings();
webSettings.setJavaScriptEnabled(true);
}
@OnClick(R.id.fanhui)
public void onViewClicked() {
Intent intent = new Intent();
setResult(2,intent);
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
web.removeAllViews();
web.destroy();
}
}