判断 有网无网状态--------异步加载---------添加数据库------PullToRefreshListView上下拉刷新展示--------banner轮播图

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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值