初使用 Android Studio ,體驗是不是很不好?
1、單是下載這個東西就得翻牆。
2、要裝那些 Android SDK 之類,還得翻牆。3、Gradle 是很慢的,就算把它設置成 Offline 模式,運行一個簡單示例也得一分鐘。4、處理各種 Support V4、V7 之類的兼容性問題很麻煩,也是初學者躲不開的問題。5、Android Studio 、模擬器,一起開起來,很占內存。6、官方文檔的學習曲線是比較陡的,沒有循序漸進地去安排。
總之就是現在每天啃官方文檔學 Android 開發比較痛苦。各位有什麼同感或者異議?
1. 覺得翻牆麻煩不推薦開發 Android,甚至不推薦編程。不翻牆/只閱讀中文文檔 以後會遇到的坑還多著呢。
2. 同13. 可能是你網速比較慢;或者電腦的確應該換了,這個沒辦法的,至少用個 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 failedError: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開發 |