沒網將網路資料存放資料庫
阿新 • • 發佈:2018-11-22
package com.example.li.lichao.dao; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class Dao extends SQLiteOpenHelper { public Dao(Context context) { super(context, "User.db", null,1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL( "create table users(id integer primary key autoincrement,title text , image text)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
package com.example.li.lichao; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.example.li.lichao.bean.NewsBean; import com.example.li.lichao.dao.Dao; import java.util.ArrayList; public class Daos { private final SQLiteDatabase database; public Daos(Context context) { Dao dao = new Dao(context); database = dao.getReadableDatabase(); } // 增 public void add(String title, String image) { // insert into users(?,?) valus("wzq","20"); database.execSQL("insert into users(title,image) values (?,?)", new Object[]{title,image}); } //查 public ArrayList<NewsBean.DataBean> query() { Cursor cursor = database.rawQuery("select * from users", null); StringBuilder stringBuilder = new StringBuilder(); ArrayList<NewsBean.DataBean> list = new ArrayList<>(); while (cursor.moveToNext()){ String title = cursor.getString(cursor.getColumnIndex("title")); String image = cursor.getString(cursor.getColumnIndex("image")); NewsBean.DataBean dataBean = new NewsBean.DataBean(title,image); list.add(dataBean); } return list; } }
package com.example.li.lichao.fragment; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.Toast; import com.example.li.lichao.Daos; import com.example.li.lichao.R; import com.example.li.lichao.adapter.NewsAdapter; import com.example.li.lichao.bean.NewsBean; import com.example.li.lichao.httputil.HttpUtil; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; import me.maxwin.view.XListView; /** * A simple {@link Fragment} subclass. */ public class Fragment1 extends Fragment { private int page = 1; private XListView mXListView; private NewsAdapter newsAdapter; private NewsBean newsBean; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View inflate = View.inflate(getActivity(), R.layout.fragment_fragment1, null); mXListView = inflate.findViewById(R.id.xlistview_footer_content); newsAdapter = new NewsAdapter(getActivity()); mXListView.setPullRefreshEnable(true); mXListView.setPullLoadEnable(true); mXListView.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { new Thread( new Runnable() { @Override public void run() { page=1; initdate(page); } } ).start(); } @Override public void onLoadMore() { new Thread( new Runnable() { @Override public void run() { initdate(page); } } ).start(); } }); mXListView.setAdapter(newsAdapter); ConnectivityManager connectivityManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connectivityManager.getActiveNetworkInfo(); if(info != null ){ //表示可以連線網路 }else{ Daos daos = new Daos(getActivity()); ArrayList<NewsBean.DataBean> query = daos.query(); newsAdapter.setdate(query); mXListView.setAdapter(newsAdapter); } return inflate; } Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what){ case 0: if (page == 1) { newsAdapter.setdate((ArrayList<NewsBean.DataBean>) msg.obj); }else { page=1; newsAdapter.adddate((ArrayList<NewsBean.DataBean>) msg.obj); } page++; mXListView.stopRefresh(); mXListView.stopLoadMore(); break; } } }; private void initdate(int page) { String getdate = new HttpUtil().getdate(page); newsBean = new Gson().fromJson(getdate, NewsBean.class); ArrayList<NewsBean.DataBean> lists = (ArrayList<NewsBean.DataBean>)newsBean.getData(); Daos daos = new Daos(getActivity()); for (int i=0;i<lists.size();i++){ daos.add(lists.get(i).getTitle(),lists.get(i).getThumbnail_pic_s()); } handler.sendMessage(handler.obtainMessage(0, newsBean.getData())); } }