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大神请轻拍
//实体
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大神请轻拍
相关文章推荐
- android判断EditText输入的数字、中文还是字母方法
- 解开Android应用程序组件Activity的"singleTask"之谜
- Android ProGuard 的作用、使用及bug分析
- Android Connectivity分析(1)- ConnectivityManager
- Android 屏幕适配相关的学习总结
- Android开发系列(十九个):至SimpleAdapter设置样式
- 【Android学习笔记】 碎片Fragment(1)
- [转]android 的injustdecodebounds
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
- Android应用开发性能优化完全分析
- android 5.0 apk 安装失败提示INSTALL_FAILED_INVALID_URI
- Android 去掉两个textview的空隙
- Android事件传递机制
- Android中的Context详解
- Android事件分发机制--ViewGroup(二)
- weight布局小技巧
- Android新增API之AudioEffect中文API与应用实例
- AndroidStudio中配置AndroidAnnotations
- Android_02_相对布局