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