國人寫的Android開發框架 AndBase
A-A+
ApkDemo 2014年11月24日11 1775 次瀏覽安卓源碼 | 第三方開源框架 | 自定義控件andbase | 自定義控件 | 自定義框架
文章目錄
AndBase 效果
ApkDemo 評語
這個框架是我見到最細心的一個,擁有一個超級詳細的中文文檔。親們,掌握它我相信Android商店的應用質量又提高一成。
AndBase 說明
AndBase 簡介
andbase框架的藕合性非常的低,你可以在你的項目中用完整的源碼進行編譯使用,在源碼中很多功能你可能並不需要,比如裏面的大量的自定義View,在你的項目功能基本定型時,你可以對andbase進行精簡,以減少包的大小,比如你不要圖表功能,你就找到放圖表功能的類,直接將這個包的文件都刪除,然後重新編譯andbae.jar即可,andbase爲了實現更多的功能本身會越來越大,大家採取按需要編譯代碼即可。
功能列表:
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請求工具類,簡單實用。
溫馨提示:
andbase開發工具包jar:andbase.jar
演示demo源碼:AndBaseDemo 即Android開發寶
類說明doc文檔:doc
類庫源碼:AndBase
AndBase 使用
例子列表:
使用AbImageLoader 下載顯示圖片例子
HTTP請求例子
一行代碼搞定所有屏幕適配 AbViewUtil 例子
列子太多了,詳細的請點本站腳友情連接,我這呢就放幾個經典的例子。
使用AbImageLoader 下載顯示圖片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | //圖片的下載 AbImageLoader mAbImageLoader = AbImageLoader.newInstance(this); mAbImageLoader.setLoadingImage(R.drawable.image_loading); mAbImageLoader.setErrorImage(R.drawable.image_error); mAbImageLoader.setEmptyImage(R.drawable.image_empty);
//原圖片的下載 mAbImageLoader.setMaxWidth(0); mAbImageLoader.setMaxHeight(0); mAbImageLoader.display(scaleView,imageUrl);
//縮放圖片的下載(保持寬高比,計算縮放比例,使一個方向縮放後,另一方向不小與顯示的大小的最合適比例) mAbImageLoader.setMaxWidth(150); mAbImageLoader.setMaxHeight(150); mAbImageLoader.display(scaleView2,imageUrl2);
//放大圖片的下載 mAbImageLoader.setMaxWidth(180); mAbImageLoader.setMaxHeight(180); mAbImageLoader.display(scaleView3,imageUrl3); |
HTTP請求例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | // 一個url地址 String urlString = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo"; String nameSpace = "http://WebXml.com.cn/"; String methodName = "getMobileCodeInfo"; AbSoapParams params = new AbSoapParams(); params.put("mobileCode", "15150509589"); params.put("userID", ""); mAbSoapUtil.call(urlString,nameSpace,methodName,params, new AbSoapListener() {
//獲取數據成功會調用這裏 @Override public void onSuccess(int statusCode, String content) {
AbDialogUtil.showAlertDialog(SoapActivity.this,"返回結果",content,new AbDialogOnClickListener(){ @Override public void onNegativeClick() { // TODO Auto-generated method stub
} @Override public void onPositiveClick() { // TODO Auto-generated method stub
} }); }
// 失敗,調用 @Override public void onFailure(int statusCode, String content, Throwable error) {
AbToastUtil.showToast(SoapActivity.this,error.getMessage()); } // 開始執行前 @Override public void onStart() { //顯示進度框 AbDialogUtil.showProgressDialog(SoapActivity.this,0,"正在查詢..."); } // 完成後調用,失敗,成功 @Override public void onFinish() { //移除進度框 AbDialogUtil.removeDialog(SoapActivity.this); }; }); |
一行代碼搞定所有屏幕適配 AbViewUtil 例子
1 2 3 4 5 6 7 8 9 10 11 12 13 | //(1)首先在你的應用的application中設置: AbAppConfig.UI_WIDTH = 1080; AbAppConfig.UI_HEIGHT = 700; 這是美工的UI尺寸,單位是像素。 //(2)然後在Activity中 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setAbContentView(R.layout.add_photo); //根佈局,遞歸縮放 AbViewUtil.scaleContentView((RelativeLayout)findViewById(R.id.rootLayout)); } //(3)設計佈局時,記得所有單位爲px |