导grivade包
import java.util.List;
import java.util.concurrent.ExecutionException;import pull_grid.PullToRefreshLayout;
import pull_grid.PullToRefreshLayout.OnRefreshListener;
import pull_grid.PullableGridView;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Toast;
import com.example.liuweiqiang_2016.adapter.Gv_Base;
import com.example.liuweiqiang_2016.bean.All;
import com.example.liuweiqiang_2016.bean.Cont;
import com.google.gson.Gson;
public class MainActivity extends Activity implements OnRefreshListener {
private PullToRefreshLayout refresh_view;
private String id;
private String uri = "http://apis.juhe.cn/goodbook/catalog?key=9d6ef8c31647a206e05fcaff70527182&dtype=json";
// private String path =
// "http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&catalog_id="
// + id + "&rn=10&rn=10";
// private Handler mHandler = new Handler();
private boolean isExit = false;// 双击逢��?
private PullableGridView gridview;
// ˫���˳�
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
isExit = false;// 取消逢��? }
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
refresh_view = (PullToRefreshLayout) findViewById(R.id.refresh_view);
gridview = (PullableGridView) findViewById(R.id.gv);
refresh_view.setOnRefreshListener(this);
data();
}
private void data() {
//ʵ�����
MyAsyncTask task = new MyAsyncTask();
try {
String str = task.execute(uri).get();
//gson����
Gson g = new Gson();
All all = g.fromJson(str, All.class);
List<Cont> result = all.getResult();
for (int i = 0; i < result.size(); i++) {
id = result.get(i).getId();
}
//�Զ���������
Gv_Base base = new Gv_Base(MainActivity.this, result);
gridview.setAdapter(base);
base.notifyDataSetInvalidated();
//item�����===��ת
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(MainActivity.this,
StratActivity.class);
intent.putExtra("id", id);
startActivity(intent);
}
});
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 刷新
@Override
public void onRefresh(final PullToRefreshLayout pullToRefreshLayout) {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
data();
pullToRefreshLayout.refreshFinish(PullToRefreshLayout.SUCCEED);
}
}, 1000);
}
// 加载
@Override
public void onLoadMore(final PullToRefreshLayout pullToRefreshLayout) {
// TODO Auto-generated method stub
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
data();
pullToRefreshLayout.loadmoreFinish(PullToRefreshLayout.SUCCEED);
}
}, 1000);
}
public void exit() {
if (!isExit) {
isExit = true;// 准备逢��?
Toast.makeText(getApplicationContext(), "˫���˳�", Toast.LENGTH_SHORT)
.show();
Message msg = Message.obtain();
mHandler.sendEmptyMessageDelayed(0, 2000);// 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任�?
// } else {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
System.exit(0);
}
}
}