packagecn.edu.aynu.rjxy.activity;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.net.HttpURLConnection;importjava.net.URL;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importorg.apache.http.HttpResponse;importorg.apache.http.StatusLine;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.impl.client.DefaultHttpClient;importorg.json.JSONArray;importorg.json.JSONException;importorg.json.JSONObject;importcn.edu.aynu.rjxy.entity.Data;importcn.edu.aynu.rjxy.utils.SharedPreferencesUtils;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.util.Log;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.ListView;importandroid.widget.TextView;public class MineActivity extendsActivity {private static final int CHANGE_UI = 1;private static final int ERROR = 2;privateListView lv;private List datas = new ArrayList();//主线程创建消息处理器
private Handler handler = newHandler(){public voidhandleMessage(android.os.Message msg) {if (msg.what ==CHANGE_UI) {try{
JSONArray arr= newJSONArray((String)msg.obj);for (int i = 0; i < arr.length(); i++) {
JSONObject temp=(JSONObject) arr.get(i);//Log.d("json", temp.getInt("id")+temp.getString("exp_name")+temp.getString("exp_tech"));
Data data = newData();
data.setId(temp.getInt("id"));
data.setExp_name(temp.getString("exp_name"));
data.setExp_tech(temp.getString("exp_tech"));
data.setExp_source(temp.getString("exp_source"));
data.setExp_type(temp.getString("exp_type"));
data.setExp_tno(temp.getString("tname"));
data.setIstate(temp.getString("istate"));//这个地方可以获取到值但是适配器那位0
datas.add(data);
}
lv.setAdapter(newMyAdapter());
}catch(JSONException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
};
};protectedString sno;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mine);
lv=(ListView) findViewById(R.id.lv);
select();//取出账号和密码
Map userInfo = SharedPreferencesUtils.getUserInfo(this);if (userInfo != null) {
sno= userInfo.get("sno");
}
}private voidselect(){//子线程更新UI
newThread(){public voidrun(){try{
StringBuilder builder= newStringBuilder();
String path= "http://10.6.78.254:2016/xampp/graduate/index.php/home/Student/test_check";
URL url= newURL(path);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();//区别2、请求方式post
conn.setRequestMethod("POST");
conn.setRequestProperty("User-Agent", "Mozilla/5.0(compatible;MSIE 9.0;Windows NT 6.1;Trident/5.0)");//区别3、必须指定两个请求的参数
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");//请求的类型 表单数据//System.out.println(sno);
String data = "sno="+sno;
conn.setRequestProperty("Content-Length", data.length()+"");//数据的长度//区别4、记得设置把数据写给服务器
conn.setDoOutput(true);//设置向服务器写数据
byte[] bytes =data.getBytes();
conn.getOutputStream().write(bytes);//把数据以流的方式写给服务器
int code =conn.getResponseCode();if (code == 200) {
InputStream is=conn.getInputStream();
BufferedReader reader= newBufferedReader
(new InputStreamReader(is,"UTF-8"));for(String s=reader.readLine();s!=null;s=reader.readLine())
{
builder.append(s);
}
String content=builder.toString();//通知主线程更新UI
Message message = newMessage();
message.what=CHANGE_UI;
message.obj=content;
handler.sendMessage(message);
}else{
Log.e(HomeActivity.class.toString(), "Failed");
}
}catch(ClientProtocolException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
};
}.start();
}class MyAdapter extendsBaseAdapter{
@Overridepublic intgetCount() {
Log.d("AAA", ""+datas.size());returndatas.size();
}
@Overridepublic Object getItem(intposition) {returndatas.get(position);
}
@Overridepublic long getItemId(intposition) {returnposition;
}
@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {
View view= View.inflate(MineActivity.this, R.layout.ui_setting_select, null);
TextView exp_name=(TextView) view.findViewById(R.id.tv_name);
TextView exp_tech=(TextView) view.findViewById(R.id.tv_tech);
TextView exp_type=(TextView) view.findViewById(R.id.tv_type);
TextView exp_source=(TextView) view.findViewById(R.id.tv_source);
TextView exp_tno=(TextView) view.findViewById(R.id.tv_tno);
Data data=datas.get(position);
Log.d("aaaaa",datas.get(position).getExp_name() );
exp_name.setText(datas.get(position).getExp_name());//Log.i("exp_name", datas.get(position).getExp_name());
exp_tech.setText(datas.get(position).getExp_tech());
exp_type.setText(datas.get(position).getExp_type());
exp_source.setText(datas.get(position).getExp_source());
exp_tno.setText(datas.get(position).getExp_tno());returnview;
}
}
}