Android Studio試用總結

來源:互聯網
上載者:User

標籤:

Android Studio是一年前Google I/O上推出的一款Android開發IDE,他基於JetBrains’ IntelliJ IDEA,目前還在preview階段。增強了布局拖拽和預覽功能,使用了新的構建系統Gradle,增加了android相關的重構和quick fix功能。之前聽說用Android Studio來構建應用程式的時候會很方便,而且在學習常用Android開源項目的時候看到大部分都提供了對Android Studio的支援,所以就折騰了下,分享點經驗給大家。

大多數Android Studio嘗鮮者遇到的最大的障礙是Gradle,啟動的時候非常慢,他需要從Maven庫下東西,網路不穩定,這就坑了,不知道別人怎麼解決的,我是FQ搞的,光這一點就阻止了Android Studio大陸範圍內推廣,而且多人合作的時候同伴不一定習慣這個東西。網路的問題如果解決後,就需要瞭解Gradle的構建原理,這也需要費一番功夫的,去年GoogleI/O上有40分鐘的視頻來說明他是怎麼工作的,連結在這裡,講的很清楚,在Linkedin上查到主講人的頭銜是”Tech Lead for the Android SDK at Google”。

你可以建立一個HelloWorld工程感性的認識一下Android Studio的使用。你肯定會在這個過程拿他和Eclipse做對比,很可惜的是,他們的目錄結構不像AppCode和Xcode一樣目錄完全相容可以相互無縫替換,不能直接import對方的工程,雖然現在Eclipse提供了功能可以把現有項目匯出來再匯入到Android Studio中,但是這個過程並不是無痛的,也會有些小問題,很麻煩;反過來,要把Android Studio中的項目匯出來到Eclipse中,那就是純屬找事了。

Android Studio的項目包含一個或者多個Module,這裡的Module可以是Android應用,也可以是庫,一般來說,建立一個項目也自動會建立一個Module,編譯的時候就會編譯這個Module,產生需要的apk。當我們需要引入一個開源庫的時候怎麼辦呢?可以建立一個Module,選定類型為‘android-library’,然後讓主要的Module依賴於這個就行了(這個過程就像Eclipse上一樣,不同的項目可以有引用的關係)。然而Android Studio是在背後做了一些東西的,其實每個Module都有一個build.gradle檔案,用來描述這個Module構建時候需要的條件,整個項目也有一個build.gradle檔案,是所有Module構建時需要滿足的條件,最後項目還有個settings.gradle,記錄了項目裡面有哪些Module。你增減Module,修改依賴關係的時候,其實就是在修改這幾個檔案。

其實最方便的東西就是我接下來要說的,很多開源項目都應整合到了maven庫當中,我們可以很方便的把這些項目引用到自己的項目中,而不用再去github複製代碼再拷貝再配置了。我們拿下拉重新整理組件ActionBar-PullToRefresh為例,我們只需要在需要他的Module的build.gradle中dependencies裡添加一句話”compile ‘com.github.chrisbanes.actionbarpulltorefresh:library:+‘”就行了。Android Studio會自己去下載,方便不方便你動手試試就知道了。如果你不知道maven庫裡有沒有,可以在相應的Module上點擊右鍵,選擇“Open Module Setting”,找到dependencies選項卡,在下面點擊加號,選擇“Library Dependency”,然後搜一下就行,其實常用的android-async-http,ActionBarSherlock,Android-Universal-Image-Loader 等等都是有的,你不用再在git倉庫裡加一堆冗餘的代碼了,只需要在build.gradle增加一行就行,何樂而不為?

在平時開發Android應用的過程中,難免會用到android.support.v4.jar,一般的做法是把他從SDK放到項目的libs目錄下,避免別人拷貝代碼後不能編譯通過。然後在引用多個開源項目的時候,會發生版本不一衝突的情況,一般的做法是把衝突的jar包替換成同一個,但是在你不知道怎麼解決的時候產生的錯誤資訊是很令人沮喪的,幸運的是,在Android Studio中這種情況不會出現了,你只需要在對應Module的build.gradle的dependencies裡添加一句話就可以了“compile ‘com.android.support:support-v4:+’”,多個模組引用他的時候不會出現衝突。

說了這麼多Gradle相關的的,再說說IDE本身的一些優缺點吧:

啟動和編譯比較慢。我也不知道是什麼原因,用的mac,固態硬碟,按理說應該很嗨才對。每一次對build.gradle的更改都會產生Android Studio一個操作‘sync’,然後就產生介面就卡死了。這個算是bug吧,而且時不時會出現Internal Error,還好出現頻率可以接受。編譯也比較慢,那個”Tech Lead for the Android SDK”需要加把勁了。

介面好看。用過幾款Jetbrains的產品,介面還是挺舒服的,最然可用的只有兩套主題,之前用Eclipse的時候,我實在忍受不了介面上濃濃的java UI氣息,而且表徵圖還會有鋸齒邊緣。

方便的顏色選取器。在布局檔案中,比如你有用到android:background=”#ffffffff”,那麼在這一行的最左邊會出現一個框框,裡面就是白色的,你點擊這個白色框框,彈出一個對話方塊用來選擇顏色,十分直觀。

直接顯示資源內容。如果你有用到android:layout_width=”@dimen/image_width”,Android Studio會把image_width的值直接替換到引號裡面。

DDMS整合的不太好。開啟Android Monitor,赫然一個awt介面出現在眼前,毫無美感呀。但是基本的logcat,截屏,debug功能都是有的。

總體來說,Android Studio還是符合個人開發人員的需求的,我自己平時寫點小東西的話都用Android Studio,相信他會越來越好的,期待正式版出來的那一天。

ps:下次這種內容的東西考慮直接錄一個短視頻放過來,通篇文字不知道會不會有人煩:-D

Android Studio試用總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.