androididea
A. 怎樣用IDEA搭建Android開發環境
先決條件:
·你要在IntelliJ IDEA Ultimate 9版本或者以上
·還有就是要安裝JDK哦
·然後還要有Android SDK了,這是廢話,嘻嘻,我就用SDK2.2 FroYo好了
創建一個Project
讓我們開始程序了,首先創建為我們的程序project
選擇File->New Project,或者在歡迎頁面點擊創建一個新的Project
在New Project的首頁,要首先確定Create project from scratch選項選中
在接下來的頁面指定Project的名字,然後Create mole,在選擇框中選擇Android Mole作為項目的類型,然後給項目命名為android_hello_world
在第三個頁面選擇Create source directory選項,然後我們一般接受默認的src的名字
當你第一次給你的IDE創建Project的時候,還沒有為IDE配置JDKs(java SDKs),這也就是說IDE不知道本地的JDK目錄在哪裡,更別說如果你的電腦中安裝了好幾個版本的JDK了。在這種情況下IntelliJ IDEA可以讓你自己制定一個JDK到你的project了,點擊Configure按鈕並且通過文件列表指定自己的JSDK,如果找到了本地的JDK就可以點擊OK,這樣就可以添加一個JDK路徑到我們的project了,以後這個路徑就會成為IDE的默認的JDK路徑了,所有程序都可以使用了。
最後我們就要指定Android SDK與我們的IDE了,點擊New到SDK properties選擇一個應用程序要使用的Android platform。
進入選擇路徑對話框,然後指定到我們Android SDK的目錄
選擇完之後點擊OK,進入Select Android Build Target對話框,在這個對話框,我們可以指定我們的項目要使用的是那個版本的Android平台。
你選擇OK之後,接下來就是要選擇Android Platform,(1)是選擇列表,要是簡單的應用就選擇(2)Create "Hello,World!" project選擇框,這是接受默認的activity為MyActivity(3)
當你點擊Finish的時候IDEA幫我們自動生成了應用程序的目錄結構,接下來我們就一起看看他的結構吧
瀏覽一個Android應用程序
要瀏覽我們的程序我們要用到Project視圖工具來查看文件和文件夾,如下圖
|--.idea(1)這個文件夾中包含的是一系列的子文件夾,主要包含的是IntelliJ IDEA內部的信息。
|--src(2)這個文件夾中包含MyActivity.java(3)等應用程序用到的源文件,這些文件術語com.example包
|--res(4)這個文件夾中包含了用到的資源
|--layout/main.xml(5)這個文件夾中包含個各個頁面所用到的頁面的外觀
|--values(6)文件夾中有String.xml文件,主要用於項目所用到的字元串的定義,還有可以添加color.xml文件添加我們應用所用到的顏色。
|--drawable(7)包含項目的圖片資源
|--gen(8)這個文件夾包換R.java文件鏈接整個項目的所用到的資源文件。IntelliJ IDEA會幫助我們自動生成R.java使之緊密關聯我們的資源文件。只要你在項目中添加或者刪除資源都會自動重新生成R.java文件。R.java也屬於com.example包
為你的應用程序添加功能:
下邊用來介紹一個程序編寫的流程,首先打開我們的HelloWorld應用並且展開所有的目錄結構,打開我們的MyActivity.java(1),這里我們可以看到這個Activity所關聯的layout/main.xml文件定義其Activity的外觀。
現在,讓我們打開main.xml(3)文件,這里IntelliJ已經幫助我們列出了hello在res/values/strings.xml文件中的對應。
我們需要為我們的應用程序添加三件事,一個layout,一個string,一個color這些都是為了顯示。
添加String
在main.xml文件中在最後添加一個標簽<LinerLayout/>
Xml代碼
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/explanation"
/>
然後你會看到IntelliJ會紅色高亮顯示出來不能解析的代碼。
讓我們很高興的是你可以通過Alt+Enter自動修復錯誤(1),他會幫助你在strings.xml中添加你缺失的string配置。
IntelliJ幫我們添加我們沒有添加的string字元串。
應用程序描述都在這個string標簽里邊(<string/>)例如:
這個簡單的Android程序闡述了IntelliJ IDEA文件流在Android開發環境中的應用。
如果你打開R.java文件,你會發現IntelliJ IDEA已經將新的string字元串添加到string資源里了。
現在讓我們添加顏色字元串string_color資源定義好了。
在Project窗口雙擊一個在編譯窗口打開color.xml文件,添加「#」(1)開頭的十六進制的標識定義顏色資源到resources標簽之內,例如,#ff00ff77
IntelliJ IDEA幫我們提供了預處理添加制定顏色的操作(2)
添加顏色資源
現在讓我們開始定義顯示顏色的字元串,做這個之前讓我們先來創建color的資源文件用來定義string_color
在Project窗口的樹列中,你可以點擊values文件夾 (1) 選擇 New->Values resource file (2)。在New values resource file對話看中指定color並建立一個新的文件(3)。
點擊OK,IntelliJ IDEA就會幫我們建立一個新的文件:
現在,讓我們添加string_color資源定義。在Project視圖雙擊打開color.xml文件。.添加<resources />標簽,然後把color定義到里邊。
Xml代碼
<color name="string_color">以#開頭的十六進制</color>
在我的例子中顏色為#ff00ff77,就像你你看到的(1),IntelliJ IDEA在左邊區域給我們展示了你定義的顏色(2):
就像你猜的這些配置都自定的映射到R.java:
現在,讓我們應用剛才定義的string。在main.xml文件,尋找<TextView />標簽,並且添加屬性text:
Html代碼
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/explanation"
/>
上邊中通過應用使用配置的字元串:android:text="@string/explanation"
Xml代碼
android:textColor="@color/string_color"
上邊是怎麼使用顏色字元串
運行你的應用
在project的創建過程中,IntelliJ IDEA自動的生成了運行配置android_hello_world。要想馬上運行程序,我們只需要配置虛擬設備,或者直接使用手機,運行程序。
配置虛擬Android設備
從Run/Debug Configuration (1)下來列表選擇Edit Configurations。
IntelliJ IDEA打開Run/Debug Configurations對話框展示默認運行android_hello_world 設備的詳細信息配置 (1)。
點擊Browse按鈕接下來進入Prefer Android Virtual Device for Deployment下拉列表(2).在這里Select Android Virtual Device對話框,點擊Create:
在這Create Android Virtual Device 對話框打開接受以MyAvd0為名字的默認的設備(1):
當你點擊OK之後, IntelliJ IDEA讓你進入Select Android Virtual Device對話框,在這里你就可以看到你所定義的設備的列表了。
點擊OK保存配置然後返回Run/Debug Configurations對話框,進入Prefer Android Virtual Device for Deployment下拉列表中現在顯示你定義的emulator:
完成這些配置的定義之後點擊OK。
值得高興的是,你只需這樣配置一次,IDE會幫助記憶這些的。
運行程序
現在你做完了所有的工作了,讓我們launch我們的應用吧。
在工具欄點擊 (2)然後是Run/Debug Configuration(1)下拉列表選擇android_hello_world已經默認被選擇了。
IntelliJ IDEA launches 我們配置的 emulator:
接下來IDE展示Hello world應用然後顯示到屏幕
B. android開發,Android Studio和IDEA哪個更好用優勢在哪
AndroidStudio是一個Android集成開發環境,基於IntelliJIDEA。因此大體是在IntelliJIDEA的基礎上增加了一些對於Android開發的實用功能和一些對於使用者友好的處理。AndroidStudio提供了集成的Android開發工具用於開發和調試。
AndroidStudio與IntelliJIDEA差異:(在IDEA的基礎上,AndroidStudio提供)基於Gradle的構建支持。Android專屬的重構和快速修復。提示工具以捕獲性能、可用性、版本兼容性等問題。支持ProGuard和應用簽名。基於模板的向導來生成常用的Android應用設計和組件。功能強大的布局編輯器,可以讓你拖拉UI控制項並進行效果預覽。
總結:AndroidStudio是谷歌主導的未來的Android的開發主流,應盡快轉移到此IDE的使用和開發上。
C. Android Studio與其IntelliJ IDEA相比,其差異與利弊主要有哪些
首先是差異,IDEA是JetBrains公司推出的Java集成開發環境,分為免費社區版與收費旗艦版,據我所知這兩個版本的差異主要在對JavaEE開發的支持上,社區版貌似只支持JavaSE,Android,Groovy,Scale,收費版還支持JavaEE的開發,具體可查看官網上的差異說明,可以到IntelliJ IDEA 查看。下面是個官方截圖:
而Android Studio是基於IDEA Commutity Edition開發的,因為Community 版本不僅是免費的而且是開源的,請看下圖:
可以看出之前剛推出的studio1.0正式版是基於idea13開發的,而不是最新的idea14.
上面這些大概說清了這三者之間的差異了。
下面說一下利弊:
雖然Android Studio是基於IDEA開發的,但studio是一個純粹的Android開發環境,並不支持諸如Groovy,scale雖然IDEA社區版支持,但google已把它們剔除了,所以可能Studio支持的開發更少,貌似屬於弊的范疇吧(可我覺得這是優點,Android Studio就只做Android)。
再者,雖然IDEA 社區版也原生支持Android開發,但對於Android開發的支持上定不如Studio來的徹底,再加上經過Google兩年的開發studio已經進入了1.0的正式版時代,所以如果你做Android開發選studio就對了。(在Studio轉正之前idea應該是做Android開發的一個不錯的選擇,但現在不是了)。
最後總結一句,如果你是Android開發者就選擇studio吧,這是最佳選擇,而如果你不是那就選擇idea吧。
D. 為什麼我用idea使用安卓半天打不開
用idea使用安卓半天打不開是由於dea64exevmoptions文件中保留了之前版本的破戒配置,注釋或者刪除就可以了。解決idea打不開的方法如下。
1、找到idea64exevmoptions文件。
2、使用記事本打開idea64exevmoptions文件,注釋或者刪除以javaagent開頭的那一行代碼。
3、Ctrl加s保存即可。
E. android開發,Android Studio和IDEA哪個更好用優勢在哪
android studio可以說是google從idea上提取出來的,經過進一步優化,專門編寫安卓程序的ide這兩個我都用過,很明顯Android Studio在編寫安卓程序時更方便一點,也不會出現莫名其妙的錯誤。我在用idea是經常出現粗多莫名其妙的錯誤。如果你既要寫java,也要寫android,那你就用idea就行了,否則就用as吧~
F. idea和android沖突嗎
1.idea下使用
eclipse下有lint的插件,而且網上相關介紹非常多,但是idea的相關文檔就比較少。idea中已經支持android lint,如何使用呢?
在項目中點擊右鍵,在出現的右鍵菜單中有「Analyze」 --> 「run inspaction by Name ...」。在彈出的搜索窗口中輸入想執行的檢查類型,如「Unused Resources」。不必全部輸入就應該自動找到了,點擊後會彈出「inspaction scope」選擇窗口,選擇檢查的范圍,一般選擇整個項目或模塊。「inspaction scope」窗口下面還可以設置文件過濾,選擇好後點ok就開始檢查了。然後就可以根據檢查結果來去除重復的資源。
2.idea項目檢查不全問題。
對idea的android項目檢查是發現問題,不論是使用命令行還是idea自帶插件來檢查重復資源,根據結果可以發現檢查的並不全面,沒有檢查圖片資源。但是網上一些文檔卻很明確lint能檢查圖片資源,那麼問題出在哪裡?
其實就是idea的android項目結構的問題,idea創建的android項目built後會發現R.java等臨時文件裡面其實是空的,而對圖片資源檢查就需要基於R.java這個文件來檢查。那麼idea項目的真正的R.java文件在哪裡?
它的位置是「C:\Users\\.IntelliJIdea13\system\compile-server\\targets\java-proction\\android\generated_sources\aapt\\R.java」。
自己簡單研究了一下,找出了一個比較笨拙的解決方法。對命令行和idea,具體解決方法有些不同:
(1)命令行下。在項目下手的建立gen文件夾,在其下建立包名對應的文件夾,然後將R.java復制到下面。然後再使用lint來進行檢查就可以了。因為android默認的文件結構R.java文件是在gen下的,所以lint會去這個文件夾下找R.java文件。
(2)idea下。與命令行的方法類似,不過根據創建的項目類型的不同,R.java存在的文件夾也不同。比如maven項目會在「target\generated-sources\r」下(想知道本項目的R.java文件位置,可以在項目右鍵菜單「open moles setting」 --> "moles"中,選擇對應的模塊下的"Android",在右邊窗口中選擇「Generated Sources」選項卡,下面可以看到對應的設置,也可以對其進行修改。)。將R.java復制到對應的文件夾下替換空的R.java文件,然後在使用idea的lint來檢查就會檢查圖片資源了。
(3)idea maven下。用idea對android項目編譯,項目目錄下R.java是空的。但是用maven來編譯,會在目錄下生成完整的R.java文件,就可以直接lint了。如何maven編譯呢?首先項目是maven項目,然後在工具欄的運行選項那裡選擇「edit configurations」。在彈出的「run/debug configurations」窗口中點擊「+」添加一個maven項,在右欄中定義名字,然後在"command line"中填入「clean compile」。這樣就添加了一個運行選項,然後選擇新添的去run,就可以用maven來編譯項目了,這樣就會生成完整的R.java文件
G. IDEA調試android程序
一、修改AndroidStudio(以下簡稱AS)的內存配置因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m,可自行修改。二、配置AS的JDK、SDK在IDE中添加一個沒有classpath的JDK,這樣可以確保使用源碼里的庫文件並將其作為要使用的SDK的JavaSDK。三、生成導入AS所需配置文件(*.ipr)①編譯源碼(為了確保生成了.java文件,如R.java;如果編譯過,則無需再次編譯)②檢查out/host/linux-x86/framework/目錄下是否有idegen.jar如果idegen.jar不存在,執行:mmmdevelopment/tools/idegen/在5.0.1的源碼中會生成res.java的文件夾,導致idegen.jar運行時拋FileNotFoundException,這是idegen的代碼不夠嚴謹造成的。我的分享里有修改這個bug的patch,或者直接使用我分享的idegen.jar。③執行development/tools/idegen/idegen.sh等待出現類似下面的結果:Readexcludes:5msTraversedtree:44078ms這時會在源碼的根目錄下生成android.ipr和android.iml兩個IntelliJIDEA(AS是基於IntelliJIDEA社區版開發的)的配置文件Tips:AS在導入代碼時比較慢,建議先修改android.iml,將自己用不到的代碼exclude出去.可以仿照過濾.repo文件夾的語法,如:刪除掉所有不需要的mole-library項這樣在導入時就會跳過abi和art文件夾.過濾的越多,AS的處理速度就會越快.④在AS中打開源碼根目錄下新生成的android.ipr如果在導入時AS出現則建議按照其給定的解決方法來解決(網址:/display/IDEADEV/Inotify+Watches+Limit)四、解決源碼中跳轉錯誤問題①為當前工程設置正確的SDK和JDK②設置'Moles'的依賴先將所有依賴刪掉(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)點擊指向的'Jarsordirectories'選項,依次將frameworks和external文件夾添加進來.如:註:推薦把frameworks和external這兩個移到最上面,這樣在代碼跳轉時會優先從這兩個文件夾下查找,而不是在Android.jar中查找。其它版本的代碼在添加frameworks時可能會顯示成:沒有關系,只是顯示問題,點擊OK還是會把frameworks路徑添加進去的.如果還有代碼跳轉錯誤,請仿照上面的步驟將相應代碼的路徑或jar文件添加到其Dependencies標簽頁中即可.五、DEBUG源碼可以通過給剛導入的工程在'Moles'中添加'AndroidFramework'來讓AS將它作為一個Android工程,從而方便調試代碼.可以來添加AndroidFramework支持.在代碼中加斷點,然後選擇'Run'->''在彈出的選擇進程(ChooseProcess)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.六、其它代碼中很多地方提示CallrequiresAPILevelx.出現這個問題是因為AS將工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。也可以考慮使用build.gradle來解決該問題。
H. android IDEA 怎麼添加gradle框架
build.gradle//設置腳本的運行環境buildscript{//支持java依賴庫管理(maven/ivy),用於項目的依賴。repositories{mavenCentral()}//依賴包的定義。支持maven/ivy,遠程,本地庫,也支持單文件dependencies{classpath'com.android
I. Android Studio與其IntelliJ IDEA相比,其差異與利弊主要有哪些
首先想稍微解釋一下什麼叫做基於」Android Studio是基於IDEA開發的"
Intellij有一個非常強大的用XML描述插件系統,他可以在IDE的各個環節加上擴展,
比如歡迎界面,語言和構建系統的支持,菜單, etc
這些代碼以外部資源(jar)的方式載入進IDE,並不需要你去修改Intellij本身的代碼。
所以Android Studio最核心的部分就是一個Intellij插件(Android Support Plugin),那麼最初Android Studio和直接用Intellij + Android插件的區別就似乎就只是一些啟動flag的問題(比如說要有一個flag表明這是不是專門的android studio模式,導致歡迎界面有些不同)
但實際上的差別還是特別大的。
1. 基本功能上
首先intellij裡面的Android Support plugin落後Android Studio裡面的Plugin很多版本(有時候會有半年甚至半年以上的GAP),這是因為Intellij發布在先,之後Google才會跟進開發,等Android Studio發布了之後,Intellij那邊再把Google的plugin拿過去測試並發布
其次為了讓用戶體驗更好,在Android Studio模式下,插件會提供更定製化的界面,比如「模塊設置」等功能
另外Google發現很多外部插件和Android Plugin會有沖突,所以對外部插件的支持不是很積極。
2. 語言支持上
發行版的Android Studio其實包含了不止Android Support插件,還會包含NDK插件(支持C++的開發),這是Google花重金向Jetbrains購買的C++代碼分析和索引技術,這些技術之前只用在收費的Clion上面,現在雖然Google能讓大家能在Android Studio中也能免費用上。但單獨用免費的Intellij是沒有這個好處的。
之後也會有更多的功能因為各種限制不會放在Android Support插件中而只能使用Studio.
3. 軟體質量
需要對開發團隊強調的是,Android Studio比Intellj + Android插件要穩定很多
看過Intellij代碼的童鞋可能有感覺就是就是代碼注釋特別少,測試特別簡單
Google的開發觀念還是不太一樣的,所以Google在開發Android Studio的過程中加入了大量的單元和集成測試,但不幸的是這些測試都只是專門跑在Android Studio的模式下,很多測試已證實在Intellij模式下會掛掉,但這個google修理得確實不太積極:(
-> 雖然 2013 年的官方文檔說 AS 不是 idea 的 fork,但現在是 2016 年,二者的差別似乎不只因為配置不同了
UI上的不同,像我之前提到過,主要還是插件在不同模式下做的事情不同,而不是代碼fork的問題
Google的原則是盡量不fork,不過事實上也確實很難做到,比如Intellij的日誌診斷系統在Android Studio下面就被改掉了(不然bug report都發到jetbrain去了)。原因主要還是Intellij的插件系統還沒有非常完美,對此Google會嘗試交一些patch給Intellij,爭取之後能再改回來。
另外就是有時候Intellij也會fork Google的Android plugin的代碼,兩邊相互扯皮之事也時有發生。。。