Android Andbase應用開發架構

來源:互聯網
上載者:User

標籤:

【運行說明】運行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);            }           });     }}

代碼:這裡

Android Andbase應用開發架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.