android快速開發(fā)框架,android快速開發(fā)框架 輪子哥

android 開發(fā)框架有哪些

主要總結(jié)了7個(gè)好用的android 開發(fā)框架推薦給你:

為旬陽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及旬陽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站制作、旬陽網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

一、 Afinal

Afinal是一個(gè)Android的ioc,orm框架,內(nèi)置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity,我們可以通過注解的方式進(jìn)行綁定ui和事件。通過finalBitmap,我們可以方便的加載bitmap圖片,而無需考慮oom等問題。通過finalDB模塊,我們一行代碼就可以對android的sqlite數(shù)據(jù)庫進(jìn)行增刪改查。通過FinalHttp模塊,我們可以以ajax形式請求http數(shù)據(jù)。

功能:

一個(gè)android的ioc,orm框架,內(nèi)置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity,我們可以通過注解的方式進(jìn)行綁定ui和事件。通過finalBitmap,我們可以方便的加載bitmap圖片,而無需考慮oom等問題。通過finalDB模塊,我們一行代碼就可以對android的sqlite數(shù)據(jù)庫進(jìn)行增刪改查。通過FinalHttp模塊,我們可以以ajax形式請求http數(shù)據(jù)。

優(yōu)點(diǎn):功能比較全面,文檔完善,代碼效率比較高。

缺點(diǎn):沒有項(xiàng)目demo,框架的時(shí)間比較久,代碼冗余比較多(這也是無可避免的),文檔比較老跟不上代碼更新進(jìn)度。

二、 xUtils

xUtils:可以說是Afinal的升級版。

xUtils 包含了很多實(shí)用的android工具。

xUtils 支持大文件上傳,更全面的http請求協(xié)議支持(10種謂詞),擁有更加靈活的ORM,更多的事件注解支持且不受混淆影響...

xUitls 最低兼容android 2.2 (api level 8)

三、 ThinkAndroid

ThinkAndroid是一個(gè)免費(fèi)的開源的、簡易的、遵循Apache2開源協(xié)議發(fā)布的Android開發(fā)框架,其開發(fā)宗旨是簡單、快速的進(jìn)行Android應(yīng)用程序的開發(fā),包含Android

mvc、簡易sqlite orm、ioc模塊、封裝Android

httpclitent的http模塊,具有快速構(gòu)建文件緩存功能,無需考慮緩存文件的格式,都可以非常輕松的實(shí)現(xiàn)緩存,它還基于文件緩存模塊實(shí)現(xiàn)了圖片緩存功能,在android中加載的圖片的時(shí)候,對oom的問題,和對加載圖片錯(cuò)位的問題都輕易解決。他還包括了一個(gè)手機(jī)開發(fā)中經(jīng)常應(yīng)用的實(shí)用工具類,如日志管理,配置文件管理,android下載器模塊,網(wǎng)絡(luò)切換檢測等等工具

四、 LoonAndroid

如果你想看ui方面的東西,這里沒有,想要看牛逼的效果這里也沒有。這只是純實(shí)現(xiàn)功能的框架,它的目標(biāo)是節(jié)省代碼量,降低耦合,讓代碼層次看起來更清晰。整個(gè)框架一部分是網(wǎng)上的,一部分是我改的,為了適應(yīng)我的編碼習(xí)慣,還有一部分像orm完全是網(wǎng)上的組件。在此感謝那些朋友們。

整個(gè)框架式的初衷是為了偷懶,之前都是一個(gè)功能一個(gè)jar,做項(xiàng)目的時(shí)候拉進(jìn)去,這樣對于我來說依然還是比較麻煩。最后就導(dǎo)致我把所有的jar做成了一個(gè)工具集合包。

有很多框架都含有這個(gè)工具集合里的功能,這些不一定都好用,因?yàn)檫@是根據(jù)我個(gè)人使用喜歡來實(shí)現(xiàn)的,如果你們有自己的想法,可以自己把架包解壓了以后,源碼拉出來改動(dòng)下。

目前很多框架都用到了注解,除了androidannotations沒有入侵我們應(yīng)用的代碼以外,其他的基本上都有,要么是必須繼承框架里面的activity,要么是必須在activity的oncreat里面調(diào)用某個(gè)方法。

整個(gè)框架式不同于androidannotations,Roboguice等ioc框架,這是一個(gè)類似spring的實(shí)現(xiàn)方式。在整應(yīng)用的生命周期中找到切入點(diǎn),然后對activity的生命周期進(jìn)行攔截,然后插入自己的功能。

五、 KJFrameForAndroid

KJFrameForAndroid 又叫KJLibrary,是一個(gè)android的orm 和 ioc

框架。同時(shí)封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;

KJFrameForAndroid的設(shè)計(jì)思想是通過封裝Android原生SDK中復(fù)雜的復(fù)雜操作而達(dá)到簡化Android應(yīng)用級開發(fā),最終實(shí)現(xiàn)快速而又安全的開發(fā)APP。我們提倡用最少的代碼,完成最多的操作,用最高的效率,完成最復(fù)雜的功能。

功能:

一個(gè)android的orm 和 ioc 框架。同時(shí)封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;

KJFrameForAndroid開發(fā)框架的設(shè)計(jì)思想是通過封裝Android原生SDK中復(fù)雜的復(fù)雜操作而達(dá)到簡化Android應(yīng)用級開發(fā),最終實(shí)現(xiàn)快速而又安全的開發(fā)APP。總共分為五大模塊:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。

六、 dhroid

dhroid 是基于android 平臺,

極速開發(fā)框架,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、代碼量少、學(xué)習(xí)簡單、功能強(qiáng)大、輕量級、易擴(kuò)展.使你更快,更好的開發(fā)商業(yè)級別應(yīng)用

功能:

1.Ioc容器: (用過spring的都知道)視圖注入,對象注入,接口注入,解決類依賴關(guān)系

2.Eventbus: android平臺事件總線框架,獨(dú)創(chuàng)延時(shí)事件,事件管理輕松

3.Dhnet: 網(wǎng)絡(luò)http請求的解決方案,使用簡單,減少代碼,自帶多種網(wǎng)絡(luò)訪問緩存策略

4.adapter模塊: 數(shù)據(jù)綁定輕松,不用寫多余的adapter,天生網(wǎng)絡(luò)支持(一行代碼搞定加載,刷新問題)

5.DhDb: android中sqlite的最輕量orm框架(增刪改查輕松搞定)

6.Perference: android自帶Perference 升級版,讓你的Perference更強(qiáng)大,更方便

工具集合 JSONUtil(安全處理json),ViewUtil(數(shù)據(jù)綁定更快) ThreadWorker(異步任務(wù)工具)...

七、 SmartAndroid

SmartAndroid是一套給

Android開發(fā)者使用的應(yīng)用程序開發(fā)框架和工具包。它提供一套豐富的標(biāo)準(zhǔn)庫以及簡單的接口和邏輯結(jié)構(gòu),其目的是使開發(fā)人員更快速地進(jìn)行項(xiàng)目開發(fā)。使用

SmartAndroid可以減少代碼的編寫量,并將你的精力投入到項(xiàng)目的創(chuàng)造性開發(fā)上。

功能:

SmartAndroid 擁有全范圍的類庫,可以完成大多數(shù)通常需要的APP開發(fā)任務(wù),包括:

異步網(wǎng)絡(luò)操作相關(guān)所有功能、強(qiáng)大的圖片處理操作、輕量級ORM數(shù)據(jù)庫Sqlite庫、zip操作

、動(dòng)畫特效、Html等解析采集、事件總線EventBus/Otto、Gson(Json)、AQuery、主流所有UI控件(例如:ActionbarSherlock,SlidingMenu,BottomView,Actionbar,DragListView等10多種UI庫)等。

怎樣搭建一個(gè)android開發(fā)框架

相對于傳統(tǒng)計(jì)算機(jī)程序語言來說,Android開發(fā)學(xué)習(xí)資源上還稍微欠缺一些,對于一些基礎(chǔ)應(yīng)用講解還稍顯匱乏,本篇所講述的Android培訓(xùn)內(nèi)容可以幫助大家更好的理解Android項(xiàng)目快速開發(fā)框架。結(jié)合之前所用的ormlite和hessian,再加上SAE已經(jīng)支持JAVA,把服務(wù)端切換到JAVA,也就有了本文。使用hessian來做數(shù)據(jù)傳輸,ormlite來實(shí)現(xiàn)客戶端與服務(wù)端的數(shù)據(jù)存儲,極大的減少了CRUD工作。本文為探索貼,未正式用于大型項(xiàng)目,歡迎大家討論使用!正文一、簡介1.1 ormliteOrmlite[Object Relational Mapping Lite (ORM Lite)]對象關(guān)系映射精簡版(精簡版的ORM)提供了一些簡單的,輕量級持久化Java對象到SQL數(shù)據(jù)庫,同時(shí)也避免了復(fù)雜性和更多的標(biāo)準(zhǔn)的ORM包的開銷的功能。支持?jǐn)?shù)據(jù)庫的jdbc調(diào)用,當(dāng)然,最重要的肯定是它支持android原生的數(shù)據(jù)庫api調(diào)用sqlite?!D(zhuǎn)載自這里。1.2 hessian使用方法參照本博兩篇文章:[hessdroid]Android下使用Hessian與Java服務(wù)端通訊[hessdroid]Android下使用Hessian與Java服務(wù)端通訊的傳值測試1.3 Android快速開發(fā)框架說明考慮如下幾個(gè)特點(diǎn):a). 客戶端(Android)和服務(wù)端均使用Java語言b). 客戶端(Android)和服務(wù)端均支持Hessian和ormlite框架c). 完整的支持面向?qū)ο箝_發(fā):存儲和交互傳輸二、準(zhǔn)備2.1 開發(fā)環(huán)境為了便于同時(shí)開發(fā)Android和Java Web,這里下載的是Eclipse IDE for Java EE Developers版本,然后安裝最新的ADT插件和TOMCAT插件。2.2 服務(wù)端應(yīng)用服務(wù)器使用Tomcat,采用Java(JSP/Servlet)來實(shí)現(xiàn)服務(wù)端的業(yè)務(wù)邏輯,數(shù)據(jù)庫使用Mysql??焖倏蚣艽罱ㄍ扑]大家使用XAMPP(集成Apache、MySQL、PHP等,支持綠色安裝)。2.3 客戶端普通的Android環(huán)境2.4 通信與存儲說明服務(wù)端與客戶端通過Hessian進(jìn)行數(shù)據(jù)交換,通過Ormlite保存數(shù)據(jù)庫(通過JDBC保存到服務(wù)端的MYSQL數(shù)據(jù)庫,也可以直接保存到客戶端的sqlite數(shù)據(jù)庫);三、代碼3.1 項(xiàng)目工程截圖(服務(wù)端)HOLib共用于客戶端和服務(wù)端,保證接口和數(shù)據(jù)對象一致性。3.2 重點(diǎn)代碼分析3.2.1 服務(wù)端web.xml?xml version="1.0" encoding="ISO-8859-1"?web-app xmlns="" xmlns:xsi="" xsi:schemaLocation=" web-app_2_4.xsd" version="2.4" servlet servlet-nameuser/servlet-name servlet-classcom.nmbb.ho.server.servlet.UserServlet/servlet-class /servlet servlet-mapping servlet-nameuser/servlet-name url-pattern/user.do/url-pattern /servlet-mapping listener listener-classcom.nmbb.ho.server.StartupInit/listener-class /listener/web-appStartupInit.javapublic class StartupInit implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent arg0) { try { TableUtils.dropTable(OrmliteHelper.getConnection(), POUser.class, true); //創(chuàng)建數(shù)據(jù)庫 TableUtils.createTable(OrmliteHelper.getConnection(), POUser.class); } catch (SQLException e) { e.printStackTrace(); } } @Override public void contextDestroyed(ServletContextEvent arg0) { }} 代碼說明:StartupInit可用于創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu),這里用于測試,真實(shí)環(huán)境注意數(shù)據(jù)丟失問題。POUser.java@DatabaseTable(tableName = "nmbb_users")public class POUser implements Serializable { /** 用戶編號,6位數(shù)字 */ @DatabaseField(generatedId = true) public int suid; /** 用戶名 */ @DatabaseField(width = 30) public String username; /** 密碼 */ @DatabaseField(width = 30) public String password; /** 昵稱 */ @DatabaseField(width = 60) public String nickname; /** 200 正常 201 數(shù)據(jù)校驗(yàn)錯(cuò)誤 202用戶已經(jīng)存在 */ public int status = 200; /** 用于放錯(cuò)誤信息 */ public String msg; public POUser() { }} 代碼說明:注意需要一個(gè)空的構(gòu)造函數(shù),其他請參考o(jì)rmlite資料。UserServlet.java/*** 用戶Servlet** @author 農(nóng)民伯伯* @see **/public class UserServlet extends HessianServlet implements IUserService { @Override public POUser register(String username, String password) { POUser result = new POUser(); System.out.println("[UserServlet.register]..."); // 檢測數(shù)據(jù)是否合法 if (isEmpty(username) || isEmpty(password)) { result.status = 201; result.msg = "用戶名或密碼不能為空"; } else { // 檢測用戶是否存在 OrmliteHelperPOUser db = new OrmliteHelperPOUser(); if (db.exist(POUser.class, "username", username)) { result.status = 202; result.msg = "用戶名已經(jīng)存在"; } else { result.username = username; result.password = password; db.create(result);// 入庫 result.msg = "注冊成功"; System.out.println("create user suid:" + result.suid); } } return result; } @Override public ListPOUser query(int suid, int startIndex, int pageSize) { return new OrmliteHelperPOUser().query(POUser.class, "suid", suid, startIndex, pageSize) ; } /** * 判斷字符串是否為空 * * @param str * @return */ public static boolean isEmpty(String str) { return str == null || str.length() == 0; }}3.2.2 客戶端(Android) public class UserActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void OnClickRegiger(View view) { new AsyncTaskVoid, Void, POUser() { @Override protected POUser doInBackground(Void... params) { String url = ""; HessianProxyFactory factory = new HessianProxyFactory(); try { factory.setDebug(true); factory.setReadTimeout(5000); //不設(shè)置會報(bào) expected hessian reply at 0x48 factory.setHessian2Reply(false); IUserService basic = (IUserService) factory.create(IUserService.class, url, getClassLoader()); return basic.register("admin", "123456"); } catch (MalformedURLException e) { Log.e("UserActivity", "OnClickRegiger", e); } catch (Exception e) { Log.e("UserActivity", "OnClickRegiger", e); } return null; } @Override protected void onPostExecute(POUser result) { if (result != null) { if (result.status == 200) { //保存入庫 new DbHelperPOUser().create(result); } Toast.makeText(UserActivity.this, "" + result.msg, Toast.LENGTH_LONG).show(); } }; }.execute(); }}代碼說明:1、DbHelper在源碼里給出。2、如果項(xiàng)目無法編譯通過,請注意設(shè)置項(xiàng)目的字符編碼、JDK版本、Android的版本。三、總結(jié)5.1 優(yōu)點(diǎn)a). 完全面向?qū)ο箝_發(fā)b). 降低項(xiàng)目的復(fù)雜度,減少引入其他框架所帶來的復(fù)雜性c). 非常適合一個(gè)開發(fā)服務(wù)端和客戶端充分的利用的框架的特點(diǎn),提交開發(fā)效率,適合中小型項(xiàng)目快速開發(fā)。5.2 缺點(diǎn)a). 注意服務(wù)端與客戶端共用id的問題5.3 其他a). ormlite支持標(biāo)準(zhǔn)的JPA助記符,這里。這樣服務(wù)端采用Hibernate應(yīng)該也是可以的,有時(shí)間可以做一個(gè)整合例子看看。學(xué)習(xí)語言同做事情一樣,想通其中的關(guān)系,就會事半功倍,對語言要深入的理解,

如何搭建Android快速開發(fā)框架

搭建Android開發(fā)環(huán)境

準(zhǔn)備工作:下載Eclipse、JDK、Android SDK、ADT插件

下載地址:Eclipse:

JDK:

Android SDK:

ADT:

1、安裝和配置JAVA開發(fā)環(huán)境:

①把準(zhǔn)備好的Eclipse和JDK安裝到本機(jī)上(最好安裝在全英文路徑下),并給JDK配置環(huán)境變量,其中JDK的變量值為JDK安裝路徑的根目錄,如我的為:D:\Program Files\Java\jdk1.7.0_02;

②打開命令提示符(cmd),輸入java -version命令,顯示如下圖則說明JAVA環(huán)境變量已經(jīng)配置好了。

2、安裝ADT插件:

①打開已安裝好的Eclipse,選擇菜單欄上的“Help”-在彈出的下拉框中單擊選擇“Install new software...”;

②在新打開的對話框中我們完全可以直接在"Work with"中輸入:在線安裝ADT插件,但由于Google的服務(wù)器搭建在國外,所以通過這種方式安裝起來會比較慢,而且可能會出現(xiàn)人品差死活裝不上的情況,所以不推薦在線安裝。

③我推薦直接通過下載好的ADT插件壓縮包進(jìn)行安裝(此種方式可以在離線環(huán)境下進(jìn)行)。具體步驟是:在新打開的對話框中點(diǎn)擊“Add”按鈕-在打開的對話框中點(diǎn)擊“Archive”按鈕選擇之前已經(jīng)下載好保存在本地硬盤的ADT插件壓縮包,至于上面的“Name”可以隨便取,這只是一個(gè)代號而已,沒什么實(shí)際作用。

④在上一步中點(diǎn)擊“Ok”按鈕后我們會發(fā)現(xiàn)中間的空白處出現(xiàn)了兩行復(fù)選框,單擊"Select All"按鈕選中所有的復(fù)選框,這步過后一路“Next”,需要“Accept”的就選中“Accept”,直到點(diǎn)擊“Finish”結(jié)束,這樣ADT插件就安裝好了。整個(gè)過程需要的時(shí)間視機(jī)器性能而定。安裝好ADT插件后,Eclipse的工具欄會出現(xiàn)一排Android的圖標(biāo),如下圖:

3、安裝SDK:

①把下載好的Android SDK安裝到本機(jī)上(最好安裝在全英文路徑下),并為Android SDK配置環(huán)境變量。Android SDK的環(huán)境變量值為SDK安裝目錄下的platform-tools文件夾和tools文件夾子目錄路徑,如我的分別為:E:\My Studying\Android\android-sdk\platform-tools、E:\My Studying\Android\android-sdk\tools,在變量值中,兩個(gè)路徑用逗號隔開。

②打開命令提示符(cmd),分別輸入android -h和adb命令,顯示如下圖則說明Android SDK環(huán)境變量已經(jīng)配置好了。

③打開Android SDK的安裝目錄,雙擊 "SDK Manager"-在打開的窗口中先選擇你需要安裝的SDK版本,其中“Status”表示該SDK包是否安裝,如我選的是“Android2.2(API 8)”(我的之前已經(jīng)安裝過了,所以“Status”為“Installed”)-再點(diǎn)擊“Install packages...”按鈕,在彈出來的窗口中最好選“Accept All”這樣才能安裝你剛才選的所有的包-最后點(diǎn)“Install”按鈕就開始安裝了,整個(gè)過程會很慢,這需要你的耐心。

另外我們還可以通過在Eclipse上的工具欄中點(diǎn)擊下圖指示的圖標(biāo)打開“SDK Manager”然后進(jìn)行安裝,這樣和上面的SDK安裝方式一樣,就不累述了。

④最后再選擇Eclipes主菜單上的"Windows"-選擇"preferrnces";

⑤在彈出來的對話框中選中左邊欄的“Android”-通過右側(cè)的“Browse...”按鈕選擇SDK的安裝路徑根目錄-點(diǎn)擊最下方的“Ok”按鈕,這樣SDK就在Eclipse上加載成功了。

4、創(chuàng)建Android模擬器(AVD):

①打開Eclipse-在Eclipse的工具欄上單擊下圖指示的圖標(biāo)打開“Android Virsual Device Manager”窗口;

②在“Android Virsual Device Manager”窗口單擊“New”按鈕-在彈出來的窗口中"Name"可以隨便??;“Target”指模擬器的系統(tǒng)版本;“SD Card”的"size"是指手機(jī)存儲卡的大小,只要你不在模擬器上裝太多的應(yīng)用,一般給個(gè)二三十MB就夠了;“Skin”是指屏幕的分辨率大小,其中“Built in”是一般手機(jī)常用標(biāo)準(zhǔn)屏幕分辨率大小,而“Resolution”是自定義屏幕分辨率大小,具體做法,可以根據(jù)自身情況選擇。-一切設(shè)置好后點(diǎn)擊“Create AVD”,這時(shí)一個(gè)模擬器就創(chuàng)建好了。如果有必要,我們可以創(chuàng)建多個(gè)模擬器用于測試時(shí)使用。

附:Android模擬器型號以及其對應(yīng)的分辨率大?。?/p>

Standard Width Height DAR Pixeis

HVGA 480 * 320 3:2 153,600

QVGA 320 * 240 4:3 76,800

WQVGA400 400 * 240 5:3 96,000

WQVGA432 432 * 240 9:5 103,680

WVGA800 800 * 480 5:3 384,000

WVGA852 854 * 480 409,920

至此為止,在Eclipse上就已經(jīng)成功搭建Android開發(fā)環(huán)境了。

常用的android開發(fā)框架有哪些

主要分為以下幾種:

1、volley

項(xiàng)目地址

(1) JSON,圖像等的異步下載;

(2) 網(wǎng)絡(luò)請求的排序(scheduling)

(3) 網(wǎng)絡(luò)請求的優(yōu)先級處理

(4) 緩存

(5) 多級別取消請求

(6) 和Activity和生命周期的聯(lián)動(dòng)(Activity結(jié)束時(shí)同時(shí)取消所有網(wǎng)絡(luò)請求)

2、Android-async-http

項(xiàng)目地址:

文檔介紹:

(1) 在匿名回調(diào)中處理請求結(jié)果

(2) 在UI線程外進(jìn)行http請求

(3) 文件斷點(diǎn)上傳

(4) 智能重試

(5) 默認(rèn)gzip壓縮

(6) 支持解析成Json格式

(7) 可將Cookies持久化到SharedPreferences

3、Afinal框架

項(xiàng)目地址:

主要有四大模塊:

(1) 數(shù)據(jù)庫模塊:android中的orm框架,使用了線程池對sqlite進(jìn)行操作。

(2) 注解模塊:android中的ioc框架,完全注解方式就可以進(jìn)行UI綁定和事件綁定。無需findViewById和setClickListener等。

(3) 網(wǎng)絡(luò)模塊:通過httpclient進(jìn)行封裝http數(shù)據(jù)請求,支持ajax方式加載,支持下載、上傳文件功能。

(4) 圖片緩存模塊:通過FinalBitmap,imageview加載bitmap的時(shí)候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象。

FinalBitmap可以配置線程加載線程數(shù)量,緩存大小,緩存路徑,加載顯示動(dòng)畫等。FinalBitmap的內(nèi)存管理使用lru算法,

沒有使用弱引用(android2.3以后google已經(jīng)不建議使用弱引用,android2.3后強(qiáng)行回收軟引用和弱引用,詳情查看android官方文檔),

更好的管理bitmap內(nèi)存。FinalBitmap可以自定義下載器,用來擴(kuò)展其他協(xié)議顯示網(wǎng)絡(luò)圖片,比如ftp等。同時(shí)可以自定義bitmap顯示器,

在imageview顯示圖片的時(shí)候播放動(dòng)畫等(默認(rèn)是漸變動(dòng)畫顯示)。

4、xUtils框架

項(xiàng)目地址:

主要有四大模塊:

(1) 數(shù)據(jù)庫模塊:android中的orm框架,一行代碼就可以進(jìn)行增刪改查;

支持事務(wù),默認(rèn)關(guān)閉;

可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時(shí)候請注解表名和列名);

支持綁定外鍵,保存實(shí)體時(shí)外鍵關(guān)聯(lián)實(shí)體自動(dòng)保存或更新;

自動(dòng)加載外鍵關(guān)聯(lián)實(shí)體,支持延時(shí)加載;

支持鏈?zhǔn)奖磉_(dá)查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。

(2) 注解模塊:android中的ioc框架,完全注解方式就可以進(jìn)行UI,資源和事件綁定;

新的事件綁定方式,使用混淆工具混淆后仍可正常工作;

目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包c(diǎn)om.lidroid.xutils.view.annotation.event。

(3) 網(wǎng)絡(luò)模塊:支持同步,異步方式的請求;

支持大文件上傳,上傳大文件不會oom;

支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;

下載支持301/302重定向,支持設(shè)置是否根據(jù)Content-Disposition重命名下載的文件;

返回文本內(nèi)容的請求(默認(rèn)只啟用了GET請求)支持緩存,可設(shè)置默認(rèn)過期時(shí)間和針對當(dāng)前請求的過期時(shí)間。

(4) 圖片緩存模塊:加載bitmap的時(shí)候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象;

支持加載網(wǎng)絡(luò)圖片和本地圖片;

內(nèi)存管理使用lru算法,更好的管理bitmap內(nèi)存;

可配置線程加載線程數(shù)量,緩存大小,緩存路徑,加載顯示動(dòng)畫等...

5、ThinkAndroid

項(xiàng)目地址:

主要有以下模塊:

(1) MVC模塊:實(shí)現(xiàn)視圖與模型的分離。

(2) ioc模塊:android中的ioc模塊,完全注解方式就可以進(jìn)行UI綁定、res中的資源的讀取、以及對象的初始化。

(3) 數(shù)據(jù)庫模塊:android中的orm框架,使用了線程池對sqlite進(jìn)行操作。

(4) http模塊:通過httpclient進(jìn)行封裝http數(shù)據(jù)請求,支持異步及同步方式加載。

(5) 緩存模塊:通過簡單的配置及設(shè)計(jì)可以很好的實(shí)現(xiàn)緩存,對緩存可以隨意的配置

(6) 圖片緩存模塊:imageview加載圖片的時(shí)候無需考慮圖片加載過程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象。

(7) 配置器模塊:可以對簡易的實(shí)現(xiàn)配對配置的操作,目前配置文件可以支持Preference、Properties對配置進(jìn)行存取。

(8) 日志打印模塊:可以較快的輕易的是實(shí)現(xiàn)日志打印,支持日志打印的擴(kuò)展,目前支持對sdcard寫入本地打印、以及控制臺打印

(9) 下載器模塊:可以簡單的實(shí)現(xiàn)多線程下載、后臺下載、斷點(diǎn)續(xù)傳、對下載進(jìn)行控制、如開始、暫停、刪除等等。

(10) 網(wǎng)絡(luò)狀態(tài)檢測模塊:當(dāng)網(wǎng)絡(luò)狀態(tài)改變時(shí),對其進(jìn)行檢

6、LoonAndroid

項(xiàng)目地址:

主要有以下模塊:

(1) 自動(dòng)注入框架(只需要繼承框架內(nèi)的application既可)

(2) 圖片加載框架(多重緩存,自動(dòng)回收,最大限度保證內(nèi)存的安全性)

(3) 網(wǎng)絡(luò)請求模塊(繼承了基本上現(xiàn)在所有的http請求)

(4) eventbus(集成一個(gè)開源的框架)

(5) 驗(yàn)證框架(集成開源框架)

(6) json解析(支持解析成集合或者對象)

(7) 數(shù)據(jù)庫(不知道是哪位寫的 忘記了)

(8) 多線程斷點(diǎn)下載(自動(dòng)判斷是否支持多線程,判斷是否是重定向)

(9) 自動(dòng)更新模塊

(10) 一系列工具類

7、KJFrameForAndroid

項(xiàng)目地址:

github項(xiàng)目地址:

備用項(xiàng)目地址:

KJFrameForAndroid 又叫KJLibrary,是一個(gè)android的orm 和 ioc 框架。同時(shí)封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;

KJFrameForAndroid的設(shè)計(jì)思想是通過封裝Android原生SDK中復(fù)雜的復(fù)雜操作而達(dá)到簡化Android應(yīng)用級開發(fā),最終實(shí)現(xiàn)快速而又安全的開發(fā)APP。我們提倡用最少的代碼,完成最多的操作,用最高的效率,完成最復(fù)雜的功能。

同時(shí),KJFrameForAndroid是免費(fèi)的、開源的、簡易的、遵循Apache Licence 2.0開源協(xié)議發(fā)布的android應(yīng)用開發(fā)框架,總共分為五大模 塊:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。

8、AndroidAnnotations

xUtils是國內(nèi)比較火的快速開發(fā)框架,但是它的注解機(jī)制不是太穩(wěn)定而且注解可選也比較少,國外的一個(gè)框架主要專注于注解的開發(fā),簡化Android代碼編寫,它除了有依賴注入的特性以外,還集成了Ormlite,Spring-android中的REST模板。使用起來非常方便,大大提高了開發(fā)效率。

1.下載AndroidAnnotations:

git官網(wǎng):

項(xiàng)目中重要的兩個(gè)jar包分別是:androidannotations-api-3.0.1.jar和androidannotations-3.0.1.jar

2.新建一個(gè)android項(xiàng)目,然后將androidannotations-api-3.0.1.jar復(fù)制到libs目錄下,在項(xiàng)目的根目錄新建一個(gè)文件夾,命名為compile-libs,然后將androidannotations-3.0.1.jar復(fù)制到該目錄下

3.在你的工程上右鍵單擊,在彈出的菜單中選擇"Properties",找到Java Compiler,確保Compiler compliance level設(shè)置為1.6,否則的話處理器將不起作用

4.然后設(shè)置項(xiàng)目屬性:右鍵-Properties-Java Compiler-Annotation Processing 在該頁面選中Enable project specific settings。

5.轉(zhuǎn)到Java Compiler 中的 Annotation Processing 下邊的 Factory Path,在此將androidannotations-3.0.1.jar添加到其中。

注解1:@ViewById 與findViewById功能相似,如果ViewById后沒有設(shè)置資源ID的話,就是自動(dòng)查找與變量名稱相同的id資源。

注解2:@Click 點(diǎn)擊事件處理的注解。

注解3:@UiThread 后臺Ui線程的注解,省去了Handler等等。

注解4:@EActivity 提示Activity的注解,注意,該注解將Activity編譯成Activity_,注意,多一個(gè)下劃線“_”,因此在AndroidManifest.xml文件中需要將其添加下滑線

注解5:@AfterViews 是指View類注入完畢之后執(zhí)行的代碼。

android 五大應(yīng)用開發(fā)框架是什么?

1.Linux Kernel

2.Android Runtime

3.Libraries

4.Application Framework

5.Applications

andbase框架:

1.andbase中包含了大量的開發(fā)常用手段。

如網(wǎng)絡(luò)下載,多線程與線程池的管理,數(shù)據(jù)庫ORM,圖片緩存管理,圖片文件下載上傳,Http請求工具,常用工具類(字符串,日期,文件處理,圖片處理工具類等),能夠使您的應(yīng)用在團(tuán)隊(duì)開發(fā)中減少冗余代碼,很大的提高了代碼的維護(hù)性與開發(fā)高效性,能很好的規(guī)避由于開發(fā)疏忽而導(dǎo)致常犯的錯(cuò)誤。

2.andbase封裝了大量的常用控件。

如list分頁,下拉刷新,圖片輪播,表格,多線程下載器,側(cè)邊欄,圖片上傳,輪子選擇,圖表,Tab滑動(dòng),日歷選擇器等。

3.強(qiáng)大的AbActivity,您沒有理由不繼承它。

繼承它你能夠獲得一個(gè)簡單強(qiáng)大可設(shè)置的操作欄,以及一系列的簡單調(diào)用,如彈出框,提示框,進(jìn)度框,副操作欄等。

4.提供效率較高圖片緩存管理策略,使內(nèi)存大幅度節(jié)省,利用率提高,效率提高。

程序中要管理大量的圖片資源,andbase提供簡單的方法,幾步完成下載與顯示,并支持縮放,裁剪,緩存功能。

5.封裝了大量常見工具類。

包括日期,字符,文件,圖片等各種處理函數(shù), 多而全。

6.用andbase大量減少handler的使用,而采用回調(diào)函數(shù),代碼更整潔。

handler會產(chǎn)生大量代碼,并且不好維護(hù),andbase對handler進(jìn)行了封裝。

7.簡單輕量支持注解自動(dòng)建表的ORM框架(支持一/多對多的關(guān)聯(lián)操作)。

寫sql,建表,工作量大,andbase提供更傻瓜異步增刪改查工具類。

8.異步請求http框架,網(wǎng)絡(luò)請求標(biāo)準(zhǔn)化,支持文件上傳下載,get,post,進(jìn)度顯示。

android開發(fā)框架有哪些

1、Rajawali

介紹:

安卓的OpenGL ES 2.0/3.0 引擎??梢杂糜谥谱髌胀☉?yīng)用或者動(dòng)態(tài)壁紙,當(dāng)然也可以用于制作游戲。

項(xiàng)目地址:

2、RxAndroid

介紹:

RxAndroid是RxJava的一個(gè)針對Android平臺的擴(kuò)展。它包含了一些能夠簡化Android開發(fā)的工具。

項(xiàng)目地址:

3、Paginize

介紹:

Paginize 是一個(gè)輕量級的UI框架,使用注解來注入布局和view,除了使用注解之外,該框架還有兩個(gè)特色:1.用Page的概念來取代Fragment,2.切換page時(shí)自帶ios風(fēng)格的動(dòng)畫效果。

項(xiàng)目地址:

4、otto

介紹:

Otto 是square公司出的一個(gè)事件庫(pub/sub模式),用來簡化應(yīng)用程序組件之間的通訊。 Otto 修改自Google的Guava庫,專門為Android平臺進(jìn)行了優(yōu)化。

項(xiàng)目地址:

5 、rebound

介紹:

rebound是facebook的開源動(dòng)畫庫。可以認(rèn)為這個(gè)動(dòng)畫庫是獨(dú)立于android Framework之外的一種動(dòng)畫實(shí)現(xiàn)。

項(xiàng)目地址:

6、KJFrameForAndroid

介紹:

KJFrameForAndroid 又叫KJLibrary,是一個(gè)幫助快速開發(fā)的框架。使用KJFrameForAndroid,你可以只用一行代碼就完成http請求、網(wǎng)絡(luò)圖片加載、數(shù)據(jù)庫數(shù)據(jù)保存或讀取。

項(xiàng)目地址:

7、xUtils

介紹:

xUtils

包含了很多實(shí)用的android工具。 xUtils

支持大文件上傳,更全面的http請求協(xié)議支持(10種謂詞),擁有更加靈活的ORM,更多的事件注解支持且不受混淆影響... xUitls

最低兼容android 2.2 (api level 8)

項(xiàng)目地址:

目前xUtils主要有四大模塊:

DbUtils模塊:

android中的orm框架,一行代碼就可以進(jìn)行增刪改查;

支持事務(wù),默認(rèn)關(guān)閉;

可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時(shí)候請注解表名和列名);

支持綁定外鍵,保存實(shí)體時(shí)外鍵關(guān)聯(lián)實(shí)體自動(dòng)保存或更新;

自動(dòng)加載外鍵關(guān)聯(lián)實(shí)體,支持延時(shí)加載;

支持鏈?zhǔn)奖磉_(dá)查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。

ViewUtils模塊:

android中的ioc框架,完全注解方式就可以進(jìn)行UI,資源和事件綁定;

新的事件綁定方式,使用混淆工具混淆后仍可正常工作;

目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包c(diǎn)om.lidroid.xutils.view.annotation.event。

HttpUtils模塊:

支持同步,異步方式的請求;

支持大文件上傳,上傳大文件不會oom;

支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;

下載支持301/302重定向,支持設(shè)置是否根據(jù)Content-Disposition重命名下載的文件;

返回文本內(nèi)容的請求(默認(rèn)只啟用了GET請求)支持緩存,可設(shè)置默認(rèn)過期時(shí)間和針對當(dāng)前請求的過期時(shí)間。

BitmapUtils模塊:

加載bitmap的時(shí)候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象;

支持加載網(wǎng)絡(luò)圖片和本地圖片;

內(nèi)存管理使用lru算法,更好的管理bitmap內(nèi)存;

可配置線程加載線程數(shù)量,緩存大小,緩存路徑,加載顯示動(dòng)畫等...

8、butterknife-view

注入工具

介紹:

為了減少頻繁的調(diào)用findViewById(R.id...),可以采用一些注入框架,可以簡化自己的代碼,讓你更專注于實(shí)際的功能開發(fā),butterknife就是這樣的一個(gè)框架,他是jakewharton大神的作品,值得一試。

class ExampleActivity extends Activity {

@InjectView(R.id.title) TextView title;

@InjectView(R.id.subtitle) TextView subtitle;

@InjectView(R.id.footer) TextView footer;

@Override public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.simple_activity);

ButterKnife.inject(this);

// TODO Use "injected" views...

}

}

這是博客地址:

項(xiàng)目地址:

9、cube-sdk

一淘推出的開發(fā)框架

介紹:

cube一個(gè)Android開發(fā)包, 可極大提高你的開發(fā)效率。主要提供了圖片加載以及網(wǎng)絡(luò)請求方面的api功能。

項(xiàng)目地址:

他們的網(wǎng)站:

10、ASimpleCache

一個(gè)簡單的緩存框架

介紹:

ASimpleCache

是一個(gè)為android制定的 輕量級的 開源緩存框架。輕量到只有一個(gè)java文件(由十幾個(gè)類精簡而來)。

它可以緩存什么東西?普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java對象,和

byte數(shù)據(jù)。

項(xiàng)目地址:

11、androidannotations

介紹:

AndroidAnnotations是一個(gè)能夠讓你快速進(jìn)行Android開發(fā)的開源框架,它能讓你專注于真正重要的地方。

使代碼更加精簡,使項(xiàng)目更加容易維護(hù),它的目標(biāo)就是“Fast Android Development.Easy maintainance”。

通過一段時(shí)間的使用發(fā)現(xiàn),相比原生的Android開發(fā),確實(shí)能夠讓你少些很多代碼

項(xiàng)目地址:

12、Event Bus

解耦android模塊

介紹:

當(dāng)一個(gè)Android應(yīng)用功能越來越多的時(shí)候,保證應(yīng)用的各個(gè)部分之間高效的通信將變得越來越困難。如何優(yōu)雅地解決這個(gè)問題?這時(shí)候,就需要使用到EventBus。

EventBus是GreenRobot出品的Android系統(tǒng)的一個(gè)Event

Bus類庫,使用起來和之前我們所介紹的Square的Otto差不多,都是用來簡化應(yīng)用組件之間的通信。

項(xiàng)目地址:

13、BeeFramework_Android

介紹:

BeeFramework

Android版主要為Android初級開發(fā)人員提供一個(gè)基于MVC開發(fā)模式的APP DEMO,并提供一套APP內(nèi)調(diào)試工具,包括

查看網(wǎng)絡(luò)數(shù)據(jù)請求歷史 Crash Log列表 真機(jī)WIFI環(huán)境下模擬2G\3G網(wǎng)絡(luò) 查看APP性能(內(nèi)存占用,CPU占用等)

項(xiàng)目地址:

14、afinal

介紹:

Afinal是一個(gè)android的ioc,orm框架,內(nèi)置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity,我們可以通過注解的方式進(jìn)行綁定ui和事件。通過finalBitmap,我們可以方便的加載bitmap圖片,而無需考慮oom等問題。通過finalDB模塊,我們一行代碼就可以對android的sqlite數(shù)據(jù)庫進(jìn)行增刪改查。通過FinalHttp模塊,我們可以以ajax形式請求http數(shù)據(jù)。

Afinal里面目前包含了四大組件:

FinalHttp:用于請求http數(shù)據(jù),直接ajax方式請求,文件上傳, 斷點(diǎn)續(xù)傳下載文件等

FinalBitmap:用于顯示bitmap圖片,而無需考慮線程并發(fā)和oom等問題。

FinalActivity:完全可以通過注解方式綁定控件和事件,無需編寫代碼。

FinalDb:android中sqlite的orm框架,一行代碼搞定增刪改查。

Afinal是一個(gè)android的ioc,orm框架,內(nèi)置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity,我們可以通過注解的方式進(jìn)行綁定ui和事件。通過finalBitmap,我們可以方便的加載bitmap圖片,而無需考慮oom等問題。通過finalDB模塊,我們一行代碼就可以對android的sqlite數(shù)據(jù)庫進(jìn)行增刪改查。通過FinalHttp模塊,我們可以以ajax形式請求http數(shù)據(jù)。詳情請通過以下網(wǎng)址查看。

項(xiàng)目地址:

15、Volley

介紹:

在這之前,我們在程序中需要和網(wǎng)絡(luò)通信的時(shí)候,大體使用的東西莫過于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google

I/O 2013上,Volley發(fā)布了。Volley是Android平臺上的網(wǎng)絡(luò)通信庫,能使網(wǎng)絡(luò)通信更快,更簡單,更健壯。

項(xiàng)目地址:

文章名稱:android快速開發(fā)框架,android快速開發(fā)框架 輪子哥
網(wǎng)頁鏈接:http://muchs.cn/article46/phgjeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、動(dòng)態(tài)網(wǎng)站虛擬主機(jī)、網(wǎng)站設(shè)計(jì)、全網(wǎng)營銷推廣、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司