Android Studio 簡(jiǎn)單介紹和使用問題小結(jié)

原文地址:Android Studio 簡(jiǎn)單介紹和使用問題小結(jié)

Google在2013的I/O開發(fā)者大會(huì)上引入的該開發(fā)工具「准簦現(xiàn)在已經(jīng)更新到了0.5.8版本∪糁現(xiàn)在github的很多項(xiàng)目都使用了Android Studio開發(fā)眼耀,所以如果你還用Eclipse较雕,就需要把整個(gè)項(xiàng)目拆分结执,然后在工程中include依賴包次氨,是非常費(fèi)事的蔽介,有時(shí)候弄了半天還不一定能成功導(dǎo)入。而且Android開發(fā)者工具的未來的趨勢(shì)一定也是轉(zhuǎn)向Android Studio煮寡。介于種種原因虹蓄,不得不學(xué)習(xí)使用Android Studio,Android Studio的項(xiàng)目管理使用了Gradle,所以你需要對(duì)Gradle進(jìn)行簡(jiǎn)單的理解幸撕,可以到官網(wǎng)去看下薇组。Gradle官網(wǎng)http://www.gradle.org因?yàn)锳ndroid 是在IntelliJ IDEA的基礎(chǔ)上開發(fā)的,所以可以參考IntelliJ IDEA 的官方幫助地址http://www.jetbrains.com/idea/webhelp/getting-help.html簡(jiǎn)單引入一些概念:(有些是來自個(gè)人的官方翻譯有些是copy過來的)Android Studio 建立系統(tǒng)工具包你用來生成坐儿,測(cè)試律胀,運(yùn)行您的應(yīng)用程序和軟件包宋光。構(gòu)建系統(tǒng)是獨(dú)立于AndroidStudio,所以你可以通過AndroidStudio或從命令行調(diào)用它炭菌。在你寫你的應(yīng)用程序罪佳,你可以使用編譯系統(tǒng)的特點(diǎn):定制,配置黑低,和擴(kuò)展的建立過程赘艳。為您的應(yīng)用程序使用同一項(xiàng)目的不同特點(diǎn),創(chuàng)建多個(gè)應(yīng)用程序克握。重用代碼和資源第练。AndroidStudio構(gòu)建系統(tǒng)由Gradle構(gòu)成。Gradle是一種高級(jí)的構(gòu)建工具玛荞,用于管理依賴性娇掏,允許你定義自定義構(gòu)建邏輯。Android插件工具并不依賴于Android Studio勋眯,雖然Android Studio由它完全集成婴梧。Gradle的配置包含以下方面 構(gòu)建變量構(gòu)建系統(tǒng)可以根據(jù)不同的配置為同一個(gè)項(xiàng)目生成多個(gè)APK。當(dāng)你想建立不同版本的應(yīng)用程序客蹋,而不必為每個(gè)人單獨(dú)的項(xiàng)目塞蹭,這是很有用的。 依賴關(guān)系構(gòu)建系統(tǒng)管理項(xiàng)目的依賴讶坯,并從本地文件系統(tǒng)和遠(yuǎn)程存儲(chǔ)庫(kù)支持的依賴番电。這可以防止你不必搜索,下載和復(fù)制二進(jìn)制包為你的依賴到你的項(xiàng)目目錄辆琅。 清單條目構(gòu)建系統(tǒng)使您可以指定的值在生成配置清單文件中的某些元素漱办。這些新的值將覆蓋在manifest文件中的現(xiàn)有值。如果你想生成多個(gè)的APK為您的項(xiàng)目中婉烟,他們每個(gè)人都有不同的包名娩井,最小的SDK版本,或目標(biāo)SDK版本似袁,這是很有用的洞辣。 簽名構(gòu)建系統(tǒng)使您可以指定生成配置簽名設(shè)置,它可以在生成過程中簽署您的APK昙衅。ProGuard構(gòu)建系統(tǒng)使您可以指定一個(gè)不同的 ProGuard的規(guī)則文件的每個(gè)版本變量扬霜。構(gòu)建系統(tǒng)可以運(yùn)行ProGuard的生成過程來混淆你的類。 測(cè)試構(gòu)建系統(tǒng)生成的項(xiàng)目中的測(cè)試源測(cè)試??APK而涉,所以你不必創(chuàng)建一個(gè)單獨(dú)的測(cè)試項(xiàng)目著瓶。構(gòu)建系統(tǒng)可以在生成過程中運(yùn)行測(cè)試。Gradle構(gòu)建文件使用Groovy的語(yǔ)法婴谱。Groovy是一種動(dòng)態(tài)語(yǔ)言蟹但,你可以用它來 ??定義自定義生成邏輯躯泰,并與Android的插件Gradle提供了Android特有的元素進(jìn)行交互。按照慣例建立 Android Studio生成系統(tǒng)假定合理的默認(rèn)值的項(xiàng)目結(jié)構(gòu)和其他編譯選項(xiàng)华糖。 如果您的項(xiàng)目符合這些約定麦向,你的Gradle構(gòu)建文件是很簡(jiǎn)單的。當(dāng)一些這些公約并不適用于你的項(xiàng)目,使您可以配置生成過程的幾乎每一個(gè)方面客叉。 例如诵竭,如果您的項(xiàng)目的源位于比默認(rèn)值不同的目錄,你可以在構(gòu)建文件中指定此位置兼搏。項(xiàng)目和模塊? 一個(gè)項(xiàng)目代表一個(gè)完整的Android應(yīng)用程序卵慰。Android Studio項(xiàng)目包含一個(gè)或多個(gè)module 。一個(gè)module 是您的應(yīng)用程序的獨(dú)立組件佛呻, 你可以構(gòu)建裳朋,測(cè)試或調(diào)試。module 包含您的應(yīng)用程序的源代碼和資源吓著。Android的Studio項(xiàng)目包含三種模塊:Java庫(kù)模塊 包含可重用的代碼鲤嫡。構(gòu)建系統(tǒng)生成一個(gè)JAR包的Java庫(kù)模塊。Android庫(kù)模塊 包含可重復(fù)使用的Android特有的代碼和資源绑莺。構(gòu)建系統(tǒng)產(chǎn)生AAR(安卓歸檔)包庫(kù)模塊暖眼。Android應(yīng)用程序模塊 包含應(yīng)用程序代碼,并可能依賴于庫(kù)模塊纺裁,雖然很多Android應(yīng)用程序只包含一個(gè)應(yīng)用程序的模塊诫肠。構(gòu)建系統(tǒng)生成APK包,為應(yīng)用模塊欺缘。Dependencies 依賴關(guān)系A(chǔ)ndroid Studio生成系統(tǒng)管理項(xiàng)目的依賴和支持模塊依賴關(guān)系栋豫,局部二進(jìn)制依賴,以及遠(yuǎn)程二進(jìn)制依賴浪南。模塊依賴關(guān)系一個(gè)項(xiàng)目模塊可以在構(gòu)建文件中包括的其它模塊的列表它依賴于笼才。當(dāng)你建立這個(gè)模塊,構(gòu)建系統(tǒng)組裝络凿,包括所需要的模塊。本地依賴性如果你有二進(jìn)制存檔在你的本地文件系統(tǒng)中的一個(gè)模塊依賴于昂羡,例如JAR文件絮记,你可以在構(gòu)建文件中該模塊聲明這些依賴關(guān)系。遠(yuǎn)程依賴性當(dāng)你的一些依賴關(guān)系都可以在一個(gè)遠(yuǎn)程存儲(chǔ)庫(kù)虐先,您不必下載它們怨愤,并將它們復(fù)制到您的項(xiàng)目。而AndroidStudio打造的系統(tǒng)支持遠(yuǎn)程的Maven的依賴關(guān)系蛹批。的Maven是一個(gè)受歡迎的軟件項(xiàng)目管理工具撰洗,可幫助使用庫(kù)組織項(xiàng)目的依賴關(guān)系篮愉。許多流行的軟件庫(kù)和工具都可以在公共Maven倉(cāng)庫(kù)。對(duì)于這些依賴項(xiàng)差导,您只需要指定自己的Maven坐標(biāo)试躏,它唯一標(biāo)識(shí)一個(gè)遠(yuǎn)程存儲(chǔ)庫(kù)中的每個(gè)元素。在構(gòu)建系統(tǒng)中使用的Maven坐標(biāo)的格式是組:名稱:版本设褐。例如颠蕴,Maven的坐標(biāo)為谷歌番石榴庫(kù)16.0.1版本是 com.google.guava:番石榴:16.0.1。在Maven的中央存儲(chǔ)庫(kù)助析,廣泛用于分發(fā)很多庫(kù)和工具犀被。Build TasksAndroid Studio生成系統(tǒng)定義了一系列分層的構(gòu)建任務(wù):頂級(jí)任務(wù):用于產(chǎn)生必要的結(jié)果的任務(wù)。構(gòu)建系統(tǒng)提供項(xiàng)目任務(wù):構(gòu)建您的應(yīng)用程序和模塊的任務(wù)外冀,以建立獨(dú)立的模塊寡键。Gradle WrapperAndroid Studio項(xiàng)目包含的Gradle Wrapper由以下構(gòu)成:A JAR fileA properties fileA shell script for Windows platformsA shell script for Mac and Linux platformsNote:你應(yīng)該提交以上所有的文件到資源控制系統(tǒng)。使用Gradle wrapper(而不是本地Gradle安裝)雪隧,確保您始終運(yùn)行的Gradle在屬性文件中定義的版本昌腰。要配置您的項(xiàng)目使用Gradle較新版本,編輯屬性文件并指定新的版本膀跌。Android Studio 會(huì)從Gradle Wrapper目錄下讀取你的配置文件遭商,然后運(yùn)行改wrapper,因此你可以根據(jù)不同版本的Gradle無縫的處理多個(gè)項(xiàng)目Android Studio 不支持Shell腳本捅伤,因此你應(yīng)該在Gradle文件中定義自定義的邏輯來替代劫流。下面簡(jiǎn)單的總結(jié)構(gòu)建工程時(shí)遇到的問題問題1. 如何引入第三方lib ?http://stackoverflow.com/questions/20744692/android-studio-0-4-0-absherlock-gradle-without-import-modulea copy lib 工程到項(xiàng)目下丛忆,setting.gradle配置include ': yourlib' ,否則會(huì)提示在你的項(xiàng)目下找不到該lib工程祠汇。b 到整個(gè)項(xiàng)目下的build.gradle配置include ':actionbarsherlock'c 在你的Moudle下,而不是整個(gè)Project的build.gradle中添加dependencies {compile project(':yourlib')}在網(wǎng)上查的資料熄诡,右鍵可很,選擇add as library,我的是0.5.8的,沒有發(fā)現(xiàn)凰浮。如果沒有作為lib引入我抠,在Sync project with gradle files的時(shí)候 .就會(huì)發(fā)現(xiàn),default config 不支持.這是因?yàn)槟愕膌ib工程沒有build.gradle文件袜茧,可以拷貝一個(gè)簡(jiǎn)單的build.gradle菜拓,到你添加的lib project 目錄下。這樣就可以正常編譯了笛厦。當(dāng)然如果你的lib 項(xiàng)目還引用了一些三方j(luò)ar包纳鼎,你需要在dependencies中進(jìn)行配置。文件如下[java] view plain copy 在CODE上查看代碼片派生到我的代碼片apply plugin: 'android-library'? ? dependencies {? ? ? compile fileTree(dir: 'libs', include: '*.jar')? }? ? android {? ? ? compileSdkVersion 17? ? ? buildToolsVersion "19.0.3"? ? ? ? ? sourceSets {? ? ? main {? ? ? ? ? manifest.srcFile 'AndroidManifest.xml'? ? ? ? ? java.srcDirs = ['src']? ? ? ? ? resources.srcDirs = ['src']? ? ? ? ? aidl.srcDirs = ['src']? ? ? ? ? renderscript.srcDirs = ['src']? ? ? ? ? res.srcDirs = ['res']? ? ? ? ? assets.srcDirs = ['assets']? ? ? }? ? ? ? ? // Move the tests to tests/java, tests/res, etc...? ? ? instrumentTest.setRoot('tests')? ? ? ? ? // Move the build types to build-types/// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...? ? ? // This moves them out of them default location under src//... which would

// conflict with src/ being used by the main source set.

// Adding new build types or product flavors should be accompanied

// by a similar customization.

debug.setRoot('build-types/debug')

release.setRoot('build-types/release')

}

}

問題2 gradle的配置

在第一次的時(shí)候,由于下載比較慢贱鄙,你可以到gradle官方下載最新版本劝贸,解壓到android studio 的gradle的路徑下。這個(gè)不固定逗宁,跟SDK配置一樣映九,

只要在gradle setting中指定好路徑即可。然后配置gradle到path疙剑,gradle -v 驗(yàn)證是否成功配置

注意:gradle的配置是在整個(gè)Project項(xiàng)目下面的build.gradle文件中氯迂。

編譯器報(bào)錯(cuò):僅支持0.9+的gradle版本。

解決方案:可以在build.gradle 里面配置 0.9+言缤,或者在點(diǎn)擊提示嚼蚀,gradle setting中選擇以下選項(xiàng)之一

use default gradle wrapper(官方推薦,很少出問題)

會(huì)自動(dòng)下載gradle管挟,確保你的項(xiàng)目使用精確的gradle版本

另外轿曙,如果該選項(xiàng)不可選,灰色僻孝,請(qǐng)從其他項(xiàng)目中copy一個(gè)gradle文件夾到你的工程中

Use customizable gradle warpper(1.7版本以上支持)

這選項(xiàng)總是核對(duì)更新你指定的gradle版本导帝,你只需要改變gradle的版本號(hào)即可。

Use local gradle distribution(不建議使用穿铆,經(jīng)常出各種問題您单,可能個(gè)人還不夠熟悉)

會(huì)使用本地的gradle去build項(xiàng)目,但是請(qǐng)確保你已經(jīng)安裝并在path中正確配置了該gradle荞雏。在命令行中虐秦,gradle -v可以驗(yàn)證。

問題3:sync project時(shí)長(zhǎng)時(shí)間停留在 resolve dependencies ':classpath'狀態(tài) 或者 Error:(1, 0) Cause: org/gradle/api/artifacts/result/ResolvedComponentResult

原因:可能gradle配置不正確或者沒有連接代理凤优,無法訪問到服務(wù)器悦陋。

請(qǐng)確保你的其它lib project中也擁有build.gradle

請(qǐng)檢查gradle/wrapper/gradle-wrapper.properties:

gradle wrapper distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-bin.zip或者更高,當(dāng)時(shí)我下載的工程比較早筑辨,所以指向了gradle-0.9

所以這里建議從github上clone項(xiàng)目俺驶,或者下載最新的。防止舊的配置出問題棍辕。

如下:

[java] view plain copy 在CODE上查看代碼片派生到我的代碼片

distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-bin.zip

http://stackoverflow.com/questions/22989638/android-studio-gradle-could-not-create-plugin-of-type-libraryplugin

建議:從github上clone項(xiàng)目暮现,或者下載最新的。防止以前的工程配置出問題痢毒。

通常希望使用offline的狀態(tài)送矩,不去連接外網(wǎng),所以使用local gradle的配置哪替,但是經(jīng)常會(huì)出現(xiàn)各種問題,比如:

Error:No cached version of com.android.tools.build:gradle:0.9.+ available for offline mode.Disable Gradle 'offline mode' and sync project

特別是剛開始對(duì)gradle比較模糊的時(shí)候菇怀,你也不清楚它啥時(shí)候需要一些依賴lib凭舶,啥時(shí)候需要去網(wǎng)站下載晌块。

建議:

選擇 use default gradle wrapper 該配置,也很少出現(xiàn)問題(請(qǐng)確保代理成功連接帅霜,可以在Http Proxy中check connection)匆背,以后慢慢的積累了多了,

使用起來比較熟了身冀,可以再試試钝尸。

問題4 work offline 模式

如果你使用了該模式,但是其dependency 的lib project 沒有在本地搂根,那么還是需要聯(lián)網(wǎng)的珍促,否則會(huì)報(bào)錯(cuò)。

http://stackoverflow.com/questions/20746071/failed-to-build-android-hello-world-application-in-offline-mode

每次啟動(dòng)都會(huì)有聯(lián)網(wǎng)檢測(cè)依賴的各種文件是否是最新版本剩愧,導(dǎo)致每次都相當(dāng)慢猪叙。如果確定了你的工程中的jar包或者依賴工程都齊全,也不想去更新最新的仁卷,就可以在gradle setting中勾選offline穴翩,這樣就不會(huì)去更新了。但是提一下锦积,如果這種情況下出問題芒帕,也不要驚訝,請(qǐng)連接代理丰介。重新sync project背蟆,因?yàn)楹芏嗲闆r你可能并不清楚build工程所依賴的一些插件等是否已經(jīng)有了。

另外提一下基矮,如果你使用了0.9+這樣的配置方式(帶+號(hào))淆储,那么無論你是否選擇了offline,都會(huì)去檢測(cè)家浇,而且本砰,如果你沒有網(wǎng)絡(luò)連接的話,編譯會(huì)報(bào)錯(cuò)的钢悲。

0.9+点额,這種配置方式必須聯(lián)網(wǎng)。

所以如果你選擇了offline莺琳,那么請(qǐng)檢測(cè)自己的gradle的版本配置还棱,可以直接寫成你的gradle的版本,比如我下載并配置好的gradle1.2.

在有可連接到服務(wù)器的網(wǎng)絡(luò)連接的情況下下面的配置惭等,還是比較建議的珍手。

dependencies {

classpath 'com.android.tools.build:gradle:0.9.+'

}

問題5. com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice

原因:support v4包多次導(dǎo)入,或者是在不同的build.gradle文件中的dependencies 中無意compile了兩次,比如在你的actionbarsherlock中使用了

dependencies {

compile fileTree(dir: 'libs', include: '*.jar')}

表明編譯所有的libs目錄下的jar包琳要,已經(jīng)編譯了support v4.jar包,而在項(xiàng)目下的build.gradle中又進(jìn)行了編譯:

dependencies {

compile 'com.android.support:support-v4:18.0.+'

}

所以應(yīng)把項(xiàng)目下的compile 'com.android.support:support-v4:18.0.+' 給干掉

另外提一點(diǎn)寡具,不僅是support v4包,各種lib甚至各種布局的屬性稚补,style,color童叠,都不允許在不用的文件中重復(fù)定義,在sync project 的時(shí)候會(huì)報(bào)錯(cuò)课幕,你只需保留一份即可

問題6.? AndroidMainfest.xml問題

前提:當(dāng)時(shí)我的activity的label中使用的是中文厦坛,activity的label中使用的是中文,

情景1 Fatal error when parsing: AndroidManifest.xml . Failed to parse XML file: org.xml.sax.SAXParseException: Element type "activity" must be followed by either attribute specifications, ">" or "/>".

情景2 unexpected end of block data

以上兩種情景的解決方案:

把中文label Extr 為String即可

不過我在編譯的時(shí)候有一些activity的label是中文的乍惊,一個(gè)一個(gè)activity的排錯(cuò)是比較惡心的杜秸。還是建議所有的label都抽取到String.xml文件中。

我是這么修改的污桦,大家可以試試亩歹。

還有一種情況出現(xiàn):unexpected end of block data

在Sync project with gradle files 的時(shí)候

解決方案:

http://stackoverflow.com/questions/23045022/unexpected-end-of-block-data-in-gradle-sync

如果你使用的是 buildToolsVersion "19.0.0",那么改成 buildToolsVersion "19.0.3"凡橱,重新Sync project即可

問題7? 不同的lib 項(xiàng)目中的AndroidMainfest.xml文件中的targetSDK版本不一致

這個(gè)簡(jiǎn)單小作,只需要全部改成一致的即可。

問題8. plugin with id 'android' not found

http://stackoverflow.com/questions/18153739/android-studio-plugin-with-id-android-library-not-found

在Project的build.gradle中稼钩,添加下面代碼

[java] view plain copy 在CODE上查看代碼片派生到我的代碼片

buildscript {

repositories {

mavenCentral()

}

dependencies {

classpath 'com.android.tools.build:gradle:0.5.+'

}

}

問題9 使用NDK時(shí)顾稀,NDK not configured

http://stackoverflow.com/questions/20674650/how-to-configure-ndk-with-android-gradle-plugin-0-7

在NDK lib工程下的 build.gradle中添加

[java] view plain copy 在CODE上查看代碼片派生到我的代碼片

productFlavors {

arm {

ndk {

abiFilters "armeabi", "armeabi-v7a"

}

}

x86 {

ndk {

abiFilter "x86"

}

}

}

或者

[java] view plain copy 在CODE上查看代碼片派生到我的代碼片

buildTypes {

debug {

ndk {

abiFilters "armeabi", "armeabi-v7a"

}

}

}

本人用的是第一種,在build photup項(xiàng)目的時(shí)候出現(xiàn)的問題

簡(jiǎn)單總結(jié)下:

使用的時(shí)候最好有代理連接坝撑。很多時(shí)候需要下載一些插件或者依賴項(xiàng)目静秆,除非你在本地完全擁有所有的依賴工程。但是在剛開始使用的時(shí)候巡李,還是建議有代理抚笔,因?yàn)?/p>

在剛使用Android Studio,需要去下載一些東西侨拦,比如殊橙,maven repository等,

gradle配置要準(zhǔn)確狱从,保持都是最新的膨蛮,盡量clone并在使用的時(shí)候更新項(xiàng)目,或者下載最新的工程季研,由于個(gè)人以前download 了很多的zip敞葛,跑demo用,后來直接導(dǎo)入与涡,有些

插件已經(jīng)更新了惹谐,但是配置文件還沒有更新持偏。所以可能導(dǎo)致resolve dependency classpath長(zhǎng)時(shí)間停留。

offline work不可信豺鼻,請(qǐng)盡量保持gradle的代理連接综液,很可能需要去下載一些依賴工程款慨,或者其它配置儒飒。也許是個(gè)人哪里處理的不夠好。

請(qǐng)使用官方推薦的Gradle配置選項(xiàng):use default gradle wrapper

Android Studio快捷鍵

提示

Ctrl+P 方法參數(shù)提示

Ctrl+空格 代碼提示

Ctrl+Shift+Space 在很多時(shí)候都能夠給出Smart提示

Ctrl+Alt+Space 類名或接口名提示

查看

Alt+1 快速打開或隱藏工程面板

Ctrl+H 查看類結(jié)構(gòu)圖

Ctrl+F12 查看當(dāng)前文件的結(jié)構(gòu)

Ctrl+Q 查看注釋文檔

Ctrl+P 查看參數(shù)信息

Alt+Q 查看當(dāng)前方法的聲明

Ctrl+Q 查看JavaDoc

Ctrl+W 選中單詞繼而語(yǔ)句繼而行繼而函數(shù)

查找

Alt + F1 查找代碼所在位置

Ctrl + F7 查找當(dāng)前元素在當(dāng)前文件中的引用檩奠,然后按F3可以選擇

Alt + F3 快速查找

Ctrl + Shift + F7 可以高亮當(dāng)前元素在當(dāng)前文件中的使用

Ctrl + Shift+N 查找文件

Ctrl + Shift+Alt+N 查找類中的方法或變量

Ctrl + B 查找打開光標(biāo)處的類或方法

Ctrl + N 快速查找類

Ctrl + F 查找文本

Alt+F1 可以將正在編輯的元素在各個(gè)面板中定位

Ctrl+Shift+Alt+N 可以快速打開符號(hào) 快速打開類/文件/符號(hào)時(shí)桩了,可以使用通配符,也可以使用縮寫

Ctrl+Alt+Up /Ctrl+Alt+Down 可以快速跳轉(zhuǎn)搜索結(jié)果

修復(fù)

Shift+F6 重構(gòu)-重命名

Ctrl+X 刪除行

Ctrl+D 復(fù)制行

Ctrl+/ 或 Ctrl+Shift+/? 注釋(// 或者/*...*/ )

Alt+I(xiàn)nsert 可以生成構(gòu)造器/Getter/Setter等

Ctrl+Alt+L 格式化代碼

Ctrl+R 替換文本

Alt+Enter 導(dǎo)入包,自動(dòng)修正

Ctrl+Alt+O 優(yōu)化導(dǎo)入的類和包

Ctrl+J 自動(dòng)代碼

Ctrl+Shift+Space 自動(dòng)補(bǔ)全代碼

Ctrl+Alt+Space 類名自動(dòng)完成

Ctrl+Shift+I(xiàn)nsert 可以選擇剪貼板內(nèi)容并插入

Ctrl+Shift+J 可以整合兩行

Ctrl+Alt+T 可以把代碼包在一塊內(nèi)埠戳,例如try/catch

Ctrl+Alt+V 可以引入變量井誉。例如把括號(hào)內(nèi)的SQL賦成一個(gè)變量

Alt+F8 計(jì)算變量值

Ctrl+O 可以選擇父類的方法進(jìn)行重寫

最近相關(guān)

Ctrl+E 最近打開的文件 ----------

Ctrl+Shift+Backspace 可以跳轉(zhuǎn)到上次編輯的地方

Ctrl+Alt+ left/right 返回至上次瀏覽的位置

Ctrl+E或者Alt+Shift+C? 最近更改的代碼

Alt+Shift+C 對(duì)比最近修改的代碼

移動(dòng)

Ctrl+Shift+Up/Down 代碼向上/下移動(dòng)。 ---------------

F2 或Shift+F2 高亮錯(cuò)誤或警告快速定位 ------------

Ctrl+Up/Down 光標(biāo)跳轉(zhuǎn)到第一行或最后一行下

Ctrl+[或] 可以跳到大括號(hào)的開頭結(jié)尾

Ctrl+Shift+up/down 移動(dòng)方法

Ctrl+P 方法參數(shù)提示

Ctrl+空格 代碼提示

Ctrl+Shift+Space 在很多時(shí)候都能夠給出Smart提示

Ctrl+Alt+Space 類名或接口名提示

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末整胃,一起剝皮案震驚了整個(gè)濱河市颗圣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屁使,老刑警劉巖在岂,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蛮寂,居然都是意外死亡蔽午,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門酬蹋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來及老,“玉大人,你說我怎么就攤上這事范抓〗径瘢” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵匕垫,是天一觀的道長(zhǎng)僧鲁。 經(jīng)常有香客問我,道長(zhǎng)年缎,這世上最難降的妖魔是什么悔捶? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮单芜,結(jié)果婚禮上蜕该,老公的妹妹穿的比我還像新娘。我一直安慰自己洲鸠,他們只是感情好堂淡,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布馋缅。 她就那樣靜靜地躺著,像睡著了一般绢淀。 火紅的嫁衣襯著肌膚如雪萤悴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天皆的,我揣著相機(jī)與錄音覆履,去河邊找鬼。 笑死费薄,一個(gè)胖子當(dāng)著我的面吹牛硝全,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播楞抡,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼伟众,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了召廷?” 一聲冷哼從身側(cè)響起凳厢,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎竞慢,沒想到半個(gè)月后先紫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡梗顺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年泡孩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寺谤。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仑鸥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出变屁,到底是詐尸還是另有隱情眼俊,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布粟关,位于F島的核電站疮胖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏闷板。R本人自食惡果不足惜澎灸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望遮晚。 院中可真熱鬧性昭,春花似錦、人聲如沸县遣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至其兴,卻和暖如春顶瞒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背元旬。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工榴徐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人法绵。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓箕速,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親朋譬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容