访问网络请求,实用篇

 

1. 先建立个空Activity,和一个列表的xml 再建立一个
2. 先建个model, 3个字段,1个ID     1个分类名     1个数量
3. 在网上把数据请求下来,得到数据包,list放在listview里显示出来

主Activity

package com.avicsafety.dangerous_chemicals;

import java.util.ArrayList;
import java.util.List;

import org.xutils.http.RequestParams;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.ViewInject;

import com.avicsafety.conf.Constants;
import com.avicsafety.interfaces.OnSearchResultListener;
import com.avicsafety.lib.Adapter.CommonAdapter;
import com.avicsafety.lib.Adapter.ViewHolder;
import com.avicsafety.lib.tools.tools;
import com.avicsafety.model.M_Basics_Law;
import com.avicsafety.model.M_LawTypeList;
import com.avicsafety.service.Info_LawManager;
import com.avicsafety.service.LoginManager;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

@ContentView(R.layout.activity_lawtype_list)

public class LawTypeTotalList extends BaseActivity {

    
    @ViewInject(R.id.list_view)
    private ListView list_view;    
    private List<M_LawTypeList> dataList;
    private CommonAdapter<M_LawTypeList> mAdapter;
    private Info_LawManager LawManager;
    private String law_type; 
    private String law_name; 
    private String law_code; 
    private String start_time; 
    private String end_time; 
    private String law_keyword; 
    private String username;
    private String password;
    

    
    @Override
    protected void InitializeComponent() {
        // TODO Auto-generated method stub
        super.InitializeComponent();
        setTitle("法律法规分类");
    }

    @Override
    protected void InitializeData() {
        // TODO Auto-generated method stub
        super.InitializeData();
        
        Bundle bundle = this.getIntent().getExtras();
        law_type = bundle.getString("law_type");
        law_name = bundle.getString("law_name");
        law_code = bundle.getString("law_code");
        start_time = bundle.getString("start_time");
        end_time = bundle.getString("end_time");
        law_keyword = bundle.getString("law_keyword");
        username =LoginManager.getLoginInfo().getUserName();
        password =LoginManager.getLoginInfo().getPassword();
        LawManager = new Info_LawManager();
        RequestParams rp = getParams(username, password, "P_Whp_Flfg");
        dataList= new ArrayList<>();
        LawManager.LawTypeTotalInfo(rp, new OnSearchResultListener(){

            @Override
            public void onSuccess(List list) {
                dataList = list;
                mAdapter.setmDatas(dataList);
                mAdapter.notifyDataSetChanged();
            }

            @Override
            public void onFail(String message) {
                progressDialog.dismiss();
                Toast.makeText(oThis, message, Toast.LENGTH_SHORT).show();
            }});
        
        list_view.setAdapter(mAdapter = new CommonAdapter<M_LawTypeList>(oThis, dataList, R.layout.item_common_list3) {
            @Override
            public void convert(ViewHolder helper, M_LawTypeList item) {
                helper.setText(R.id.tv_common_list_name, item.getName());
                helper.setText(R.id.tv_common_list_value, item.getCount()+"");
            }
        });
    }
    
    

    private RequestParams getParams(String username, String password,
            String modelClass) {
            RequestParams rp = new RequestParams(Constants.PHONE_LAW_TEAM);
            rp.setConnectTimeout(60000);
            rp.addQueryStringParameter("userName", username);
            rp.addQueryStringParameter("password", password);
            rp.addQueryStringParameter("law_type", law_type);
            rp.addQueryStringParameter("law_name", law_name);
            rp.addQueryStringParameter("law_code", law_code);
            rp.addQueryStringParameter("start_time", start_time);
            rp.addQueryStringParameter("end_time", end_time);
            rp.addQueryStringParameter("law_keyword", law_keyword);
            rp.addQueryStringParameter("classname", "Whp_flfg");
            rp.addQueryStringParameter("type", "1");

        
            return rp;
    }

    @Override
    protected void InitializeEvent() {
        // TODO Auto-generated method stub
        super.InitializeEvent();
        list_view.setOnItemClickListener(new OnItemClickListener(){

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int index,long arg3) {
                
                Bundle bundle = new Bundle();
                bundle.putString("law_type", law_type);
                bundle.putString("law_name", law_name);
                bundle.putString("law_code", law_code);
                bundle.putString("start_time", start_time);
                bundle.putString("end_time", end_time);
                bundle.putString("law_keyword", law_keyword);
                bundle.putString("index", dataList.get(index).getId());
                tools.startActivity(oThis, LawListActivity.class, bundle);
            }});
    }
 

Manager

    private List getDataByJSONArray2(JSONArray datas) throws JSONException{
        List<M_LawTypeList> list = new ArrayList<M_LawTypeList>();
        for (int i = 0; i < datas.length(); i++) {
            M_LawTypeList item = new M_LawTypeList();
            JSONObject data = datas.getJSONObject(i);
            item.setId(data.getString("lx"));
            item.setName(data.getString("lxStr"));
            item.setCount(data.getInt("lxsl"));
            list.add(item);
        }
        return list;
        
    }

    public void LawTypeTotalInfo(RequestParams param, final OnSearchResultListener listener) {
        // TODO Auto-generated method stub
        x.http().get(param, new Callback.CommonCallback<String>() {
            @Override
            public void onCancelled(CancelledException arg0) {

            }

            @Override
            public void onError(Throwable arg0, boolean arg1) {
                    listener.onFail("获取数据失败");
            }

            @Override
            public void onFinished() {

            }

            @Override
            public void onSuccess(String result) {
                JSONObject res;
                try {
                    res = new JSONObject(result);
                    String code = res.getString("Code");
                    if (code.equals("200")) {
                        JSONArray datas = res.getJSONArray("Response");
                        if (datas == null || datas.length() == 0) {
                            if (listener != null)
                                listener.onFail("没有找到数据");
                        }else{
                            List list = getDataByJSONArray2(datas);
                            if (listener != null)
                                listener.onSuccess(list);
                        }
                        
                    } else {
                        // Toast.makeText(oThis, "获取数据失败",
                        // Toast.LENGTH_SHORT).show();
                        if (listener != null)
                            listener.onFail("获取数据失败");
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                    L.v(e.getMessage());
                    // Toast.makeText(oThis, "获取数据失败",
                    // Toast.LENGTH_SHORT).show();
                    if (listener != null)
                        listener.onFail("服务器出错,请稍后再试");
                }
            }    
        });
    }

转载于:https://my.oschina.net/ChrisWolfWu/blog/857742

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值