zoukankan      html  css  js  c++  java
  • Android Andbase应用开发框架

    【运行说明】运行AndbaseDemo需要将文件中的Andbase库Add进demo中。
    1.andbase中包含了大量的开发常用手段。
    如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,SOAP工具类,异步Task,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使您的应用在团队开发中减少冗余代码,很大的提高了代码的维护性与开发高效性,能很好的规避由于开发疏忽而导致常犯的错误。
    2.andbase封装了大量的常用控件。
    如list分页,grid分页,下拉刷新,进度框,图片轮播,表格,多线程下载器,侧边栏,图片上传,轮子选择,图表,Tab滑动,日历选择器等。
    3.强大的AbActivity,您没有理由不继承它。
    继承它你能够获得一个简单强大可设置的操作栏,以及一系列的简单调用,如弹出框,提示框,进度框,副操作栏等。
    4.提供效率较高图片缓存管理策略,使内存大幅度节省,利用率提高,效率提高。
    程序中要管理大量的图片资源,andbase提供简单的方法,几步完成下载与显示,并支持缩放,裁剪,缓存功能,OOM不在有。
    5.封装了大量常见工具类。
    包括日期,字符,文件,图片,数学,View万能适配工具类等各种处理函数, 多而全。
    6.用andbase大量减少handler的使用,而采用回调函数,代码更整洁。
    handler会产生大量代码,并且不好维护,andbase对handler进行了封装,你会发现用了andbase基本代码中不会再有大量的handler判断语句。
    7.简单轻量支持注解自动建表的ORM框架(支持一/多对多的关联操作)。
    写sql,建表,工作量大,andbase提供更傻瓜异步增删改查工具类,数据库在内置卡和外置卡都可以。
    8.异步请求http框架,网络请求标准化,支持文件上传下载,get,post,进度显示。
    包含了异步与http请求的工具类,SOAP请求工具类,简单实用。

        左侧滑动                登入注册              tab              框架功能列表

    源码片段:

    public class NetworkWeb {
     
        private AbHttpUtil mAbHttpUtil = null;
        private Context mContext = null;
         
        public NetworkWeb(Context context) {
            // 创建Http工具类
            mContext = context;
            mAbHttpUtil = AbHttpUtil.getInstance(context);
        }
     
        /**
         * Create a new instance of SettingWeb.
         */
        public static NetworkWeb newInstance(Context context) {
            NetworkWeb web = new NetworkWeb(context);
            return web;
        }
     
        /**
         * 调用请求的模版
         * @param param1  参数1
         * @param param2 参数2
         * @param abHttpListener 请求的监听器
         */
        public void testHttpGet(String param1,String param2,final AbHttpListener abHttpListener){
             
            // 一个url地址
            String urlString = "http://www.amsoft.cn/rss.php";
            mAbHttpUtil.get(urlString, new AbStringHttpResponseListener(){
     
                @Override
                public void onSuccess(int statusCode, String content) {
                    //将结果传递回去
                    abHttpListener.onSuccess(content);
                }
     
                @Override
                public void onStart() {
                     
                }
     
                @Override
                public void onFinish() {
                     
                }
     
                @Override
                public void onFailure(int statusCode, String content,
                        Throwable error) {
                    //将失败错误信息传递回去
                    abHttpListener.onFailure(content);
                }
                 
            });
        }
         
        /**
         * 调用一个列表请求
         * @param AbRequestParams  参数列表
         * @param abHttpListener 请求的监听器
         */
        public void findLogList(AbRequestParams params,final AbHttpListener abHttpListener){
             
            final String result = AbFileUtil.readAssetsByName(mContext, "article_list.json","UTF-8");
            // 一个url地址
            String urlString = "http://www.amsoft.cn/rss.php?";
            mAbHttpUtil.get(urlString,params,new AbStringHttpResponseListener(){
     
                @Override
                public void onSuccess(int statusCode, String content) {
                    try {
                        //模拟数据
                        content = result;
                         
                        AbResult result = new AbResult(content);
                        if (result.getResultCode()>0) {
                            //成功
                            ArticleListResult mArticleListResult = (ArticleListResult)AbJsonUtil.fromJson(content,ArticleListResult.class);
                            List<article> articleList = mArticleListResult.getItems();
                            //将结果传递回去
                            abHttpListener.onSuccess(articleList);
                        } else {
                            //将错误信息传递回去
                            abHttpListener.onFailure(result.getResultMessage());
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                        abHttpListener.onFailure(e.getMessage());
                    }   
                }
     
                @Override
                public void onStart() {
                    //开始的状态传递回去
                }
     
                @Override
                public void onFinish() {
                    //完成的状态传递回去
                }
     
                @Override
                public void onFailure(int statusCode, String content,
                        Throwable error) {
                    //将失败错误信息传递回去
                    abHttpListener.onFailure(content);
                }   
            }); 
        }
    }

    代码:这里

  • 相关阅读:
    POJ 2018 二分
    873. Length of Longest Fibonacci Subsequence
    847. Shortest Path Visiting All Nodes
    838. Push Dominoes
    813. Largest Sum of Averages
    801. Minimum Swaps To Make Sequences Increasing
    790. Domino and Tromino Tiling
    764. Largest Plus Sign
    Weekly Contest 128
    746. Min Cost Climbing Stairs
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4249125.html
Copyright © 2011-2022 走看看