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

    代码:这里

  • 相关阅读:
    替换指定串函数
    实现超级链接
    面向对象的关系数据库设计
    SQL语句的添加、删除、修改多种方法
    InfoWorld2008最佳开源软件大奖
    判断字符是否是汉字
    delphi指针
    项目经理要“三心二意”
    Linq查询Specified cast is not valid异常的常见原因
    SQL SERVER数据库同步示例
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4249125.html
Copyright © 2020-2023  润新知