使用thread,handler来联网读取json串
package com.bwoie.test;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import com.bwoie.test.adapter.GroupAdapter;
import com.bwoie.test.bean.GroupBean;
import com.bwoie.test.bean.GroupData;
import com.google.gson.Gson;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lv;
private ArrayList<GroupData> list;
@SuppressLint(
"HandlerLeak")
Handler handler=
new Handler(){
public void handleMessage(android.os.Message msg) {
GroupAdapter adapter=
new GroupAdapter(list, getApplicationContext());
lv.setAdapter(adapter);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv_q);
init(
"http://121.42.8.95:8090/AndroidServer/gp.json");
}
private void init(
final String uri) {
new Thread(){
public void run() {
try {
URL url=
new URL(uri);
HttpURLConnection huc=(HttpURLConnection) url.openConnection();
huc.setConnectTimeout(
5000);
huc.setReadTimeout(
5000);
if(huc.getResponseCode()==
200){
InputStream is=huc.getInputStream();
byte[] buffer=
new byte[
1024];
ByteArrayOutputStream bos =
new ByteArrayOutputStream();
int len=-
1;
while((len=is.read(buffer))!=-
1){
bos.write(buffer,
0, len);
}
is.close();
String json=bos.toString(
"gbk");
Gson gson=
new Gson();
GroupBean bean=gson.fromJson(json, GroupBean.class);
list=bean.data;
handler.sendEmptyMessage(
1);
}
}
catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
}
2秒之后跳转
new Handler().postDelayed(
new Runnable() {
public void run() {
Intent intent=
new Intent(OneActivity.
this, MainActivity.class);
startActivity(intent);
finish();
}
},
2000);
转载请注明原文地址: https://ju.6miu.com/read-1302658.html