数据

//展示pullTO ListView的主页面

package com.example.yyangweihan1119.Fragment.Second;

import android.annotation.SuppressLint;
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.TextView;

import com.example.yyangweihan1119.Adapter.NewsAdapter;
import com.example.yyangweihan1119.Bean.Bean;
import com.example.yyangweihan1119.NetUtils.NetUtils;
import com.example.yyangweihan1119.R;
import com.example.yyangweihan1119.SqLite.NewsDao;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.ArrayList;
import java.util.List;

public class TUIJianFragment extends Fragment {
   private PullToRefreshListView pullListView;
   private NewsAdapter adapter;
   private int pager;
   private NewsDao dao;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.tuijian,container,false);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        pullListView = view.findViewById(R.id.pullListView);
        adapter = new NewsAdapter(getActivity());
        pullListView.setAdapter(adapter);
        pager = 1;
        dao = new NewsDao(getActivity());
        pullListView.setMode(PullToRefreshBase.Mode.BOTH);

        pullListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                pager =1;
                initData();
            }
            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                initData();
            }
        });
        initData();
        infoData();
    }
    private String urlStr = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";

    private void initData(){
        NetUtils.getInstance().getqusert(String.format(urlStr), Bean.class, new NetUtils.CallBak<Bean>() {

            @Override
            public void onSuccess(Bean bean) {
                if (pager == 1){
                    adapter.setMlist(bean.getData());
                    dao.del();
                }else {
                    adapter.addMlist(bean.getData());
                }
                pager++;
                pullListView.onRefreshComplete();
            }

        });

    }

    @SuppressLint("StaticFieldLeak")
    private void infoData(){
        new AsyncTask<String,Void,List<Bean.DataBean>>(){

            @Override
            protected List<Bean.DataBean> doInBackground(String... strings) {
                List<Bean.DataBean> data = new ArrayList<>();
                //循环数组
                for (String url : strings) {
                    Bean bean = NetUtils.getInstance().getqusert(url, Bean.class);

                    data.addAll(bean.getData());
                }
                if (dao.select().size() == 0){
                    for (Bean.DataBean dadabean : data){
                        String news_title = dadabean.getNews_title();
                        String news_summary = dadabean.getNews_summary();
                        dao.add(news_title,news_summary);
                    }
                }
                List<Bean.DataBean> select = dao.select();
                return select;
            }

            @Override
            protected void onPostExecute(List<Bean.DataBean> dataBeans) {
                adapter.setMlist(dataBeans);
            }
        }.execute(urlStr);
    }
}

//DAO 层

package com.example.yyangweihan1119.SqLite;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.example.yyangweihan1119.Bean.Bean;

import java.util.ArrayList;
import java.util.List;

public class NewsDao {
    private SqLiteHelper helper;
    private SQLiteDatabase sb;

    public NewsDao(Context context){
        helper = new SqLiteHelper(context);
        sb = helper.getReadableDatabase();
    }

    public void add(String news_title,String news_summary){
        ContentValues values = new ContentValues();
        values.put("news_title",news_title);
        values.put("news_summary",news_summary);
        sb.insert("news",null,values);
    }

    public List<Bean.DataBean> select(){
        Cursor news = sb.query("news", null, null, null, null, null, null);
        List<Bean.DataBean> list = new ArrayList<>();
        while (news.moveToNext()){
            String news_title = news.getString(news.getColumnIndex("news_title"));
            String news_summary = news.getString(news.getColumnIndex("news_summary"));
            Bean.DataBean bean = new Bean.DataBean();
            bean.setNews_title(news_title);
            bean.setNews_summary(news_summary);
            list.add(bean);
        }
        return list;
    }

    public void del(){
        sb.delete("news",null,null);
    }
}

//创建数据库


public class SqLiteHelper extends SQLiteOpenHelper {
    public SqLiteHelper(Context context) {
        super(context, "News.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table news(id integer primary key autoincrement," +
                "news_title text," +
                "news_summary text)");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}

//展示 数据库里的数据

package com.example.yyangweihan1119.Fragment.Second;

import android.content.Context;
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.TextView;

import com.example.yyangweihan1119.Bean.Bean;
import com.example.yyangweihan1119.NetUtils.NetUtils;
import com.example.yyangweihan1119.R;
import com.example.yyangweihan1119.SqLite.NewsDao;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.loader.ImageLoaderInterface;

import java.util.ArrayList;
import java.util.List;

public class ShowFragment extends Fragment {
   private TextView textView;


    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.show,container,false);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        textView = view.findViewById(R.id.show);
        NewsDao newsDao = new NewsDao(getActivity());

        List<Bean.DataBean> select = newsDao.select();

        StringBuilder sb = new StringBuilder();
        for (int i = 0 ; i<select.size(); i++){
            sb.append(select.get(i).getNews_title()+"           ");
        }
        textView.setText(sb);
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值