數據庫調用

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);
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章