您的位置:首页 > 移动开发 > Android开发

android 请求服务器列表

2015-10-14 10:35 239 查看
获取服务器的列表,listview需要:实体类,适配器,获取类。布局需要大布局和小布局

//实体

public class MyBaoxiuData {

public String bx_id;//id

public String bx_time;//时间

public String bx_product;//产品

public String bx_description;//描述

public String bx_address;//地址

public String bx_qy;//提醒

public String bx_yuyue_time;//预约时间

public String bx_name;//姓名

public String bx_phone;//联系电话

public String bx_money;//预付金额

public MyBaoxiuData(String bx_id,String bx_time,String bx_product,

String bx_description,String bx_address,String bx_qy,

String bx_yuyue_time, String bx_name,String bx_phone,String bx_money){

this.bx_name=bx_name;

this.bx_product=bx_product;//

this.bx_description=bx_description;//

this.bx_qy=bx_qy;//

this.bx_address=bx_address;//

this.bx_time=bx_time;//

this.bx_id=bx_id;//

this.bx_yuyue_time=bx_yuyue_time;//

this.bx_money=bx_money;

this.bx_phone=bx_phone;

}

public String getBx_id() {

return bx_id;

}

public void setBx_id(String bx_id) {

this.bx_id = bx_id;

}

public String getBx_time() {

return bx_time;

}

public void setBx_time(String bx_time) {

this.bx_time = bx_time;

}

public String getBx_product() {

return bx_product;

}

public void setBx_product(String bx_product) {

this.bx_product = bx_product;

}

public String getBx_description() {

return bx_description;

}

public void setBx_description(String bx_description) {

this.bx_description = bx_description;

}

public String getBx_address() {

return bx_address;

}

public void setBx_address(String bx_address) {

this.bx_address = bx_address;

}

public String getBx_qy() {

return bx_qy;

}

public void setBx_qy(String bx_qy) {

this.bx_qy = bx_qy;

}

public String getBx_yuyue_time() {

return bx_yuyue_time;

}

public void setBx_yuyue_time(String bx_yuyue_time) {

this.bx_yuyue_time = bx_yuyue_time;

}

public String getBx_name() {

return bx_name;

}

public void setBx_name(String bx_name) {

this.bx_name = bx_name;

}

public String getBx_phone() {

return bx_phone;

}

public void setBx_phone(String bx_phone) {

this.bx_phone = bx_phone;

}

public String getBx_money() {

return bx_money;

}

public void setBx_money(String bx_money) {

this.bx_money = bx_money;

}

}

//适配器

public class MyBaoxiuAdapter extends ArrayAdapter<MyBaoxiuData>{

int resourceid;

List<MyBaoxiuData>data_list;

public MyBaoxiuAdapter(Context context, int resource, List<MyBaoxiuData> mylist) {

super(context, resource, mylist);

this.resourceid=resource;

this.data_list=mylist;

}

public int getCount() {

if(data_list!=null){

return data_list.size();

}

return 0;

}

@Override

public MyBaoxiuData getItem(int position) {

return data_list.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@SuppressLint("ViewHolder")

@Override

public View getView(int position, View convertView, ViewGroup parent) {

MyBaoxiuData data=getItem(position);

View view=LayoutInflater.from(getContext()).inflate(resourceid, null);

TextView bx_id=(TextView)view.findViewById(R.id.txt_repair_id_bx);

TextView bx_time=(TextView)view.findViewById(R.id.txt_time_al_bx);

TextView bx_product=(TextView)view.findViewById(R.id.txt_product_bx);

TextView bx_descript=(TextView)view.findViewById(R.id.txt_guzhang_bx);

TextView bx_address=(TextView)view.findViewById(R.id.txt_address_al_bx);

TextView bx_speacil=(TextView)view.findViewById(R.id.txt_special_bx);

TextView bx_yuyue=(TextView)view.findViewById(R.id.txt_time_yuyue_bx);

TextView bx_name=(TextView) view.findViewById(R.id.txt_people_al_bx);

TextView bx_phone=(TextView)view.findViewById(R.id.txt_phone_al_bx);

TextView bx_money=(TextView)view.findViewById(R.id.txt_yufumoney_al_bx);

bx_id.setText(data.bx_id);

bx_time.setText(data.bx_time);

bx_product.setText(data.bx_product);

bx_descript.setText(data.bx_description);

bx_address.setText(data.bx_address);

if(data.bx_qy.toString().trim().equals("null")){

bx_speacil.setText("无");

}else{

bx_speacil.setText(data.bx_qy);

}

bx_yuyue.setText(data.bx_yuyue_time);

bx_name.setText(data.bx_name);

bx_phone.setText(data.bx_phone);

bx_money.setText(data.bx_money);

return view;

}

}

//请求类,以及上啦加载,这里用的xutils框架可以忽略

package baoxiu.weixiushang;

public class MyBaoxiuActivity extends Activity implements OnScrollListener{

/**

* 师傅上传订单

*/

String u,p;

List<MyBaoxiuData>datalistover=new ArrayList<MyBaoxiuData>();

List<MyBaoxiuData>datalist=new ArrayList<MyBaoxiuData>();

MyBaoxiuAdapter madapter;

private int visibleLastIndex = 0;

int page=1;

private DialogLoading mPLoading;

private Common common;

@ViewInject(R.id.tv_mybaoxiuno)

private TextView tv_mybaoxiuno;

@ViewInject(R.id.lv_my_baoxiu)

private ListView lv_my_baoxiu;

@ViewInject(R.id.iv_my_baoxiu)

private ImageView iv_my_baoxiu;

@ViewInject(R.id.btn_upload)

private Button btn_upload;

private int y = 0;

@OnClick({R.id.iv_my_baoxiu,R.id.lv_my_baoxiu,R.id.btn_upload})

public void oncl(View v){

switch (v.getId()) {

case R.id.iv_my_baoxiu:

this.finish();

break;

case R.id.btn_upload:

Intent i=new Intent(MyBaoxiuActivity.this,ChoiceTimeActivity.class);

startActivity(i);

break;

default:

break;

}

}

@SuppressLint("HandlerLeak")

Handler mHandler = new Handler() {

public void handleMessage(Message msg) {

mPLoading.dismiss();

JSONObject joReturn = null;

JSONArray jaInfo = null;

JSONObject Info = null;

MyBaoxiuData mdata;

int status=0;

switch(msg.what){

case 520:

try {

joReturn = new JSONObject(msg.obj.toString());

status = joReturn.getInt("status");

if(status==1){

lv_my_baoxiu.setVisibility(View.VISIBLE);

tv_mybaoxiuno.setVisibility(View.GONE);

jaInfo = new JSONArray( joReturn.getString("info"));

datalist.clear();

for( int i = 0; i<jaInfo.length();i++){

Info = new JSONObject(jaInfo.getString(i)) ;

mdata = new MyBaoxiuData(

Info.getString("id"),

Info.getString("addtime"),

Info.getString("product_name"),

Info.getString("fault_detail"),

Info.getString("address"),

Info.getString("special_requests"),

Info.getString("reserve"),

Info.getString("real_name"),

Info.getString("phone"),

Info.getString("total_fee"));

datalist.add(mdata );

}

datalistover.addAll(datalist);

madapter=new MyBaoxiuAdapter(MyBaoxiuActivity.this, R.layout.my_baoxiu_item,datalistover);

lv_my_baoxiu.setAdapter(madapter);

lv_my_baoxiu.setSelection(y);

}else{

if(datalistover.size()>0){

UIHelper.ToastMessage(MyBaoxiuActivity.this,"没有数据了");

}else{

lv_my_baoxiu.setVisibility(View.GONE);

tv_mybaoxiuno.setVisibility(View.VISIBLE);}

}

} catch (Exception e) {

e.printStackTrace();

}

break;

case -1:

UIHelper.ToastMessage(MyBaoxiuActivity.this,"没有数据了");

break;

}

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.my_baoxiu);

ViewUtils.inject(this);

common=new Common();

SharedPreferences MAP_LOGIN = getSharedPreferences(Config.STR_SHARED_TAG, 0);

u = MAP_LOGIN.getString(Config.STR_SHARED_USER_NAME, "");

p = MAP_LOGIN.getString(Config.STR_SHARED_PASSWORD, "");

lv_my_baoxiu.setOnScrollListener(MyBaoxiuActivity.this);

mPLoading=new DialogLoading(MyBaoxiuActivity.this);

show_data();

}

//获取列表

private void show_data(){

mPLoading.show();

new Thread(){

Message msg = new Message();

public void run() {

String t=String.valueOf(System.currentTimeMillis()).substring(0,10);

String str_url = Config.STR_SERVICE_URL+"AppApi/is_agents_order/client_type/android/" //http://58.246.134.118:81

+ "/t/"+t+"/u/"+u+"/q/"+common.toSign(u, p, t)+"/p/"+page;//

HttpUtils http_get = new HttpUtils();

http_get.send(HttpMethod.GET, str_url, new RequestCallBack<String>() {

public void onStart() {

};

@Override

public void onLoading(long total, long current, boolean isUploading) {

}

@Override

public void onFailure(HttpException arg0, String arg1) {

}

@SuppressLint("NewApi")

@Override

public void onSuccess(ResponseInfo<String> arg0) {

try {

JSONObject jo =new JSONObject(arg0.result);

if(jo.length()>0){

msg.what=520;//

msg.obj=jo;

}else{

msg.what=-1;

}

} catch (Exception e) {

e.printStackTrace();

}

mHandler.sendMessage(msg);

}

});//get方法

};//run方法的

}.start();

}

@Override

public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {

visibleLastIndex=arg1+arg2-1;

y = lv_my_baoxiu.getFirstVisiblePosition();

}

@Override

public void onScrollStateChanged(AbsListView arg0, int arg1) {

int itemsLastIndex = madapter.getCount() - 1;

if (arg1 == OnScrollListener.SCROLL_STATE_IDLE

&& visibleLastIndex == itemsLastIndex) {

page += 1;

show_data();

}

}

}

//写的基础的demo大神请轻拍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: