package com.example.app15;
import android.annotation.SuppressLint;
import android.icu.text.SimpleDateFormat;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.RequiresApi;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import com.bawei.jane.mxlistview.view.XListView;
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private XListView xlist;
private ViewPager viewparger;
private String urlpath="http://www.93.gov.cn/93app/data.do?channelId=0&startNum=";
private int q=1;
private int p=0;
private String url=urlpath+q;
private List<User2.DataBean> data1=new ArrayList<>();
@SuppressLint("HandlerLeak")
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what==0)
{
int item = viewparger.getCurrentItem();
viewparger.setCurrentItem(item+1);
handler.sendEmptyMessageDelayed(0,2000);
}
}
};
private Myadapter1 adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewparger = findViewById(R.id.viewparger);
xlist = findViewById(R.id.xlist);
xlist.setPullRefreshEnable(true);
xlist.setPullLoadEnable(true);
MyTask myTask = new MyTask();
myTask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");
MyTosk myTosk = new MyTosk();
myTosk.execute(url);
xlist.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
p=1;
q=0;
url=urlpath+q;
MyTosk myTosk = new MyTosk();
myTosk.execute(url);
}
@Override
public void onLoadMore() {
p=2;
q++;
url=urlpath+q;
MyTosk myTosk = new MyTosk();
myTosk.execute(url);
}
});
}
class MyTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
StringBuilder builder=new StringBuilder();
try {
URL url=new URL(strings[0]);
HttpURLConnection urlConnection =(HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(5000);
if (urlConnection.getResponseCode()==200)
{
InputStream inputStream = urlConnection.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
String str="";
while ((str=reader.readLine())!=null)
{
builder.append(str);
}
}
} catch (Exception e) {
e.printStackTrace();
}
Log.i("eee","eee"+builder.toString());
return builder.toString();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
User user = gson.fromJson(s, User.class);
List<User.DataScrollBean> dataScroll = user.getDataScroll();
List<String> list = new ArrayList<String>();
for (int i = 0; i <dataScroll.size() ; i++) {
list.add("http://www.93.gov.cn"+dataScroll.get(i).getIMAGEURL());
}
Myadapter myadapter = new Myadapter(MainActivity.this,list);
viewparger.setAdapter(myadapter);
handler.sendEmptyMessageDelayed(0,2000);
}
}
class MyTosk extends AsyncTask<String, Void,String>{
@Override
protected String doInBackground(String... strings) {
StringBuilder builder=new StringBuilder();
try {
URL url=new URL(strings[0]);
HttpURLConnection urlConnection =(HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(5000);
if (urlConnection.getResponseCode()==200)
{
InputStream inputStream = urlConnection.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
String str="";
while ((str=reader.readLine())!=null)
{
builder.append(str);
}
}
} catch (Exception e) {
e.printStackTrace();
}
Log.i("aaa","aaa"+builder.toString());
return builder.toString();
}
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
User2 user2 = gson.fromJson(s, User2.class);
if (p==1)
{
data1.clear();
}
data1.addAll(user2.getData());
setadapter();
if (p==1)
{
xlist.stopRefresh();
Date date=new Date(System.currentTimeMillis());
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String refreshTime = sf.format(date);
xlist.setRefreshTime(refreshTime);//设置刷新时间
}
else {
xlist.stopLoadMore();
}
}
}
public void setadapter()
{
if (adapter==null) {
adapter = new Myadapter1(MainActivity.this,data1);
xlist.setAdapter(adapter);
}
else {
xlist.deferNotifyDataSetChanged();
}
}
}