package animtest.com.example.e531.database_sample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.GridView;
import android.widget.Toast;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;
import java.util.ArrayList;
import java.util.List;
import animtest.com.example.e531.database_sample.adapter.GridViewAdapter;
import animtest.com.example.e531.database_sample.bean.DataDataBean;
import animtest.com.example.e531.database_sample.db.JsonDao;
import animtest.com.example.e531.database_sample.utils.MyTask;
import animtest.com.example.e531.database_sample.utils.NetStateUtil;
public class MainActivity extends AppCompatActivity {
//页数
private int pageIndex=1;
//操作类型
private int operType=1;
//请求的url地址-此接口 得用第三方模拟器测试,否则请求不到数据 why?
private String url="http://gank.io/api/data/Android/10/"+pageIndex;
//集合数据
private List<DataDataBean.ResultsBean> list=new ArrayList<>();
//适配器
private GridViewAdapter gridViewAdapter;
private PullToRefreshGridView pgv;
private JsonDao jsonDao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pgv = (PullToRefreshGridView) findViewById(R.id.pgv);
//构造逻辑层
jsonDao = new JsonDao(this);
//初使化组件
initPGV();
//请求数据
requestNetData();
}
private void requestNetData() {
if(NetStateUtil.isConn(this)){
//有网
MyTask task=new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
//调用插入方法
jsonDao.insertData(url,jsonstr);
Gson gson=new Gson();
DataDataBean dataDataBean = gson.fromJson(jsonstr, DataDataBean.class);
List<DataDataBean.ResultsBean> results = dataDataBean.getResults();
if(operType==1){
list.clear();
}
list.addAll(results);
setGvAdapter();
//关闭头尾布局
pgv.onRefreshComplete();
}
});
task.execute(url);
}else{
Toast.makeText(this,"当前没有网络,请稍后重试!",Toast.LENGTH_SHORT).show();
//从数据库中查询
String s = jsonDao.queryData(url);
if(!"".equals(s)){
Log.d("zzz","--------从数据库中取得数据------------");
//解析,显示
Gson gson=new Gson();
DataDataBean dataDataBean = gson.fromJson(s, Dat
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.GridView;
import android.widget.Toast;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;
import java.util.ArrayList;
import java.util.List;
import animtest.com.example.e531.database_sample.adapter.GridViewAdapter;
import animtest.com.example.e531.database_sample.bean.DataDataBean;
import animtest.com.example.e531.database_sample.db.JsonDao;
import animtest.com.example.e531.database_sample.utils.MyTask;
import animtest.com.example.e531.database_sample.utils.NetStateUtil;
//MainActitvty
public class MainActivity extends AppCompatActivity {
//页数
private int pageIndex=1;
//操作类型
private int operType=1;
//请求的url地址-此接口 得用第三方模拟器测试,否则请求不到数据 why?
private String url="http://gank.io/api/data/Android/10/"+pageIndex;
//集合数据
private List<DataDataBean.ResultsBean> list=new ArrayList<>();
//适配器
private GridViewAdapter gridViewAdapter;
private PullToRefreshGridView pgv;
private JsonDao jsonDao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pgv = (PullToRefreshGridView) findViewById(R.id.pgv);
//构造逻辑层
jsonDao = new JsonDao(this);
//初使化组件
initPGV();
//请求数据
requestNetData();
}
private void requestNetData() {
if(NetStateUtil.isConn(this)){
//有网
MyTask task=new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
//调用插入方法
jsonDao.insertData(url,jsonstr);
Gson gson=new Gson();
DataDataBean dataDataBean = gson.fromJson(jsonstr, DataDataBean.class);
List<DataDataBean.ResultsBean> results = dataDataBean.getResults();
if(operType==1){
list.clear();
}
list.addAll(results);
setGvAdapter();
//关闭头尾布局
pgv.onRefreshComplete();
}
});
task.execute(url);
}else{
Toast.makeText(this,"当前没有网络,请稍后重试!",Toast.LENGTH_SHORT).show();
//从数据库中查询
String s = jsonDao.queryData(url);
if(!"".equals(s)){
Log.d("zzz","--------从数据库中取得数据------------");
//解析,显示
Gson gson=new Gson();
DataDataBean dataDataBean = gson.fromJson(s, Dat