標籤:

初使用 Android Studio ,體驗是不是很不好?

1、單是下載這個東西就得翻牆。

2、要裝那些 Android SDK 之類,還得翻牆。

3、Gradle 是很慢的,就算把它設置成 Offline 模式,運行一個簡單示例也得一分鐘。

4、處理各種 Support V4、V7 之類的兼容性問題很麻煩,也是初學者躲不開的問題。

5、Android Studio 、模擬器,一起開起來,很占內存。

6、官方文檔的學習曲線是比較陡的,沒有循序漸進地去安排。

總之就是現在每天啃官方文檔學 Android 開發比較痛苦。

各位有什麼同感或者異議?


1. 覺得翻牆麻煩不推薦開發 Android,甚至不推薦編程。不翻牆/只閱讀中文文檔 以後會遇到的坑還多著呢。

2. 同1

3. 可能是你網速比較慢;或者電腦的確應該換了,這個沒辦法的,至少用個 SSD。很多人說開發 Android 硬體成本低,開發機便宜測試機也便宜,其實不是。三四千塊的筆記本本來就不適合輕鬆愉悅的開發,最多最多是勉強夠用而已;而測試機,我也沒覺得比 iPhone 5/5s 便宜到哪裡去。

另外 Gradle 是很好用的工具,在 Gradle 之前各種依賴管理、打包才是慘不忍睹。

4. Support library 本來就是為了幫你簡化兼容性問題的,它讓你兼容低版本變得很簡單,而不是變得『麻煩』。

5. 沒辦法,Java 都占內存,升級電腦吧。另外強烈不推薦用 Eclipse,官方已經不支持了。

6. 推薦配合 Udacity 上的 Android 官方視頻教程來 How to Develop Android Apps Online Course 會簡單很多。

總的來說,Android 開發環境已經進步很多了,唯一需要解決的是你需要一個很好的硬體環境來支持它(網路、硬體)。


Android Studio不好用,那得看和哪個IDE比。要和Eclipse + ADT比,確實好了不少,你要拿它和Visual Studio比,那我只能呵呵了。

其實最關鍵的就是偉大的互聯網長城,如果網路順暢,使用Android Studio就不會那麼麻煩,還是相當不錯的,我現在己經不理Eclipse了。


我以前用慣了Eclipse換到as確實感覺不習慣。後來新開個項目,果斷將項目工程用as建立了,這樣不用as也得用了。學習了一下快捷鍵和常用的操作後發現果然比eclipse好用啊。更改習慣確實是個比較難受的過程,強迫自己用一個周你會發現自己喜歡上as的。


說白了主要就是牆嘛……題主炮轟的不僅僅是AS,而是Android開發。你要是不想被牆就去寫WP嘛,微軟的東西都沒被牆——然而這樣並沒有什麼卵用。

還是針對想學Android Studio的人說一點自己的學習經驗吧,畢竟前兩個月自己正在經歷這種事情。

首先,下載Android Studio何必翻牆,直接去Android Studio中文社區

Android Studio 中文社區官網:安卓開發環境搭建-Android SDK/JDK/Gradle-下載/安裝/升級/教程/漢化

裡面甚至包含了你需要的gradle入門教程

貌似裡面還有SDK的下載?我下載SDK時不知道這個網站有,在CSDN下載的別人打包好的鏡像。

另外要多加利用搜索引擎。網上的博客很多,世界上並不是只有知乎這一個網站,AS的教程網上一大把,那我推薦幾個我學習時看的博客和視頻吧。

stormzhang博客精華

Android Studio安裝以及Fetching android sdk component information超時的解決方案

hyr83960944的專欄

零基礎Android學習路徑圖

最後虛擬器用genymotion吧,速度簡直不能更快。

genymotion中文官網_genymotion下載_genymotion安卓模擬器

具體的配置方式看這裡

http://www.open-open.com/lib/view/open1418604288089.html

==================================================

補充:

看題主應該是初學Android,在此之前沒有接觸過eclipse,在學習Android Studio開發Android之前最好看一下Android Studio在工程文件夾設置中與Eclipse的異同,這樣看書本教材會更加方便。

在哪裡找這些博文呢?我上面推薦的幾個博客都通過不同的側重點講了。

最後推薦我看過覺得不錯的兩本書。

《第一行代碼——Android》

第一行代碼 (豆瓣)

《瘋狂Android講義》

瘋狂Android講義 (豆瓣)

前者適合當入門書,後者適合當進階書。《第一行代碼》是項目驅動由淺入深的,但是講的比較淺並不系統化,在AS上實現書中代碼的時候也會有一點點的小錯誤。《瘋狂Android講義》講的很系統,可惜內容不分難度層次講解,初學Android看這本書會很懷疑人生。

如果只是想隨便接觸一下Android,混個大作業,看第一本就夠了。如果想系統學習,以後從事這一行業的話,建議看第二本。個人感覺,李剛在書中講的的一些工程思想對工程師的成長很有幫助。


你遇到的問題我都碰到過,但是我仍然對as情有獨鍾,真心好用! 你需要解決的問題:

1.升級硬體,ssd、8g+內存必不可少;

2.買vpn,一年vpn也才百十來塊錢,真的不貴,有了vpn你可以任意訪問google文檔、google團隊博客、安卓大牛博客,更新sdk那叫一個快!

3.gradle學習曲線確實陡峭,但是遇到問題也不要煩,google一下基本能解決,還有啊,有前兩條支持,你說的構建緩慢問題基本可以解決。

4.v4兼容性很麻煩??這點完全沒覺得。


本文羅列出了Android Studio有用的提示、技巧、快捷方式和參考資源,提高整體效率和操作性能。

顯然,還有很多優化、快捷方式,但為了保持這篇文章的簡短,限制為50個。

本文以MacOS X操作Android Studio為例,與Windows / Linux不一致的地方已經標註。

一、可視化

1、Android
Logcat的材料顏色主題(Material Colors theme)

要更改Android Studio Logcat,您需要依次點擊:Preferences → Editor → Colors
Fonts → Android Logcat,然後更改每種類型日誌的前景顏色。

注意,此處Perferences在Windows / Linux 是Settings。

2、防止Android Studio Logcat崩潰,應清除當前應用程序的日誌。

要做到這一點,您需要到Android Monitor面板在右側下拉列表中選擇Edit filter configuration。

3、將您的IDE(IntelliJ / Android Studio)應用正確的代碼樣式。

依次點擊Preferences → Code Style → Java,在Scheme下拉列表中選擇您的代碼樣式(或設置一個新的代碼樣式)。

有2款風格特別值得一提:

Square Java Code Styles with Android

Google Java Code Style

4. 使用分屏可提高效率。

要打開此功能,需要在主屏幕的選項卡上單擊滑鼠右鍵,然後選擇Split Vertically / Horizontally 。

但為了儘可能高效,我們需要設置一個自定義鍵盤的快捷方式。要做到這一點,依次點擊Preferences → Keymap 並找到Split Vertically。然後打開上下文菜單並單擊 Add Keyboard Shortcut。

5、無干擾模式(Distraction Free Mode)

可以依次點擊: View → Enter Distraction Free Mode來開啟無干擾模式。

在無干擾模式下,編輯器佔用整個IntelliJ IDEA框架,而沒有任何編輯器選項卡和工具按鈕,代碼按中心對齊。[IntelliJ
Idea查看模式]

6. 使用活動模板

可以使用快捷方式:cmd + j(Windows / Linux:ctrl + j)。

可以使用許多已定義的模板,像Toasts 或if條件。

可以使用自己的自定義模板。

還可以參考IntelliJ IDEA文檔。

二、快捷方式和有用的命令

1.最好的、最有用的命令是Search for command:

cmd + shift + a (Windows / Linux:ctrl +
shift + a)。

當你想關閉當前選項卡,不知道該怎麼辦時,只需鍵入:close你會得到一個正確的快捷方式/命令。

2.從最近的複製/粘貼中選擇(管理剪貼簿):

cmd + shift + v(Windows / Linux:ctrl + shift
+ v)。

默認情況下,最後有5個複製/粘貼項目。

剪貼板堆棧的深度在「設置」對話框的「編輯器」頁面的「限制」部分中配置。超過指定的數量時,將從列表中刪除最早的條目。 [在IntelliJ IDEA中剪切,複製和粘貼]

3.啟用多游標(multicursor)功能:

control + g(Windows / Linux:alt + j)。

有關此功能的詳細文章由Bartek Lipinski在Medium網站提供。強烈推薦!

4.Open a class:

cmd + o (Windows / Linux:ctrl + n)。

5.Open any file:

cmd + shift + o (Windows / Linux:ctrl +
shift + n)。

6.Open symbol :

cmd + option + o (Windows / Linux:alt +
shift + n)。

7.Go to implementation:

cmd + option + b (Windows / Linux:ctrl + alt
+ b)。

假設有一個界面,通過單擊介面的名稱,然後單擊Go to implementation的快捷方式,將被重定向到實現該介面的類。

8.Go to declaration:

cmd + b (Windows / Linux:ctrl + b)。

它允許快速檢查並轉到類、方法或變數的聲明。

9.Go to type declaration:

control + shift + b(Windows / Linux:ctrl +
shift + b)。

假設如此定義:

Employee employee = new Employee(「Michal」);

當你插入符號employee並單擊快捷方式時,將會被重定向到Employee類。

10.Go to super:

cmd + u(Windows / Linux:ctrl + u)。

例如,重寫一些方法。當你在方法名稱插入符號,並單擊轉到Go to super快捷方式,將被重定向到父方法。

11.Move between tabs:

cmd + shift + [ 或 cmd + shift + ] (Windows /
Linux:alt + ← / →)。

12.Move between Design /
Text tabs in layout
』s view:

control + shift + ← / →(Windows / Linux:alt + shift + ← / →)。

13.Close a current tab:

cmd + w(Windows / Linux:ctrl + shift + a)。

14.Hide all windows:

cmd + shift + F12 (Windows /
Linux:ctrl + shift + F12)。

15.Minimize Android Studio
instance:

cmd + m(Windows / Linux:ctrl + m)。

16.Format your code:

cmd + option + l (Windows / Linux:ctrl + alt
+ l)。

17.Auto-indent lines:

control + option + i (Windows / Linux:ctrl +
alt + i)。

18.Implement methods:

control + i (Windows / Linux:ctrl + i)。

假設實現了一個介面,然後只需單擊此快捷方式,即可快速導入該界面提供的所有方法。

19.Smart code completion(按期望類型過濾方法和變數的列表):

control + shift + space (Windows / Linux:ctrl
+ shift + space)。

20.Find:

cmd + f(Windows / Linux: ctrl + f)。

21.Find and replace:

cmd + r(Windows / Linux: ctrl + r)。

22.Move hardcoded strings
to resources:

option + return (Windows / Linux: alt +
enter)。

當在文本上使用插入符號時,必須使用快捷方式。

如果在全局使用該快捷方式,IDE將執行Project快速修復(Project
quick fix)(顯示意圖操作和快速修復)。

23.Build and run:

control + r (Windows / Linux: shift + F10)。

三、插件

Key promoter——幫助您更頻繁地使用鍵盤的插件。

String Manipulation——一個為文本操作提供操作的插件(例如,切換樣式,如camelCase、連字元-小寫等、大寫文本等還有很多)。

Android Material Design
Icon Generator
——此插件可幫助您將Material Design圖標設置為Android項目。安裝後,您可以使用快捷方式:cmd + shift + m以生成圖標(默認)。

ButterKnifeZelezny——一個簡單的插件,允許一鍵點擊創建Butterknife視圖注入。

IntelliJ/Android Studio
Plugin for Android Parcelable boilerplate code generation
——一個基於類中的欄位生成Android Parcelable實現的插件。

ADB Idea——一個幫助和自動執行adb命令的插件:卸載、殺死、啟動、重新啟動、清除應用程序和清除應用程序數據並重新啟動它。

Genymotion plugin——此插件允許您從Android
Studio創建和啟動Genymotion虛擬設備。

Android Methods Count——一個解析您的Android庫所依賴的插件,並顯示方法計數作為方便的提示。

Git Flow Integration——一個用於引入Git
Flow分支模型的插件。

Builder plugin——一個插件(從Square)生成一個類的靜態嵌套Builder。

四、資源

Philippe Breault

《當代Android Studio秘訣》

《鍵盤快捷方式參考》

Reto Meier

《在Android Studio中你可能不知道能做的十件事》

Hadi Hariri

《無滑鼠驅策開發》

Philippe Breault:

《像老闆一樣的Android Studio》

《Android Studio 專家 (Android 開發峰會 2015)》

Michael Evans

《Android Studio 秘訣和技巧》

《遇見Android Studio》

Donn Felker

《Android Studio——秘訣和技巧》

《用Android Studio調試你的App》

________________________________

以上內容參考開源中國社區(http://oschina.net):

Android 開發人員必知的50個秘訣、技巧和資源

另,最近開源中國旗下碼雲團隊招聘開始啦。

如果你是銷售精英,年薪點開下面鏈接看,小開怎麼會在知乎談錢【傲嬌臉】。

詳情打開:恆拓開源北京總部_職位搜索_智聯招聘


不是體驗不好,而是你已經習慣了你熟悉的開發工具!

不要拿你以前的經驗去對待新的開發工具,否則你會覺得它永遠比你熟悉的工具體驗不好.


安卓開發連翻牆都不會是難以想像的,不想掛VPN的話,改改hosts文件也是可以的。


那考慮一下 android-sdk + vim + ctags + ant/make 方案吧,沒有比這個更快的了。Gradle 確實不爽,要是換 Gulp 就好了。


樓主用不用as和樓主開不開發android有幾毛錢的關係??as不就是個ide嗎,它比eclipse好就一定要用它?無非就是個工具而已,無非就讓我們更省事一點? 他能比eclipse多教你一點編程思想?看到你們回復樓主,怎麼就感覺用as比用eclipse有優越感似的。我有一個同學在一個電商公司的一個部門,從來不用ide,代碼都是一行一行敲的。那你們說我該鄙視他還是膜拜他?樓主只是抱怨一下,有必要建造一個ide的鄙視鏈嗎,自己寫的代碼是一坨狗屎, 你的as能把他變成一個香饃饃?樓主可能剛學,幹嘛不像某樓一樣給點指導給點建議,來那麼一句 不翻牆就別寫代碼了,不用as就別開發android了。搞笑嘛,代碼最講邏輯,來來,你說說你說這麼句話的邏輯在哪。

憤青了。。。。就當那啥了吧。。


慢就先不說了.額,有時候這種慢是致命的,慢到死,慢到要啟用任務管理器來關閉.

快捷鍵不方便,比如重要的代碼提示和關文件.

界面比較混亂.

文件系統把簡單的搞複雜化了,眼花繚亂.對項目資源不太好管理,一次只能打開一個項目.在eclipse,項目是任我擺布,到了as,我是被項目搞來搞去.

網上對android studio的吹捧似乎都如出一轍,缺乏生命力,好像是機器人般的千篇一律的聲音

無非就是界面漂亮,漂不漂亮這是個人看法好不好,我就覺得ducula好難看.一片烏漆摸黑.找不著北.還有說提示強大,它那提示按鍵都不好使,只能回刪等他出現.要不就是慢慢打生怕打快了錯過提示.也有說管理好,一次打開一個---這,你確定要說是個優點嗎.至於中間字提示這個優勢確實是個優勢.(其實eclipse也可以通過*號模糊查詢)

界面改動是比較大,但是漂亮我就不敢苟同了.

其實很多人就是跟風,怕別人嘲笑自己out,或者為了裝得自己比較前衛具有發現的眼光,所以也傻傻地跟著起鬨,又或者有的寫手為了賺取點擊量而毫無節操地吹捧,就怕你們無動於衷.殊不知無形中不知是被自己催眠了還是被谷歌催眠了,eclipse是開源的免費的,是孤兒,而android studio是含著金鑰匙出生豪門,有著個IT巨頭超級富豪的老爸為它撐腰貼金推廣造勢.為的就是要奪取平台新天下.

其實我想說的是:為什麼大家都不敢說android studio 垃圾,而是一片的吹噓拍馬的聲音,這本身就不正常.

我的態度是,既然現在兩個都可以用,何不按自己習慣繼續用著eclipse呢,假如以後eclipse敗給android studio了,用不了了再用也不遲啊,轉換個開發工具也要不了多久時間,而且那時候就沒有這些選擇的困難與矛盾了.事實上,安卓平台會不會衰落還是個熱門話題呢,搞不好安卓都沒了,誰還關心android studio呢.但是據我的估計,安卓不至於強大到完全淘汰eclipse而達到一統天下的局面.

對於想用android studio的人來說,我表示鼓勵,你們是擁抱新事物的人,儘管去嘗試就好;

而對於不想用的人來說,完全不用有壓力,如果eclipse killed android studio,那正好,如果反之,那說明你所使用的安卓技術在IT界的權重上升了,也不失為一件好事~


其實是這樣。

As就和Object C 一樣。屬於專門噁心你的設計。

谷歌通過學習蘋果。強制開發者學習一種不常用的技術。增大學習曲線。同時通過不斷的升級噁心你。

糾其原因。是因為安卓屬於偽開源。表面上是開源。其實完全由一家公司控制。因此他們沒有合作的必要。事實上。通過更加噁心開發者。谷歌可以對安卓系統產生更強的控制。因為安卓得學習曲線越陡峭。那麼安卓的程序員就越難以掌握別的技術。

所有誇as好的。我估計多半也就會個as了。除了安卓啥也不會寫。這不叫程序員。這叫安卓員。

而培養大量的職業安卓員。這本身就是谷歌所樂意看到的。因此它會越來越奇怪。越來越噁心人。因為這對於它來說是有利的。


389273716/android-skill-summary

上面有不少AS的配置資料,也有一些常規錯誤的解決方案。遇到問題在stackoverflow可以搜到解決方案,大部分gradle編譯錯誤別人早就處理過了。不要畏懼,一個新事物需要學習過程的。等哪天熟練了,你又會覺得ec渣了。。。一定要保持對新事物的虛心接受、學習,這樣對於職業發展有益處。想要脫穎而出,就必須接受新技術和工具的衝擊。守著一畝田地不改進,混吃等死不適合干程序。兄台,加油吧!


初次接觸 AS,翻牆神馬的都不是什麼大問題,我就想問問同步更新一個工程有那麼困難嗎,用了 7天,尼瑪一大半時間以上都是在折騰各種同步更新,不是gradle同步出問題,就是xml出問題,要不就是工程找不到,更搞笑的是一會正常一會兒不正常:

提示AndroidManifest.xml錯誤,不能rebuild,clean再build也不行:

"orientation|keyboardHidden|navigation">

我特么就搞不懂了,我一整行的內容,你截取了一半然後告訴我錯誤,還特么不說怎麼錯了,裝B欺負我新人呢!我研究了半個小時,xml解析器都上了也沒看出來哪出問題了,一氣之下 我狂點rebuild,搞笑的是不知道刷了多少次 竟然rebuild成功了,意外的都是驚喜啊,謝你全家啊!

出現下面的問題你懵B不:

Gradle "proj.android-studio" project refresh failed

Error:Configuration with name "default" not found.

看到這個你會怎麼做,我特么grep整個工程去找 default也沒找到!!!(%¥#×此處省略1W字)

有時候修改了配置文件,不重啟AS跟本不行,這尼瑪用的,真是死去活來的


才從Eclipse轉到AS的表示,AS確實比eclipse好用,無論是視覺觀感還是代碼提示。

不過AS的Debugger是不是有bug啊, 經常單步之後debug窗口就變成空白.按鈕都變成灰色了...讓人一頭霧水,只能重新運行。不知道有沒有人遇到和我一樣困擾的


我回答一下吧,剛轉過來的時候確實很噁心,比如右邊那一堆堆的顏色塊,有點色弱真的礙眼,學著就關閉了lint一些unused提示,比如eclipse的ctrl shift 還是alt加g,學著就會了~~~手機難編輯英文,先佔位~~優點很快,1.1到1.2的進步更大,看右邊那裡~~要吐槽的是編譯速度←_←


雖然大家說得都很有道理,但我還是很煩惱啊。很煩惱。

學習一個示例,建個項目,打個代碼,也不複雜,從九點半耐心等到十點,還木有運行起來。

Gralde 到底是幹啥呢?怎麼動不動就看它轟隆轟隆運行半天?

我這會兒兒正在裝 IDEA ,看看它的安卓開發環境是不是要簡潔明快一點兒。

畢竟我只是個初學者,我需要簡潔明快地運行示例,其它的太多的都不用考慮。

---------------------------------------

IDEA 的功能木有 Android Studio 強大隻管。被迫再用回 Android Studio ,只是不開模擬器了,直接用手機測試,想著能少佔點兒內存。


你現在遇到的問題跟以後開發遇到的問題比,就根本不是啥問題了~


之前嘗試的時候連官方教程都會報奇怪的錯誤,簡直坑啊。


1.不會翻牆寫毛代碼啊。

2.同上。

3.你只看見了 gradle 的慢但是沒看見 gradle 在包管理、部署、發布等各方面的優勢。

4.同上。

5.同樓上,模擬器開 genymotion,效率問題沒太好的辦法解決。

6.官方的 Training 是好東西,全吃透了至少算是中級工程師級別。


推薦閱讀:

學習軟體編程應該從哪裡學起?
網易雲音樂 Android 客戶端底部的播放欄是怎麼做到在各個頁面存在的?
Swift(相關構架) vs Xamarin, 那個會成為真正的廣泛接受的跨平台開發構架?
如何理解android mvp模式中的interactor?
為什麼 Android 中安裝在 SD 卡上的應用無法添加 Widget?

TAG:Android開發 |