import java.util.ArrayList;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import com.bawei.utils.StreamUtils;
import com.bwei.adapter.MyAdapter;
import com.bwei.bean.WeiChatInfo;
import com.bwei.bean.WeiChatInfo.Item;
import com.google.gson.Gson;
public class MainActivity extends Activity implements IXListViewListener{
private XListView mListView;
private String path="http://v.juhe.cn/weixin/query";
private String key="41caaad5ecfb8aa1dcd187aeb163e6cf";
private int pno=1;
private BaseAdapter adapter;
private ArrayList<Item> lists;
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
if (msg.what==0) {
WeiChatInfo weiChatInfo = (WeiChatInfo) msg.obj;
lists = weiChatInfo.result.list;
//给ListView设置适配器
mListView.setAdapter(adapter = new MyAdapter(MainActivity.this, weiChatInfo));
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找控件
mListView = (XListView) findViewById(R.id.xListView);
mListView.setPullLoadEnable(true);
//得到数据
getData(pno);
mListView.setXListViewListener(this);
//设置条目点击事件
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
Intent intent = new Intent(MainActivity.this,WebActivity.class);
intent.putExtra("lists", lists.get(position-1).url);
startActivity(intent);
}
});
}
/*
* 定义获取数据的方法
*/
private void getData(final int pno) {
new Thread() {
public void run() {
try {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(path);
ArrayList<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
list.add(new BasicNameValuePair("key", key));
list.add(new BasicNameValuePair("pno", pno+""));
HttpEntity entity = new UrlEncodedFormEntity(list,"utf-8");
post.setEntity(entity);
HttpResponse httpResponse = client.execute(post);
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode==200) {
InputStream inputStream = httpResponse.getEntity().getContent();
String json = StreamUtils.getString(inputStream);
Gson gson = new Gson();
WeiChatInfo weiChatInfo = gson.fromJson(json, WeiChatInfo.class);
handler.obtainMessage(0, weiChatInfo).sendToTarget();
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
/**
* 刷新
*/
@Override
public void onRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
getData(pno);
onLoad();
}
}, 3000);
}
/**
* 加载
*/
@Override
public void onLoadMore() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
pno++;
getData(pno);
onLoad();
}
}, 2000);
}
private void onLoad() {
mListView.stopRefresh();
mListView.stopLoadMore();
mListView.setRefreshTime("刚刚");
}
}
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings.ZoomDensity;
import android.app.Activity;
import android.content.Intent;
public class WebActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
Intent intent = getIntent();
String url = intent.getStringExtra("lists");
webView = (WebView) findViewById(R.id.webView);
webView.loadUrl(url);
webView.setWebViewClient(new WebViewClient());
//对WebView进行初始化设置
initSetting();
}
/**
* 初始化设置
*/
private void initSetting() {
WebSettings settings = webView.getSettings();
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setJavaScriptEnabled(true);
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
settings.setBuiltInZoomControls(true);
settings.setDefaultZoom(ZoomDensity.FAR);
}
}