package com.example.month01_hy.ui.base;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
/**
* 基类
* @author 轻舟已过万重山
* @date 2018-8-22
*/
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
}
/**
* 初始化
*/
private void init() {
setContentView(initLayout());
findView();
setListener();
initFinish();
}
/**
* 初始化完成
*/
protected abstract void initFinish();
/**
* 设置事件
*/
protected abstract void setListener();
/**
* 查找控件
*/
protected abstract void findView();
/**
* 填充布局
*/
protected abstract int initLayout();
}
package com.example.month01_hy.ui.activity;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.example.month01_hy.R;
import com.example.month01_hy.ui.base.BaseActivity;
/**
* 欢迎页面
*
* @author 轻舟已过万重山
* @date 2018-8-22
*/
public class WelcomeActivity extends BaseActivity {
private int time = 3;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 0) {
if (time > 0) {
time--;
handler.sendEmptyMessageDelayed(0, 1000);
} else {
Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
startActivity(intent);
}
}
}
};
@Override
protected void initFinish() {
handler.sendEmptyMessageDelayed(0, 1000);
}
@Override
protected void setListener() {
}
@Override
protected void findView() {
}
@Override
protected int initLayout() {
return R.layout.activity_welcome;
}
}
package com.example.month01_hy.ui.activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import com.example.month01_hy.R;
import com.example.month01_hy.ui.adapter.MyAdapter;
import com.example.month01_hy.ui.base.BaseActivity;
import com.example.month01_hy.ui.bean.MainBean;
import com.example.month01_hy.ui.net.HttpUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList;
import java.util.List;
/**
* 首页
*
* @author 轻舟已过万重山
* @date 2018-8-22
*/
public class MainActivity extends BaseActivity {
private PullToRefreshListView pull_to_refresh_list;
private String path = "http://172.17.8.100/mobile/exam/findNewList";
private boolean isPull = false;
private List<MainBean.ResultBean.DataBean> list = new ArrayList<>();
private MyAdapter adapter;
@Override
protected void initFinish() {
getFromId();
getFromNet();
}
private void getFromId() {
pull_to_refresh_list.setMode(PullToRefreshBase.Mode.BOTH);
pull_to_refresh_list.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
isPull = true;
getFromNet();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
getFromNet();
}
});
//创建适配器
adapter = new MyAdapter(MainActivity.this, list);
pull_to_refresh_list.setAdapter(adapter);
}
private void getFromNet() {
String url = path;
HttpUtils instance = HttpUtils.getInstance();
instance.setUrl(url);
instance.setGetDataCallBack(new HttpUtils.GetDataCallBack() {
@Override
public void CallBack(String result) {
Gson gson = new Gson();
MainBean mainBean = gson.fromJson(result, MainBean.class);
List<MainBean.ResultBean.DataBean> data = mainBean.getResult().getData();
if (isPull) {
isPull = !isPull;
list.clear();
}
list.addAll(data);
adapter.notifyDataSetChanged();
pull_to_refresh_list.onRefreshComplete();
}
});
}
@Override
protected void setListener() {
pull_to_refresh_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent=new Intent(MainActivity.this,DetaliActivity.class);
MainBean.ResultBean.DataBean item= (MainBean.ResultBean.DataBean) adapter.getItem(position);
intent.putExtra("url",item.getUrl());
startActivity(intent);
}
});
}
@Override
protected void findView() {
pull_to_refresh_list = findViewById(R.id.pull_to_refresh_list);
}
@Override
protected int initLayout() {
return R.layout.activity_main;
}
}
package com.example.month01_hy.ui.activity;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.widget.ImageView;
import com.example.month01_hy.R;
import com.example.month01_hy.ui.adapter.MyPagerAdapter;
import com.example.month01_hy.ui.base.BaseActivity;
import com.example.month01_hy.ui.bean.DetaliBean;
import com.example.month01_hy.ui.net.HttpUtils;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 详情页面
* @author 轻舟已过万重山
* @date 2018-8-22
*/
public class DetaliActivity extends BaseActivity {
private ViewPager view_pager;
private WebView web_view;
private String path="https://api.yunxuekeji.cn/yunxue_app_api/content/getIndexBanner/1";
private List<ImageView> list=new ArrayList<>();
private Serializable item;
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what==0){
int currentItem = view_pager.getCurrentItem();
currentItem++;
view_pager.setCurrentItem(currentItem);
handler.sendEmptyMessageDelayed(0,2000);
}
}
};
@Override
protected void initFinish() {
handler.sendEmptyMessageDelayed(0,2000);
HttpUtils instance = HttpUtils.getInstance();
instance.setUrl(path);
instance.setGetDataCallBack(new HttpUtils.GetDataCallBack() {
@Override
public void CallBack(String result) {
Gson gson = new Gson();
DetaliBean bean = gson.fromJson(result, DetaliBean.class);
List<DetaliBean.BodyBean.ResultBean> result1 = bean.getBody().getResult();
for (int i=0;i<result1.size();i++){
web_view.setWebChromeClient(new WebChromeClient());
web_view.loadUrl(getIntent().getStringExtra("url"));
ImageView imageView = new ImageView(DetaliActivity.this);
String pic = result1.get(i).getBarnerPic();
ImageLoader.getInstance().displayImage(pic,imageView);
list.add(imageView);
}
//创建适配器
MyPagerAdapter adapter =new MyPagerAdapter(list);
view_pager.setAdapter(adapter);
}
});
}
@Override
protected void setListener() {
}
@Override
protected void findView() {
view_pager = findViewById(R.id.view_pager);
web_view = findViewById(R.id.web_view);
}
@Override
protected int initLayout() {
return R.layout.activity_detali;
}
}