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);
                }   
            }); 
        }
    }

    代码:这里

  • 相关阅读:
    Linux编程 22 shell编程(输出和输入重定向,管道,数学运算命令,退出脚本状态码)
    mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)
    mysql 开发进阶篇系列 45 物理备份与恢复(xtrabackup 安装,用户权限,配置)
    mysql 开发进阶篇系列 44 物理备份与恢复( 热备份xtrabackup 工具介绍)
    Linux编程 21 shell编程(环境变量,用户变量,命令替换)
    Linux编程 20 shell编程(shell脚本创建,echo显示信息)
    mysql 开发进阶篇系列 43 逻辑备份与恢复(mysqldump 的基于时间和位置的不完全恢复)
    Linux编程 19 编辑器(vim 用法)
    (网页)angularjs中的interval定时执行功能(转)
    (网页)在SQL Server中为什么不建议使用Not In子查询(转)
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4249125.html
Copyright © 2011-2022 走看看