package wss.com.yuekaolianxi_01.frag;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
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.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import com.bwie.xlistviewlibrary.utils.NetWordUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.youth.banner.Banner;
import com.youth.banner.loader.ImageLoader;
import com.youth.banner.loader.ImageLoaderInterface;
import java.util.ArrayList;
import java.util.List;
import wss.com.yuekaolianxi_01.NetWorkUtils;
import wss.com.yuekaolianxi_01.R;
import wss.com.yuekaolianxi_01.ShowBean;
import wss.com.yuekaolianxi_01.adapter.MypullistAdapter;
import wss.com.yuekaolianxi_01.dao.Dao;
public class Frag01 extends Fragment {
private Banner banner;
private ArrayList<String> imagelist;
private ArrayList<ShowBean.NewslistBean> list=new ArrayList<>();
private PullToRefreshListView pullist;
private String urlString="http://api.tianapi.com/meinv/?key=3304a8bc9414f97e30928b80163cf098&num=10";
int a;
private MypullistAdapter mylist;
private Dao dao;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view =inflater.inflate(R.layout.frag001,container,false);
//获取资源id
banner = view.findViewById(R.id.frag001_banner);
pullist = view.findViewById(R.id.frag001_pullist);
mylist = new MypullistAdapter(getActivity(),list);
pullist.setAdapter(mylist);
pullist.setMode(PullToRefreshBase.Mode.BOTH);
//创建Dao层
dao = new Dao(getActivity());
Boolean net = NetWorkUtils.requestIntenttype(getActivity());
//判断网络
if (net == true) {
Toast.makeText(getActivity(),"有网",+0).show();
getData(0);
//pullist的上下拉监听
pullist.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
list.clear();
getData(a);
a=0;
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
a++;
getData(a);
}
});
}else{
Toast.makeText(getActivity(),"没网",+0).show();
Cursor query = dao.query("yuekao1", null, null, null, null, null, null);
if (query.moveToFirst()){
//没网时查看数据库调用适配器展示
do {
/* private String ctime;
private String title;
private String description;
private String picUrl;
private String url;*/
String ctime = query.getString(query.getColumnIndex("ctime"));
String title = query.getString(query.getColumnIndex("title"));
String description = query.getString(query.getColumnIndex("description"));
String picUrl = query.getString(query.getColumnIndex("picUrl"));
String url = query.getString(query.getColumnIndex("url"));
ShowBean.NewslistBean bean = new ShowBean.NewslistBean();
bean.setCtime(ctime);
bean.setTitle(title);
bean.setDescription(description);
bean.setPicUrl(picUrl);
bean.setUrl(url);
list.add(bean);
mylist = new MypullistAdapter(getActivity(),list);
pullist.setAdapter(mylist);
}while (query.moveToNext());
}
query.close();
mylist.notifyDataSetChanged();
}
//banner
//设置图片的地址集合
imagelist = new ArrayList<>();
//向图片集合里添加数据
imagelist.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg");
imagelist.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg");
imagelist.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg");
imagelist.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg");
banner.setImageLoader(new Myloader());
banner.setImages(imagelist);
banner.start();
return view;
}
private void getData(int i) {
new MyAsnTask().execute(urlString+a);
}
//异步处理
class MyAsnTask extends AsyncTask<String,Void,String>{
private long yuekao1;
@Override
protected String doInBackground(String... strings) {
return NetWorkUtils.getJson(strings[0]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
ShowBean showBean = gson.fromJson(s, ShowBean.class);
List<ShowBean.NewslistBean> newslist = showBean.getNewslist();
//**添加数据库**
for (int i = 0; i <newslist.size() ; i++) {
ContentValues values =new ContentValues();
/* private String ctime;
private String title;
private String description;
private String picUrl;
private String url;*/
values.put("ctime",newslist.get(i).getCtime());
values.put("title",newslist.get(i).getTitle());
values.put("description",newslist.get(i).getDescription());
values.put("picUrl",newslist.get(i).getPicUrl());
values.put("url",newslist.get(i).getUrl());
yuekao1 = dao.insert("yuekao1", null, values);
}
Toast.makeText(getActivity(),""+yuekao1,+0).show();
list.addAll(newslist);
mylist.notifyDataSetChanged();
//关闭pulli
pullist.onRefreshComplete();
}
}
private class Myloader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
com.nostra13.universalimageloader.core.ImageLoader instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance();
instance.displayImage((String) path,imageView);
}
}
}
布局代码
<?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"
android:background="#d2f489">
<com.youth.banner.Banner
android:id="@+id/frag001_banner"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/frag001_pullist"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"/>
</LinearLayout>