【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android Studio 中運(yùn)行 groovy 程序的方法圖文詳解_第1頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android Studio 中運(yùn)行 groovy 程序的方法圖文詳解_第2頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android Studio 中運(yùn)行 groovy 程序的方法圖文詳解_第3頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android Studio 中運(yùn)行 groovy 程序的方法圖文詳解_第4頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android Studio 中運(yùn)行 groovy 程序的方法圖文詳解_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開發(fā)技術(shù)】AndroidStudio中運(yùn)行g(shù)roovy程序的方法圖文詳解

Groovy簡(jiǎn)介Groovy是一種基于JVM(Java虛擬機(jī))的敏捷開發(fā)語言,它結(jié)合了Python、Ruby和Smalltalk的許多強(qiáng)大的特性,Groovy代碼能夠與Java代碼很好地結(jié)合,也能用于擴(kuò)展現(xiàn)有代碼。由于其運(yùn)行在JVM上的特性,Groovy也可以使用其他非Java語言編寫的庫(kù)。Groovy是用于Java虛擬機(jī)的一種敏捷的動(dòng)態(tài)語言,它是一種成熟的面向?qū)ο缶幊陶Z言,既可以用于面向?qū)ο缶幊?,又可以用作純粹的腳本語言。使用該種語言不必編寫過多的代碼,同時(shí)又具有閉包和動(dòng)態(tài)語言中的其他特性。

Groovy是JVM的一個(gè)替代語言(替代是指可以用Groovy在Java平臺(tái)上進(jìn)行Java編程),使用方式基本與使用Java代碼的方式相同,該語言特別適合與Spring的動(dòng)態(tài)語言支持一起使用,設(shè)計(jì)時(shí)充分考慮了Java集成,這使Groovy與Java代碼的互操作很容易。(注意:不是指Groovy替代java,而是指Groovy和java很好的結(jié)合編程。運(yùn)行g(shù)roovy程序首先由幾個(gè)需要注意的地方1.最好不要在JavaLibraymodule以外的其他類型module,運(yùn)行g(shù)roovy程序,腳本類的還問題不大,如果是在GroovyConsole運(yùn)行java類的groovy程序時(shí),就明顯無法執(zhí)行了。因?yàn)間roovy插件和android插件不兼容,所以不能在Android相關(guān)的module上使用groovy。工程build失敗,原因如下:

Causedby:ernal.BadPluginException:The'java'pluginhasbeenapplied,butitisnotcompatiblewiththeAndroidplugins.

Causedby:ernal.BadPluginException:The'java'pluginhasbeenapplied,butitisnotcompatiblewiththeAndroidplugins.2.雖然不推薦在JavaLibrary之外的其他模塊運(yùn)行g(shù)roovy程序,但是只要把該模塊的buildgradle文件改為以下內(nèi)容,腳本類和java類groovy程序還是能執(zhí)行的,但是這也失去了該module的意義了吧,所以還是推薦使用JavaLibrary運(yùn)行g(shù)roovy程序,當(dāng)然如果只是學(xué)習(xí)groovy都為所謂。applyplugin:‘groovy'會(huì)引入groovy插件,groovy插件繼承了java插件。implementationlocalGroovy()會(huì)引入Gradle所帶的Groovy庫(kù)。還是上面講過的Android和groovy插件不能同時(shí)存在,即下圖這種方式是不允許的java-library插件和groovy插件可以同時(shí)存在根據(jù)上述需要注意的問題,正確步驟如下1.新建一個(gè)JavaLibrarymodule2.修改該module下的buildgradle文件,如下3.src/main目錄下新建groovy文件夾,并新建Test.groovy文件1、運(yùn)行Java式的Groovy按以上步驟完成后,編寫demo如下,點(diǎn)擊運(yùn)行即可雖然運(yùn)行成功了,但是提示

DeprecatedGradlefeatureswereusedinthisbuild,makingitincompatiblewithGradle6.0.

DeprecatedGradlefeatureswereusedinthisbuild,makingitincompatiblewithGradle6.0.此版本中使用了不推薦使用的Gradle功能,使其與Gradle6.0不兼容?;氐疆?dāng)前module下的build.gradle文件,添加如下代碼:同步后,點(diǎn)擊運(yùn)行1.1原理點(diǎn)擊運(yùn)行后,通過查看androidstudio控制臺(tái)信息發(fā)現(xiàn),它執(zhí)行了compileJavaTask,于是將compileGroovyTask附著在compileJava后面,compileGroovytask完成后,再將build/classes/groovy文件夾重命名為java。從而使androidstudio可以執(zhí)行g(shù)roovy編譯后的class文件。前后對(duì)比如下:2、腳本式的Groovy1.在Test.groovy相同路徑下創(chuàng)建新的groovy文件,如下2.編寫groovy文件,如下:3.找到工具欄的這個(gè)地方,選擇EditConfigurations...,在彈出的頁面點(diǎn)擊左上角的加號(hào)AddNewConfiguration,再選擇groovy4.然后只需要填寫Name、Scriptpath就可以,Name隨便寫,跟groovy文件名相同即可,Scriptpath就選擇上面MyGroovy類的路徑。5.現(xiàn)在工具欄如下,點(diǎn)擊下圖中紅款中的綠三角,運(yùn)行g(shù)roovy程序運(yùn)行結(jié)果如下注意腳本類groovy的配置方法,同樣可以用來執(zhí)行Java類的groovy,但java類的配置方法不能運(yùn)行腳本類的groovy。上面名為Test.groocy的Java類的groovy按照腳本類groovy的配置方法配置完成后運(yùn)行如下:Groovyconsoleandroidstudio的標(biāo)題欄進(jìn)入Tools/GroovyConsole。這里也可以直接運(yùn)行g(shù)roovy程序(java類的和腳本類的都可以)。Groovyconsole運(yùn)行腳本類非常簡(jiǎn)單,直接在編寫點(diǎn)擊左上角運(yùn)行按鈕即可上圖就是點(diǎn)擊GroovyConsole后創(chuàng)建的,編輯代碼點(diǎn)擊左上角三角符號(hào)后運(yùn)行結(jié)果如下Groovyconsole運(yùn)行java類就比較麻煩了,我覺得也沒有必要把java類在groovyconsole中運(yùn)行,下面我還是說一下我踩過的坑和步驟吧我之前創(chuàng)建的module是AndroidLibrary,該module的名字是groovy,然后buildgradle文件把Android插件去掉了,如下圖然后我們?cè)谛碌腉roovyConsole中隨便編寫一個(gè)class,代碼如下:點(diǎn)擊運(yùn)行,選擇Run'Test1.main()':選擇Run'Test1.main()'后彈框如下:上面已經(jīng)提及到了,以上都是我在名為groovyAndroidLibrarymodule下進(jìn)行的操作選擇完module后,提示如下:所以還必須創(chuàng)建一個(gè)名為Test1的class文件,那我們問什么還要使用GroovyConsole呢,直接運(yùn)行java類的groovy程序就行了我這里有一個(gè)之前的Test.class,直接把console里面的改一下名字,如下:然后繼續(xù)按上述步驟執(zhí)行,這次全部OK了點(diǎn)擊Run之后,運(yùn)行結(jié)果如下:上面是正常的流程,不管是什么類型的module,只要buildgradle按上面配置,然后一步一步執(zhí)行都能正常運(yùn)行。但是我之前把groovy插件和Android插件放到了一起,如下:雖然build失敗如下,但我沒有理會(huì):這個(gè)時(shí)候我們還是按上面GroovyConsole執(zhí)行java類程序正常的步驟執(zhí)行,會(huì)提示如下:

Cause:compileSdkVersionisnotspecified.Pleaseaddittobuild.gradle

Cause:compileSdkVersionisnotspecified.Pleaseaddittobuild.gradle即原因:未指定compileSdkVersion,請(qǐng)將其添加到build.gradle然后我們把compileSdkVersion添加到buildgradle文件中,如下:再次按照GroovyConsole執(zhí)行java類程序正常步驟執(zhí)行,提示如下:

The'java'pluginhasbeenapplied,but

itisnotcompatible

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論