//Fragment显示数据
public class OneFragment extends Fragment {
private XListView xListView;
String path = "http://v.juhe.cn/toutiao/index?type=top&key=e76b62dbe5ce78645516fe866dc7058b";
private List<MyBean.ResultBean.DataBean> data;
private MyAdapter adapter;
private MyManager myManager;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = View.inflate(getActivity(),R.layout.fragment_one,null);
xListView = (XListView) view.findViewById(R.id.xlistview);
myManager = new MyManager(getActivity());
adapter = new MyAdapter(data,getActivity());
xListView.setPullLoadEnable(true);
xListView.setPullRefreshEnable(true);
xListView.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
initData(false);
}
@Override
public void onLoadMore() {
initData(true);
}
});
String json = myManager.select();
//没网,从数据库中获取
if(json!=null&&!json.equals("")){
MyBean myBean = new Gson().fromJson(json, MyBean.class);
if(myBean!=null){
List<MyBean.ResultBean.DataBean> data = myBean.getResult().getData();
xListView.setAdapter(new MyAdapter(data,getActivity()));
}
}else{
//有网
initData(true);
}
xListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(getActivity(),OtherActivity.class);
startActivity(intent);
}
});
return view;
}
private void initData(final boolean b){
OkHttpUtils
.get()
.url(path)
.build()
.execute(new StringCallback() {
@Override
public void onError(Request request, Exception e) {
}
@Override
public void onResponse(String response) {
String s = response.toString();
if(s!=null){
myManager.insert(s);
}
MyBean bean = new Gson().fromJson(s, MyBean.class);
data = bean.getResult().getData();
if(b){
adapter.addData(data);
}else {
adapter.upData(data);
}
xListView.stopRefresh();
xListView.stopLoadMore();
xListView.setAdapter(adapter);
}
});
}
}
//创建数据库
public class MyHelper extends SQLiteOpenHelper{
public MyHelper(Context context) {
super(context, "Work.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("create table Yk(id integer primary key autoincrement,json text)");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
//数据库插入查询
public class MyManager {
Context context;
SQLiteDatabase db;
public MyManager(Context context) {
this.context = context;
MyHelper helper = new MyHelper(context);
db = helper.getWritableDatabase();
}
public void insert(String json){
ContentValues values = new ContentValues();
values.put("json",json);
db.insert("Yk",null,values);
}
public String select(){
String json = "";
Cursor cursor = db.query("Yk",null,null,null,null,null,null);
while(cursor.moveToNext()){
json = cursor.getString(cursor.getColumnIndex("json"));
}
return json;
}
}