package com.example.likai2018119zk3.fragment;
import android.os.AsyncTask;
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 android.widget.ListView;
import android.widget.Toast;
import com.example.likai2018119zk3.R;
import com.example.likai2018119zk3.adapter.Mylist;
import com.example.likai2018119zk3.bean.Mybean;
import com.example.likai2018119zk3.sqlite.MyDao;
import com.example.pulltolibrary.PullToRefreshBase;
import com.example.pulltolibrary.PullToRefreshListView;
import com.google.gson.Gson;
import com.recker.flybanner.FlyBanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class Frag_remen extends Fragment {
private FlyBanner fl1;
private PullToRefreshListView pulllistview;
private String mUrl=“http://api.expoon.com/AppNews/getNewsList/type/1/p/”;
private int i=1;
private Mylist adapter;
private List<Mybean.DataBean> list=new ArrayList<>();
private MyDao dao;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.frag_remen, container, false);
dao = new MyDao(getActivity().getApplicationContext());
initView(v);
initData();
pulllistview.setMode(PullToRefreshBase.Mode.BOTH);
pulllistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
list.clear();
int i=1;
new MyTask().execute(mUrl+i);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
i++;
new MyTask().execute(mUrl+i);
}
});
adapter = new Mylist(list,getActivity());
pulllistview.setAdapter(adapter);
new MyTask().execute(mUrl+i);
return v;
}
class MyTask extends AsyncTask<String,Void,List<Mybean.DataBean>>{
@Override
protected List<Mybean.DataBean> doInBackground(String... strings) {
try {
URL url=new URL(strings[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
if (connection.getResponseCode()==200){
InputStream inputStream = connection.getInputStream();
String s=getStr(inputStream);
Gson gson=new Gson();
Mybean mybean = gson.fromJson(s, Mybean.class);
return mybean.getData();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(List<Mybean.DataBean> dataBeans) {
list.addAll(dataBeans);
adapter.notifyDataSetChanged();
pulllistview.onRefreshComplete();
long insert = dao.insert(list);
if (insert>0){
Toast.makeText(getActivity(), "插入成功", Toast.LENGTH_SHORT).show();
}
}
}
private String getStr(InputStream inputStream) throws IOException {
BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
StringBuffer buffer=new StringBuffer();
String str="";
while ((str=reader.readLine())!=null){
buffer.append(str);
}
return buffer.toString();
}
private void initData() {
ArrayList<Integer> li=new ArrayList<>();
li.add(R.drawable.a);
li.add(R.drawable.b);
li.add(R.drawable.c);
fl1.setImages(li);
}
private void initView(View v) {
fl1 = (FlyBanner) v.findViewById(R.id.fl1);
pulllistview = (PullToRefreshListView) v.findViewById(R.id.pulllistview);
}
}