




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】AndroidStudio中運行g(shù)roovy程序的方法圖文詳解
Groovy簡介Groovy是一種基于JVM(Java虛擬機)的敏捷開發(fā)語言,它結(jié)合了Python、Ruby和Smalltalk的許多強大的特性,Groovy代碼能夠與Java代碼很好地結(jié)合,也能用于擴展現(xiàn)有代碼。由于其運行在JVM上的特性,Groovy也可以使用其他非Java語言編寫的庫。Groovy是用于Java虛擬機的一種敏捷的動態(tài)語言,它是一種成熟的面向?qū)ο缶幊陶Z言,既可以用于面向?qū)ο缶幊?,又可以用作純粹的腳本語言。使用該種語言不必編寫過多的代碼,同時又具有閉包和動態(tài)語言中的其他特性。
Groovy是JVM的一個替代語言(替代是指可以用Groovy在Java平臺上進行Java編程),使用方式基本與使用Java代碼的方式相同,該語言特別適合與Spring的動態(tài)語言支持一起使用,設(shè)計時充分考慮了Java集成,這使Groovy與Java代碼的互操作很容易。(注意:不是指Groovy替代java,而是指Groovy和java很好的結(jié)合編程。運行g(shù)roovy程序首先由幾個需要注意的地方1.最好不要在JavaLibraymodule以外的其他類型module,運行g(shù)roovy程序,腳本類的還問題不大,如果是在GroovyConsole運行java類的groovy程序時,就明顯無法執(zhí)行了。因為groovy插件和android插件不兼容,所以不能在Android相關(guān)的module上使用groovy。工程build失敗,原因如下:
Causedby:ernal.BadPluginException:The'java'pluginhasbeenapplied,butitisnotcompatiblewiththeAndroidplugins.
Causedby:ernal.BadPluginException:The'java'pluginhasbeenapplied,butitisnotcompatiblewiththeAndroidplugins.2.雖然不推薦在JavaLibrary之外的其他模塊運行g(shù)roovy程序,但是只要把該模塊的buildgradle文件改為以下內(nèi)容,腳本類和java類groovy程序還是能執(zhí)行的,但是這也失去了該module的意義了吧,所以還是推薦使用JavaLibrary運行g(shù)roovy程序,當然如果只是學習groovy都為所謂。applyplugin:‘groovy'會引入groovy插件,groovy插件繼承了java插件。implementationlocalGroovy()會引入Gradle所帶的Groovy庫。還是上面講過的Android和groovy插件不能同時存在,即下圖這種方式是不允許的java-library插件和groovy插件可以同時存在根據(jù)上述需要注意的問題,正確步驟如下1.新建一個JavaLibrarymodule2.修改該module下的buildgradle文件,如下3.src/main目錄下新建groovy文件夾,并新建Test.groovy文件1、運行Java式的Groovy按以上步驟完成后,編寫demo如下,點擊運行即可雖然運行成功了,但是提示
DeprecatedGradlefeatureswereusedinthisbuild,makingitincompatiblewithGradle6.0.
DeprecatedGradlefeatureswereusedinthisbuild,makingitincompatiblewithGradle6.0.此版本中使用了不推薦使用的Gradle功能,使其與Gradle6.0不兼容?;氐疆斍癿odule下的build.gradle文件,添加如下代碼:同步后,點擊運行1.1原理點擊運行后,通過查看androidstudio控制臺信息發(fā)現(xiàn),它執(zhí)行了compileJavaTask,于是將compileGroovyTask附著在compileJava后面,compileGroovytask完成后,再將build/classes/groovy文件夾重命名為java。從而使androidstudio可以執(zhí)行g(shù)roovy編譯后的class文件。前后對比如下:2、腳本式的Groovy1.在Test.groovy相同路徑下創(chuàng)建新的groovy文件,如下2.編寫groovy文件,如下:3.找到工具欄的這個地方,選擇EditConfigurations...,在彈出的頁面點擊左上角的加號AddNewConfiguration,再選擇groovy4.然后只需要填寫Name、Scriptpath就可以,Name隨便寫,跟groovy文件名相同即可,Scriptpath就選擇上面MyGroovy類的路徑。5.現(xiàn)在工具欄如下,點擊下圖中紅款中的綠三角,運行g(shù)roovy程序運行結(jié)果如下注意腳本類groovy的配置方法,同樣可以用來執(zhí)行Java類的groovy,但java類的配置方法不能運行腳本類的groovy。上面名為Test.groocy的Java類的groovy按照腳本類groovy的配置方法配置完成后運行如下:Groovyconsoleandroidstudio的標題欄進入Tools/GroovyConsole。這里也可以直接運行g(shù)roovy程序(java類的和腳本類的都可以)。Groovyconsole運行腳本類非常簡單,直接在編寫點擊左上角運行按鈕即可上圖就是點擊GroovyConsole后創(chuàng)建的,編輯代碼點擊左上角三角符號后運行結(jié)果如下Groovyconsole運行java類就比較麻煩了,我覺得也沒有必要把java類在groovyconsole中運行,下面我還是說一下我踩過的坑和步驟吧我之前創(chuàng)建的module是AndroidLibrary,該module的名字是groovy,然后buildgradle文件把Android插件去掉了,如下圖然后我們在新的GroovyConsole中隨便編寫一個class,代碼如下:點擊運行,選擇Run'Test1.main()':選擇Run'Test1.main()'后彈框如下:上面已經(jīng)提及到了,以上都是我在名為groovyAndroidLibrarymodule下進行的操作選擇完module后,提示如下:所以還必須創(chuàng)建一個名為Test1的class文件,那我們問什么還要使用GroovyConsole呢,直接運行java類的groovy程序就行了我這里有一個之前的Test.class,直接把console里面的改一下名字,如下:然后繼續(xù)按上述步驟執(zhí)行,這次全部OK了點擊Run之后,運行結(jié)果如下:上面是正常的流程,不管是什么類型的module,只要buildgradle按上面配置,然后一步一步執(zhí)行都能正常運行。但是我之前把groovy插件和Android插件放到了一起,如下:雖然build失敗如下,但我沒有理會:這個時候我們還是按上面GroovyConsole執(zhí)行java類程序正常的步驟執(zhí)行,會提示如下:
Cause:compileSdkVersionisnotspecified.Pleaseaddittobuild.gradle
Cause:compileSdkVersionisnotspecified.Pleaseaddittobuild.gradle即原因:未指定compileSdkVersion,請將其添加到build.gradle然后我們把compileSdkVersion添加到buildgradle文件中,如下:再次按照GroovyConsole執(zhí)行java類程序正常步驟執(zhí)行,提示如下:
The'java'pluginhasbeenapplied,but
itisnotcompatible
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國音箱連接器市場調(diào)查研究報告
- 2025年中國鑲銅內(nèi)螺紋三通市場調(diào)查研究報告
- 2025年中國野外過流分支分配器市場調(diào)查研究報告
- 2025年中國船舶專用儀表市場調(diào)查研究報告
- 2025年中國紙模餐盒成型機市場調(diào)查研究報告
- 2025年中國粉塵濾芯市場調(diào)查研究報告
- 2025年中國石平鍋市場調(diào)查研究報告
- 校園義診活動總結(jié)
- 高二上學期期末個人總結(jié)
- 二零二五年度包裝新風施工與空氣質(zhì)量改善協(xié)議
- 米酒的制作流程
- 施工現(xiàn)場防高墜培訓
- 船舶水下輻射噪聲指南 2025
- 2024年黑龍江哈爾濱市中考英語真題卷及答案解析
- DB31-T 1310-2021 火花探測和熄滅系統(tǒng)應(yīng)用指南
- 消防系統(tǒng)管道支架施工方案
- 北京版(一起)英語二年級下冊單詞默寫表
- 2025-2025學年牛津譯林英語七年級下冊(7B)教學計劃
- 中建抹灰工程專項施工方案
- 地方融資平臺債務(wù)和政府中長期支出事項監(jiān)測平臺操作手冊-單位
- 心得體會 2025教師暑假政治學習心得體會
評論
0/150
提交評論