项目中常用的封装类

来源:互联网 发布:数控车床螺纹g92编程 编辑:程序博客网 时间:2024/05/29 16:36

1 封装的BaseAdapter

public abstract class SuperBaseAdapter<T> extends BaseAdapter {    private List<T> mData;    protected LayoutInflater inflater;    public SuperBaseAdapter(Context ctx){       mData=new ArrayList<T>();       inflater=LayoutInflater.from(ctx);    }    @Override    public int getCount() {        // TODO Auto-generated method stub        return mData.size();    }    @Override    public Object getItem(int arg0) {        // TODO Auto-generated method stub        return mData.get(arg0);    }    @Override    public long getItemId(int arg0) {        // TODO Auto-generated method stub        return arg0;    }    /**     * 添加数据     * @param t     */    public void addData(T t){        if(t!=null){            mData.add(t);            this.notifyDataSetChanged();        }    }    /**     * 更新全部的数据     * @param Data     */    public void upData(List<T> Data){        if(Data!=null){            mData.clear();            mData.addAll(Data);        }    }}

2 xUtils解析数据接口回调,采用阿里解析:

 public abstract class RequestCallBackEx<T> extends RequestCallBack<String> {//private Class<T> mClass;public RequestCallBackEx(Class<T> cls) {    mClass = cls;}@Overridepublic void onSuccess(ResponseInfo<String> arg0) {    try {        //获得网络传过来的json字符串        String data = arg0.result;        if (data != null) {            //使用阿里工具解析json            T obj = JSON.parseObject(data, mClass);            //调用抽象方法            onSuccess(obj);        }    } catch (Exception e) {        onFailure(new HttpException(e), e.toString());    }}public abstract void onSuccess(T obj);}

阿里解析参考 : http://blog.csdn.net/joke124/article/details/44859257

3 volley 解析网络 xml数据:

public class XMLRequest extends Request<XmlPullParser> {    private final Listener<XmlPullParser> mListener;    public XMLRequest(int method, String url, Listener<XmlPullParser> listener,            ErrorListener errorListener) {        super(method, url, errorListener);        mListener = listener;    }    public XMLRequest(String url, Listener<XmlPullParser> listener, ErrorListener errorListener) {        this(Method.GET, url, listener, errorListener);    }    @Override    protected Response<XmlPullParser> parseNetworkResponse(NetworkResponse response) {        try {            String xmlString = new String(response.data,                    HttpHeaderParser.parseCharset(response.headers));            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();            XmlPullParser xmlPullParser = factory.newPullParser();            xmlPullParser.setInput(new StringReader(xmlString));            return Response.success(xmlPullParser, HttpHeaderParser.parseCacheHeaders(response));        } catch (UnsupportedEncodingException e) {            return Response.error(new ParseError(e));        } catch (XmlPullParserException e) {            return Response.error(new ParseError(e));        }    }    @Override    protected void deliverResponse(XmlPullParser response) {        mListener.onResponse(response);    }}
0 0
原创粉丝点击