千夏軟件(買粉絲.qianxx.買粉絲)認為,目前框架使用的主要都是開源框架,都可以在github上找到:
1、volley,項目
2、android-async-買粉絲 項目
3、Afinal框架 項目
4、xUtils框架 項目
5、ThinkAndroid 項目
6、LoonAndroid 項目
主要有以下模塊:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片加載框架(多重緩存,自動回收,最大限度保證內存的安全性)
(3) 網絡請求模塊(繼承了基本上現在所有的買粉絲請求)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 數據庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
(9) 自動更新模塊
(10) 一系列工具類
Android開發框架介紹
編輯文檔
學分 +2
開發框架方面包含基本的應用功能開發、數據存儲、網絡訪問這三大塊:
一、應用方面
一般而言一個標準的Android程序由如下4部分組成即Activity、Broadcast Intent Receiver、Service、Content Provider: 1. Activity是最頻繁、最基本的模塊,在Android中,一個Activity就是手機上一屏,相當于一個網頁一樣,所不同的是,每個Activity運行結束了,有個返回值,類似一個函數一樣。Android系統會自動記錄從首頁到其他頁面的所有跳轉記錄并且自動將以前的Activity壓入系統堆棧,用戶可以通過編程的方式刪除歷史堆棧中的Activity Instance。
Activity類中主要是跟界面資源文件關聯起來(res/layout目錄下的xml資源,也可以不含任何界面資源),內部包含控件的顯示設計、界面交互設計、事件的響應設計以及數據處理設計、導航設計等application設計的方方面面。 2. Broadcast Intent Receiver
Intent提供了各種不同Activity進行跳轉的機制,譬如如果從A activity跳轉到B activity,使用Intent來實現如下: Intent in = new Intent(A.this, B.class); startActivity(in);
BroadcastReceiver提供了各種不同的Android應用程序進行進行進程間通訊的機制,譬如當電話呼叫來臨時,可以通過BroadcastReceiver發布廣播消息。對于用戶而言,BroadcastReceiver是不透明的,用戶無法看到這個事件,BroadcastReceiver通過NotificationManager來通知用戶這些事件發生了,它既可以在資源AndroidManifest.xml中注冊,也可以在代碼中通過Context.registerReceiver()進行注冊,只要是注冊了,當事件來臨的時候,即時程序沒有啟動,系統也在需要的時候會自動啟動此應用程序;另外各應用程序很方便地通過Context.sendBroadcast()將自己的事情廣播給其他應用程序;
3. Service,跟Windows當中的Service完全是一個概念,用戶可以通過startService(Intent service)啟動一個Service,也可通過Context.bindService來綁定一個Service.
4. Content Provider,由于Android應用程序內部的數據都是私有的,Content Provider提供了應用程序之間數據交換的機制,一個程序可以通過實現一個ContentProvider的抽象接口將自己的數據暴露出去,并且隱蔽了具體的數據存儲實現,標準的ContentProvider提供了基本的CRUD(Create,Read,Update,Delete)的接口,并且實現了權限機制,保護了數據交互的安全性; 一個標準的Android應用程序的工程文件包含如下幾大部分: -> Java源代碼部分(包含Activity),都在src目錄當中;
-> R.java文件,這個文件是Eclipse自動生成與維護的,開發者不需要修改,提供了Android對的資源全局索引; -> Android Library,這個是應用運行的Android庫;
-> assets目錄,這個目錄里面主要用與放置多媒體等一些文件;
-> res目錄,放置的是資源文件,跟VC中的資源目錄基本類似,其中的drawable包含的是圖片文件,layout里面包含的是布局文件,values目錄里面主要包含的是字符串(strings.xml)、顏色(買粉絲lors.xml)以及數組(arrays.xml)資源;
-> AndroidManifest.xml,這個文件異常重要,是整個應用的配置文件,在這個文件中,需要聲明所有用到的Activity、Service、Receiver等。
開源框架推薦:
網絡
* [ok買粉絲](square/ok買粉絲 · GitHub)
* [android-async-買粉絲](loopj/android-async-買粉絲 · GitHub)
事件總線
* [otto](square/otto · GitHub)
* [EventBus](greenrobot/EventBus · GitHub)
依賴注入
* [Dagger](square/dagger · GitHub)
* [RoboGuice](roboguice/roboguice · GitHub)
* [ButterKnife](JakeWharton/butterknife · GitHub)
圖片
* [Fres買粉絲](facebook/fres買粉絲 · GitHub)
* [Glide](bumptech/glide · GitHub)
* [picasso](square/picasso · GitHub)
數據庫
* [greenDao](greenrobot/greenDAO · GitHub)
* [ormlite](j256/ormlite-android · GitHub)
* [LitePal](LitePalFramework/LitePal · GitHub)
響應式編程
* [RxJava](ReactiveX/RxJava · GitHub)
* [RxAndroid](ReactiveX/RxAndroid: RxJava bindings for An...)
日志輸出
* [logger](orhanobut/logger: Simple, pretty and powerf...)
* [android-CLog](liaohuqiu/android-CLog)
* [KLog](ZhaoKaiQiang/KLog · GitHub)
* [LogUtils](pengwei1024/LogUtils · GitHub)
崩潰統計平臺
* [騰訊bugly](騰訊Bugly - Android Crash(崩潰)_iOS Crash(崩潰)_ANR_卡頓)
* [Crittercism](Crittercism - Developer Home)
* [Crashlytics](The most powerful, yet lightest weight crash reporting solution for iOS and Android
developers.)
架構設計
這個肯定得了解下MVC,MVP,MVVM還有設計模式這些,這里有幾個開源項目推薦下
philm
Movie 買粉絲llection and information app for Android.
Github地址:chrisbanes/philm: Movie 買粉絲llection and info...
SimpleNews
基于Material Design和MVP的新聞客戶端
Github地址:GitHub - liuling07/SimpleNews: 基于Material Design和MVP的新聞客戶端
GankDaily
A application show technical information every working days, use MVP pattern.
Github地址:maoruibin/GankDaily
SimplifyReader
Github地址:GitHub - SkillCollege/SimplifyReader: 一款基于Google Material Design設計開發的Android客戶端,包括新聞簡讀,圖片瀏覽,視頻爽看 ,音樂輕聽以及二維碼掃描五個子模塊。
NBAPlus
Github地址:SilenceDut/NBAPlus · GitHub
PhotoNoter
Github地址:yydct/PhotoNoter
Mei
Github地址:drakeet/Mei: gank.io unofficial client, RxJava & Retrofit
DebugDrawer
Android Debug Drawer for faster development
Github地址:palaima/DebugDrawer · GitHub
ViewServer
Local server for Android's HierarchyViewer
Github地址:romainguy/ViewServer · GitHub
AndroidWiFiADB
IntelliJ/AndroidStudio plugin which provides a button to 買粉絲nnect your Android device over WiFi to install, run and debug your applications without a USB 買粉絲nnected.
2024-07-19 16:47
2024-07-19 16:28
2024-07-19 16:12
2024-07-19 15:28
2024-07-19 15:12
2024-07-19 15:08