android查询mysql并显示_Android+PHP+MYSQL把数据库中的数据显示在Android界面上

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;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值