1. 怎樣開發一個andriod應用
開發環境
android應用層使用的開發語言是java,自然需要用到Java運行環境,無論你在Window是系統還是Mac系統都需要安裝JDK,並且配置它的環境變數,不懂什麼叫環境變數的或者不知道怎麼配的,請利用好自己的網路技能自行學習。
JDK下載
開發工具
開發工具,Android因為歷史原因,前面很長一段時間使用的是Eclipse,我們要開發Android應用的時候需要另外安裝Google為它開發的插件ADT,Eclipse這個開源軟體很優秀,也很專業,但僅僅只是使用它來開發Android就顯得有點雞肋了,如果沒有對Eclipse進行優化的話,會很卡很卡,後面Google實在不願意寄人籬下,就專門為我們開發者開發了目前很受廣大開發者推崇的Android Studio,現在2.0預覽版也出來啦,大夥趕緊去下吧。
Android studio
模擬器
Android自帶的模擬器一直廣受詬病,實在是太卡太慢了,對比人家IOS模擬器是那麼的流暢,Android開發者直喊好苦逼啊,不過還好後面出了第三方比原生流暢n倍的模擬器Genymotion,大家可以去下一個個人版的夠你平時開發測試用了。最好的辦法還是使用真機測試,畢竟真機才是真實的環境。
Genymotion
Android核心基礎
前面是准備工作,想開發一款Android app,你最起碼要掌握Android的核心基礎知識,針對初學Android的童鞋,想一口吃掉一個胖子是不可能的,還是得把基礎打牢之後才能完成獨立的開發,Android入門不難,學完基礎你只是具備開發app的基本條件,想做一個優秀的app還有很長一段路要走,經驗是靠不斷實踐堆出來的,找一套系統的課程去認真學習一下,在線教育的資源很多,比如慕課網,極客學院都有很多不錯的學習資源,童鞋自己擇優來學習即可。
產品開發流程
正常的互聯網開發app的流程大致如下:
產品規劃,定產品方向
需求調研,產出需求文檔
需求評審,修訂需求文檔
產品狗畫app線框圖提供給射雞師
射雞師根據線框圖設計視覺稿
程序猿根據視覺稿搭建UI框架
程序猿根據需求文檔開發功能
測試媛編寫測試用例,根據排期進行測試
程序猿修復回歸測試反饋的bug,提交beta版
測試通過,提交給運營喵發布到渠道上線
上面是筆者的經驗總結,可能有不太准確的地方,但大致整個流程是這樣,我們開發者要清楚自己在整個產品中充當的角色,明白自己的工作職責即可。
快速搭建項目
Android比沒有想像那麼難,只是剛開始要學習的東西多,一下子消化不了才會比較茫然,筆者寫這篇博客就是想幫助大家整理一下開發思路。
快速搭建項目也算是一項技能,而這項技能只能由你自己來完善,剛開始做開發的時候一定會有很多重復性的工作,如果沒有意識去提高自己的開發效率的話,可能你的十年工作經驗代表的只是一年的經驗用了十年而已。
那要怎麼做,筆者提供一個自己總結的,僅供參考:
定開發規范
搭建UI框架
選用開發庫集成(或自造輪子)
第三方服務集成(視情況而定)
定開發規范
一個項目一般不會只有一個人獨立開發,就算是獨立開發,我們也應該定一下開發規范,一般會有什麼樣的規范?
命名規范
代碼規范
代碼管理規范
命名規范
命名規范包括:
項目命名
包命名
類命名、成員變數命名
資源文件命名
我們做每一個產品都會有相應的命名,不要用中文來命名,最好用能表達中文意思的英文來表示,例如CSDN客戶端,可以用CSDNClient作為命名,我們創建項目的時候可以以它作為Application name。
代碼規范
代碼規范視語言而定,開發android使用的是Java,自然要按照Java的編碼規范進行編碼,比如命名採用駝峰命名法,編碼的時候也要符合Android的開發規范,比如UI線程不做任何耗時的操作,像網路請求、資料庫操作都需要放到子線程中去做,只有UI的刷新才在UI線程中做,像這些規范,可以根據自身在項目遇到的問題來定,定規范的好處就是減少踩坑的幾率,提高開發的質量。
代碼管理
對於一個經常更新迭代的產品,不可能由頭到尾不變,這個時候我們需要對代碼進行分支管理,最好使用git代碼倉庫對代碼進行管理,作為一個合格的開發者連git都不用實在說不過去,還用svn的童鞋趕緊放棄它投入git的懷抱,它的好處是不言而喻的,自己去體會。
搭建UI框架
搭建UI框架需要我們根據產品的導航模式來設計,市場上常用的導航模式有如下圖幾種:
app導航
我們的app如果不出意外一定是其中的一種導航模式,一般線框圖出來我們就應該知道即將要開發的app長什麼樣子,開發者不必等視覺稿和素材出來才開始動工,我們先大致搭個架子,等視覺稿出來之後我們再做調整。
選用開發庫
一般我們app涉及到的庫會有:
UI框架(比如下拉刷新PullToRefresh、側滑菜單Slidingmenu)
網路請求庫(比如okhtttp、AndroidAsyncHttp、Volley)
數據操作庫(比如GreenDao、Ormlite)
圖片緩存框架(比如Universal-Imageloader)
數據解析庫(比如Gson)
之所以要選用這些庫,肯定是為了避免重復造輪子,在開發效率的角度來說,選用優秀的開源庫能大大縮短開發周期和提高開發效率,但從個人提升角度來看的話,我們可能就成了一個只會用API的程序猿了,如果想提升的話,造輪子或者分析這些優秀的源代碼是一個不錯的途徑。
第三方服務集成
我們開發app的時候,肯定會遇到一些需求,比如推送的需求、自動升級、數據統計、社會化分享、用戶反饋等等,然而對於一個剛起步的企業或者個人開發者的話,全都要自己去開發的話,那豈不是累死,像推送這種有一定的技術門檻,能做好都能成立一家公司了,所以選用一些第三方服務是一個可選之舉。如果說你以後做大了,用第三方怕不好控制,那就自己做唄,有錢任性招兵買馬就自己做,誰叫咱有錢呢。
前面這些東西開發一個app夠了,開發出來能不能用還得有靠譜的測試,有沒有crash,操作流不流暢,體驗好不好才會有用戶去用。這里不從產品的角度去評判一個app的好與壞,程序員要考慮的是從代碼層面、性能層面去讓我們的app變得更好。
打包上線
前面的開發環節、測試環節都沒問題之後,你離實現一個app的完整開發就不遠了,正常的互聯網公司,會把簽名打包的apk給到運營,交給他們去寫文案,上傳到應用渠道,讓渠道給我們去首發和推廣。如果是個人開發者,這些工作就得我們自己做了。
2. 做Android開發 需要掌握哪些知識
Android開發是基於Linux平台,在java基礎之上,用來開發手機APP的一門編程語言
判斷是否可以從事安卓開發的相關工作,可以從以下三個方面思考:
1,Android基礎階段:平台架構特性(JAVA/C) Market/應用程序組件 環境搭建與部署/打包與發布 AVD/DDMS/AAPT 調試與測試 。
2,Android進階初級:組件Widget/ 菜單Menu/ 布局Layout 詳解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL資料庫原理。
3,Android進階高級:藍牙/WIFI SMS/MMS 應用實現 深層次解析GPS原理。
實現LocationManager/LocationProvider 進行定位/跟蹤/查找/趨近警告以及Geocoder正逆向編解碼等技術細節 2D圖形庫(Graphics/View)詳解 SDCARD/感測器/手勢 應用實現
如果自身實力還不到位的話,可以點 擊 頭 像 試 聽 課 程了解一下,專業的事要由專業的人來做。
3. 怎麼快速開發android程序
市場上有很多低代碼開發平台,想要快速開發app,除了使用快速開發平台外,還可以使用類原生的VCN中文編程,快速開發app、小程序以及其他工具。直接將app功能組件進行拖拽並修改屬性,模塊化開發,兩三天就能開發一款app。由於採用的是中文+原生擴展,還可以直接將中文代碼轉譯成原生開發語言,使開發的應用更加安全和專業。
4. Android應用程序開發的內容簡介
Android介紹
Android 有豐富的功能,因此很容易與桌面操作系統混淆。Android 是一個分層的環境,構建在 Linux 內核的基礎上,它包括豐富的功能。
Android應用程序作用
提供多種連接選項,包括 WiFi、藍牙和通過蜂窩(cellular)連接的無線數據傳輸(例如 GPRS、EDGE 和 3G)。
提供對基於位置的服務(例如GPS)和加速計的支持,不過並不是所有的 Android 設備都配備了必需的硬體,另外還有攝像、地圖支持。
提供對 2D 和 3D 圖形的內置支持,包括 OpenGL庫,解決了圖形方面的挑戰。
所需工具
開始開發 Android 應用程序的最簡捷的方式是下載 Android SDK 和 Eclipse IDE。
可以在 Microsoft®、 Windows®、Mac OS X 或 Linux 上進行。
Android應用程序是用 Java 語言編寫的,但是是在 Dalvik VM(非 Java 虛擬機)中編譯和執行的。
5. Android應用開發需要具備哪些知識
l 熟練運用Android下的自定義控制項。
l 熟練掌握Android系統架構,對Android的各個層次的開發有一定的認識。
l 熟練掌握android下的XML,JSON,HTML的解析,熟練掌握各種數據的存儲方式,能使用MVC獨立開發客戶端程序,熟悉安卓下的GPS定位。
l 熟悉android 的JNI 開發,通過JNI實現JAVA與C/C++程序間的調用及回調。
l 熟練掌握UI設計、常用布局、動畫特效。熟悉安卓下的消息推送機制原理。
l 熟悉Android下的安全機制。如獲取系統最高許可權使得不能停止服務,利用守護進程保護服務不被停止,清理內存等。
l 熟悉Android下網路通信機,對Socket通信、TCP、Http有較深刻的了解和經驗。
l 熟練應用Mysql,SQLServer,及安卓下的SQLite資料庫操作及編碼。
l 熟練掌握HTML,DIV/CSS,熟悉JavaScript/Ajax/jquery能實現靜態頁面的開發。
l 了解HTML5,了解PhoneGAP框架,WebSevice。
熟練使用Eclipse/Myeclipse,CVS/SVN/GIT等開發工具, 對數據結構有深入了解,有C/C++基礎
當然你java基礎也必須要好 演算法什麼的
6. 安卓開發需要學什麼
安卓開發需要學:
一、應用程序
Android以Java為編程語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類負責創建視窗,一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。
二、中介軟體
操作系統與應用程序的溝通橋梁,並用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。
三、硬體抽像層
Android 的 HAL(硬體抽像層)是能以封閉源碼形式提供硬體驅動模塊。HAL
的目的是為了把 Android framework 與 Linux kernel 隔開。
讓 Android 不至過度依賴 Linux
kernel,以達成 kernel independent 的概念,也讓 Android framework
的開發能在不考量驅動程序實現的前提下進行發展。
四、編程語言
Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持。
包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。
五、安全控制
目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Managemeat),程序管理(Process Management),網路堆棧(Network Stack),驅動程序模型等。
下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。
參考資料來源:網路—android開發
7. 安卓系統下如何開發應用程序
1、在自己的手機桌面上,直接點擊打開所安裝的C4droid。
8. android 五大應用開發框架是什麼
android應用開發框架是 Application Framework,其系統架構由5部分組成,分別是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。
1、Linux Kernel (Linux內核)
Android基於Linux 2.6提供核心系統服務,例如:安全、內存管理、進程管理、網路 堆棧、驅動模型。Linux Kernel也作為硬體和軟體之間的抽象層,它隱藏具體硬體細節而為上層提供統一的服務。
2、Android Runtime (運行庫)
Android包含一個核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個Android應用程序是Dalvik虛擬機中的實例,運行在他們自己的進程中。
Dalvik虛擬機設計成,在一個設備可以高效地運行多個虛擬機。Dalvik虛擬機可執行文件格式是.dex,dex格式是專為Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統。 大多數虛擬機包括JVM都是基於棧的,而Dalvik虛擬機則是基於寄存器的。
3、Libraries (程序庫)
Android包含一個C/C++庫的集合,供Android系統的各個組件使用。這些功能通過Android的應用程序框架(application framework)暴露給開發者。
4、Application Framework (應用框架層)
通過提供開放的開發平台,Android使開發者能夠編制極其豐富和新穎的應用程序。開發者可以自由地利用設備硬體優勢、訪問位置信息、運行後台服務、設置鬧鍾、向狀態欄添加通知等等,很多很多。 開發者可以完全使用核心應用程序所使用的框架APIs。
應用程序的體系結構旨在簡化組件的重用,任何應用程序都能發布他的功能且任何其他應用程序可以使用這些功能(需要服從框架執行的安全限制)。這一機制允許用戶替換組件。
5、Applications(應用層)
Android裝配一個核心應用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯系人和其他設置。所有應用程序都是用Java編程語言寫的。Android本身是一套軟體堆迭(Software Stack),或稱為「軟體迭層架構」,迭層主要分成三層:操作系統、中間件、應用程序。
(8)Android應用開發擴展閱讀
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
隱藏在每個應用後面的是一系列的服務和系統,其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序,它包括列表(lists),網格(grids),文本框(textBoxes),按鈕(buttons),甚至可嵌入的web瀏覽器。
內容提供器(ContentProviders)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據
資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字元串,圖形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得應用程序可以在狀態欄中顯示自定義的提示信息。
活動管理器(ActivityManager)用來管理應用程序生命周期並提供常用的導航回退功能。
9. android app開發中常用到哪些開源框架
在前面的課程中,隨著對Android體系的了解,已經可以進行正常的Android應用開發了。在Android開發中,同其他工程開發一樣,也經常使用一些提高效率的框架,本文我們做一個對比。這些框架,既包括:網路請求框架、也包括圖片載入庫框架、還包括資料庫操作等一些框架,總之,了解和熟悉這些框架,會對自己的開發效率有很大的提升和幫助。
網路請求框架
1、okHttp
在前文的學習中,我們已經了解過okHttp,是一個常用的網路載入庫。
2、Retrofit
介紹
Retrofit是一個很不錯的網路請求庫,該庫是square開源的另外一個庫,之前的okhttp也是該公司開源的。
Retrofit是基於OkHttp封裝的RESTful網路請求框架,使用註解的方式配置請求。優點是速度快,使用註解,callback函數返回結果自動包裝成Java對象。官方自己的介紹說:
A type-safe REST client for Android and Java
該網路框架在github上的地址如下:https://square.github.io/retrofit/
要求
Retrofit支持的http方式方式包括 GET/POST/PUT/DELETE/HEAD/PATCH,Retrofit要求Java的版本是1.8+,Android應用的API版本應該在21+。
依賴
使用Retrofit庫,和其他庫一樣,首先需要設置依賴,依然是在build.gradle文件中設置依賴:
//添加retrofit庫依賴
implementation 『com.squareup.retrofit2:retrofit:2.1.0』
//添加gson轉換器
implementation 『com.squareup.retrofit2:converter-gson:2.1.0』
使用
通過一個例子,我們可以來演示該框架的使用步驟:
1、定義請求介面,即程序中都需要什麼請求操作
public interface HttpServices {
/**
獲取頭條新聞
@param type 新聞類型
@param key apiKey
@return
*/
@GET(「toutiao/index」)
Call getNewsList(@Query(「type」) String type, @Query(「key」) String key);
}
2、實例化Retrofit對象,使用的Builder的模式創建,如下代碼所示:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.BASE_API)
.addConverterFactory(GsonConverterFactory.create())
.build();
注意,這里設置結構體轉換器,是可以直接把網路請求回來的數據轉換為Java結構體,這里設置的Gson解析器,因此要引入相應的轉換器支持庫。
3、得到介面對象,自己創建的全局的介面對象,並調用相應的介面,得到一個類似於請求Call對象。如下所示:
HttpServices httpServices = retrofit.create(HttpServices.class);
Call newsListCall = httpServices.getNewsList(「top」, Constants.API_KEY);
4、加入到請求隊列中,並設置回調方法:
newsListCall.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
//網路請求成功的回調方法
List list = Arrays.asList(response.body().result.data);
Log.i(「TAG」, 「請求成功:」 + String.valueOf(list.size()));
NewListAdapter adapter = new NewListAdapter(RetrofitActivity.this);
adapter.setmData(list);
mRecyclerView.setAdapter(adapter);
}
@Override
public void onFailure(Call call, Throwable throwable) {
//網路請求失敗的回調方法
Log.i(「TAG」, 「請求失敗:」 + throwable.getMessage());
}
});
其他界面操作和之前的Android中的內容一致。
3、RxJava
簡單來說,用來處理事件和非同步任務,在很多語言上都有實現,RxJava是Rx在Java上的實現。
原理
RxJava最基本的原理是基於觀察者模式來實現的。通過Obserable和Observer的機制,實現所謂響應式的編程體驗。
特點
RxJava在編程中的實現就是一種鏈式調用,做了哪些操作,誰在前誰在後非常直觀,邏輯清晰,代碼維護起來非常輕松。
RxJava也是一個在github上的庫,githubhttp://www.xingkongmj.com/news/id/62.html地址如下:https://github.com/ReactiveX/RxJava
基於此,還有一個RxAndroid,github地址如下:https://github.com/ReactiveX/RxAndroid
RxJava和RxAndroid的關系
RxAndroid是RxJava的一個針對Android平台的擴展,主要用於 Android 開發。
基本概念
RxJava 有四個基本概念:
Observable:可觀察者,即被觀察者Observer:觀察者subscribe:訂閱事件
這四個概念之間的邏輯關系是:Observable和Observer通過subscribe方法實現訂閱關系,從而Observable可以在需要的時候發出事件來通知Observer。
事件
RxJava 的事件回調方法主要包含以下幾個:
onNext:普通的事件onCompletedhttp://dachang.net/432717.html:事件隊列完結。RxJava 不僅把每個事件單獨處理,還會把它們看做一個隊列。RxJava 規定,當不會再有新的 onNext 發出時,需要觸發 onCompleted 方法作為標志。:事件隊列異常。在事件處理過程中出異常時, 會被觸發,同時隊列自動終止,不再允許再有事件發出。在一個正確運行的事件序列中, onCompleted和 有且只有一個,並且是事件序列中的最後一個。需要注意的是,onCompleted() 和 () 二者也是互斥的,即在隊列中調用了其中一個,就不應該再調用另一個。
資料庫操作框架
在開發時,本地資料庫可以起到緩存數據和存儲業務數據的作用,隨著技術的成熟,不斷推出了有很多關於資料庫的操作框架。比較常見的資料庫操作框架有諸如:GreenDao,OrmLite 和 ActiveAndroid,DBFlow等。
GreenDAO
GreenDAO是一個開源的 Android ORM(「對象/關系映射」),通過 ORM(稱為「對象/關系映射」),在我們資料庫開發過程中節省了開發時間!
GreenDao的官方文檔地址如下:http://www.xingkongmj.com/news/id/63.html
GreenDao的作用
通過 GreenDao,我們可以更快速的操作資料庫,我們可以使用簡單的面相對象的API來存儲,更新,刪除和查詢 Java 對象。這款資料庫操作框架的特點是:
高性能,在官方的統計數據中,GreenDao在GreenDao,OrmLite 和 ActiveAndroid三個框架中,讀、寫、更新操作效率均表現第一。易於使用的強大 API,涵蓋關系和連接。內存消耗較小。安全:greenDAO 支持 SQLCipherhttp://www.xingkongmj.com/news/id/64.html,以確保用戶的數據安全;
核心概念
GreenDao 的核心類有三個:分別是:
DaoMaster:保存資料庫對象(SQLiteDatabase)並管理特定模式的 DAO 類(而不是對象)。它有靜態方法來創建表或刪除它們。它的內部類 OpenHelper 和DevOpenHelper 是 SQLiteOpenHelper 實現,它們在 SQLite 資料庫中創建模式。DaoSession:管理特定模式的所有可用 DAO 對象,您可以使用其中一個getter方法獲取該對象。DaoSession 還提供了一些通用的持久性方法,如實體的插入,載入,更新,刷新和刪除。XXXDao:數據訪問對象(DAO)持久存在並查詢實體。對於每個實體,greenDAO 生成DAO。它具有比 DaoSession 更多的持久性方法。Entities:可持久化對象。通常, 實體對象代表一個資料庫行使用標准 Java 屬性(如一個POJO 或 JavaBean )。
使用
按照官方的文檔和github上的說明可以實現green的使用。
首先進行的是依賴,對於greenDao,有兩個地方需要設置,分別是項目根目錄中的 build.gradle,還有mole中的build.gradle。
classpath 『org.greenrobot:green-gradle-plugin:3.3.0』 // add plugin
在項目根目錄中的build.gradle目錄中寫這句話的意思是添加greenDao的插件。
在項目mole中的build.gradle中也需要進行配置,有兩個地方需要設置,如下圖所示:
apply plugin: 『org.greenrobot.greenhttp://www.xingkongmj.com/news/id/66.html』 //開頭加入該代碼
dependences{
implementation 『org.greenrobot:green:3.2.0』
}
然後就可以使用了。
bean實體
可以在項目中創建自己業務需要的實體類,並通過註解來設置是實體類,欄位約束等內容。然後點擊Android Studio中的Make mole,即可自動生成XXXDao代碼,以此來方便開發者的操作。生成的XXXDao類,不可修改和編輯,是自動生成的。
ORMLite
ORMLite框架是另外一款Android開發中可以使用的資料庫操作框架。該框架的文檔地址如下:https://ormlite.com/sqlite_java_android_orm.shtml
該框架的文檔准備的不是特別友好,此處不再贅述。
總結,所有的框架原理幾乎都相差不大,只是操作有所差異。
視圖注入框架
在Android項目開發過程中,有太多的頁面需要布局完成,同時在代碼中需要些大量的findviewbyid的操作,來實現控制項的解析。於是就有人想能否輕松一些,解放雙手節省時間,干一些其他有意義的事情,於是ButterKnife就來了。
ButterKnife是一個專注於Android系統的View注入框架,可以減少大量的findViewById以及setOnClickListener代碼,可視化一鍵生成。
該項目在github上的地址如下:http://www.xingkongmj.com/news/id/65.html
這個框架的優勢也非常明顯:
強大的View綁定和Click事件處理功能,簡化代碼,提升開發效率方便的處理Adapter里的ViewHolder綁定問題運行時不會影響APP效率,使用配置方便代碼清晰,可讀性強
使用
首先是設置依賴,在build.gradlehttp://dachang.net/432714.html中進行依賴設置:
implementation 『com.jakewharton:butterknife:10.2.1』
annotationProcessor 『com.jakewharton:butterknife-compiler:10.2.1』
需要注意,該框架要求Java環境1.8版本以上,SDK版本在26以上,因此在使用到的mole中的build.graldle文件中,還必須添加如下代碼配置:
apply plugin: 『com.jakewharton.butterknife』
android{
//…
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
//…
}
另外,還必須在項目根目錄中的build.gradle文件中,添加該框架的插件,如下圖所示:
dependences{
classpath 『com.jakewharton:butterknife-gradle-plugin:10.2.1』
}
然後即可在代碼中進行使用了。
在使用該框架的頁面進行綁定諸如,如下所示代碼:
ButterKnife.bind( this) ;
主要的功能
@BindView():控制項id 註解,解放雙手,不用再每個控制項都寫一遍findviewById@BindViews():多個控制項id 的註解,括弧內使用花括弧包括多個id即可,中間用,分割開在Fragment中使用,綁定Fragment。@BindString():綁定字元串@BindArray:綁定數組@BindBitmap:綁定bitmap資源@OnClick、@OnLongClick:綁定點擊事件和長按事件…還有很多
插件安裝
如果是頁面很復雜,一個一個寫BindView也很費勁,在Android Studio中,可以安裝一個ButterKnife的插件,安裝該插件後,可以在Studio中直接將對應的布局中的所有控制項均給自動生成。
注意,在進行自動生成時,滑鼠要放在布局文件上。
注意事項
ButterKnife框架在使用時,要求的版本比較高,包括Java的版本也有限制。因此,如果計劃在項目中使用,要提前做好預備工作,以防止對已有項目和業務帶來不必要的麻煩,反而影響工作進度。
10. android開發 需要學習什麼
Android開發簡單來說,就是在安卓系統的手機上製作APP,現在安卓手機市場份額大,對人才的需求也是很高的
Android開發,需要掌握以下知識:
android以java為基礎的,所以前提要學好Java基礎知識,比如基本類型、集合等。
android api,學習基本的Activity、service、intent等基本的知識,可以開發一些界面。
計算機網路基本知識。
Linux命令、C編程基礎、Android Java編程、Google Android Linux操作系統具體操作等
課 工 場的Android開發教學系統非常完備,如果有這方面的學習需求,可以點 擊 頭 像試聽課程了解一下。