版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)員工考核制度
- 2026河南大學(xué)附屬中學(xué)招聘77人備考題庫(kù)附答案
- 養(yǎng)雞配種技術(shù)培訓(xùn)課件
- 2026湖南張家界中共桑植縣委組織部調(diào)工作人員2人招聘?jìng)淇碱}庫(kù)附答案
- 2026湖南長(zhǎng)沙市雨花區(qū)育新第二小學(xué)春季合同制教師招聘參考題庫(kù)附答案
- 2026福建南平市順昌縣工業(yè)園區(qū)開發(fā)有限公司招聘1人備考題庫(kù)附答案
- 2026福建省空天信息產(chǎn)業(yè)發(fā)展有限公司招聘2人考試備考題庫(kù)附答案
- 2026福建福州左海置地有限公司招聘20人參考題庫(kù)附答案
- 2026貴州畢節(jié)市黔西市公安局招聘警務(wù)輔助人員70人參考題庫(kù)附答案
- 2026重慶中醫(yī)藥學(xué)院附屬璧山醫(yī)院招聘37人備考題庫(kù)附答案
- 2025初一英語閱讀理解100篇
- 2026屆四川省成都市青羊區(qū)樹德實(shí)驗(yàn)中學(xué)物理九年級(jí)第一學(xué)期期末考試試題含解析
- 高溫熔融金屬冶煉安全知識(shí)培訓(xùn)課
- 林業(yè)種苗培育與管理技術(shù)規(guī)范
- 遼寧中考數(shù)學(xué)三年(2023-2025)真題分類匯編:專題06 幾何與二次函數(shù)壓軸題 解析版
- 修復(fù)征信服務(wù)合同范本
- 湖南省5年(2021-2025)高考物理真題分類匯編:專題11 近代物理(原卷版)
- 螺桿泵知識(shí)點(diǎn)培訓(xùn)課件
- 2025年及未來5年中國(guó)鈉基膨潤(rùn)土市場(chǎng)深度評(píng)估及行業(yè)投資前景咨詢報(bào)告
- 康復(fù)醫(yī)學(xué)科進(jìn)修匯報(bào)
- 工作票 操作票培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論