58,454
社区成员
发帖
与我相关
我的任务
分享
package com.example.qqclient;
import java.io.IOException;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.example.qquser.QqUser;
import MySocket.MySocket;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
public class ShowActivity extends Activity {
MySocket socket;
String jsonbuf;
MyHandler h;
QqUser user;
ArrayList<QqUser> users;
Myadapter adapter;
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_show);
new Thread(new ClientThread()).start();
lv = (ListView) findViewById(R.id.lv1);
adapter = new Myadapter();
h = new MyHandler();
lv.setOnItemClickListener(new MyItemClickListener());
}
// 网络连接,得到登陆完传回来的jsonbuf
class ClientThread implements Runnable {
public void run() {
try {
socket = MySocket.getSocket();
jsonbuf = socket.getjsonbuf();
h.sendEmptyMessage(1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class MyHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
jsonstrToobj();
lv.setAdapter(adapter);
break;
}
}
}
//item点击监听
public class MyItemClickListener implements OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
QqUser userc = (QqUser) parent.getItemAtPosition(position);
System.out.println("position::"+position);
System.out.println(userc);
// System.out.println(user.getName());
}
}
//ListView 数据适配器
class Myadapter extends BaseAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return users.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
QqUser user = users.get(position);
View view = View.inflate(ShowActivity.this, R.layout.list_item1, null);
TextView tv_name = (TextView) view.findViewById(R.id.tv_name);
tv_name.setText(user.getName());
TextView tv_qq = (TextView) view.findViewById(R.id.tv_qq);
tv_qq.setText(Integer.toString(user.getQq()));
return view;
}
}
//jsonbuf获取用户集合
public void jsonstrToobj(){
JSONObject obj;
try {
users = new ArrayList<QqUser>();
obj = new JSONObject(jsonbuf);
JSONArray arr = obj.getJSONArray("users");
for(int i=0; i<arr.length(); i++){
JSONObject o = arr.getJSONObject(i);
user = new QqUser();
user.setAge(o.getInt("age"));
user.setName(o.getString("name"));
user.setQq(o.getInt("qq"));
user.setSex(o.getBoolean("sex"));
user.setStatus(o.getBoolean("status"));
users.add(user);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}