欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Studio 中運行 groovy 程序的方法圖文詳解

 更新時間:2020年03月13日 11:57:16   作者:detachment_w  
這篇文章主要介紹了Android Studio 中 運行 groovy 程序的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

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)語言支持一起使用,設計時充分考慮了Java集成,這使 Groovy 與 Java 代碼的互操作很容易。(注意:不是指Groovy替代java,而是指Groovy和java很好的結(jié)合編程。

運行 groovy 程序

首先由幾個需要注意的地方

1.最好不要在Java Libray module 以外的其他類型module,運行g(shù)roovy程序,腳本類的還問題不大,如果是在GroovyConsole運行java類的groovy程序時,就明顯無法執(zhí)行了。

因為 groovy 插件和 android 插件不兼容,所以不能在Android 相關(guān)的module上使用 groovy。

在這里插入圖片描述

工程build失敗,原因如下:

Caused by: com.android.build.gradle.internal.BadPluginException: The 'java' plugin has been applied, but it is not compatible with the Android plugins.

2.雖然不推薦在Java Library之外的其他模塊運行g(shù)roovy程序,但是只要把該模塊的build gradle文件改為以下內(nèi)容,腳本類和java類groovy程序還是能執(zhí)行的,但是這也失去了該module的意義了吧,所以還是推薦使用Java Library 運行g(shù)roovy程序,當然如果只是學習groovy都為所謂。

apply plugin: 'groovy'

dependencies {
 implementation fileTree(dir: 'libs', include: ['*.jar'])
 implementation localGroovy() 
} 

apply plugin: ‘groovy' 會引入 groovy 插件,groovy 插件繼承了 java 插件。 implementation localGroovy() 會引入 Gradle 所帶的 Groovy 庫。

還是上面講過的Android 和 groovy 插件不能同時存在,即下圖這種方式是不允許的

在這里插入圖片描述

java-library 插件和 groovy插件可以同時存在

在這里插入圖片描述

根據(jù)上述需要注意的問題,正確步驟如下

1.新建一個Java Library module

在這里插入圖片描述 在這里插入圖片描述 在這里插入圖片描述 在這里插入圖片描述

2.修改該module下的build gradle 文件,如下

在這里插入圖片描述

3.src/ main目錄下新建 groovy 文件夾,并新建 Test.groovy 文件

在這里插入圖片描述 在這里插入圖片描述

1 、運行Java 式的 Groovy

按以上步驟完成后,編寫demo如下,點擊運行即可

apply plugin: 'groovy'

dependencies {
 implementation fileTree(dir: 'libs', include: ['*.jar'])
 implementation localGroovy() 
} 

在這里插入圖片描述

雖然運行成功了,但是提示

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.

此版本中使用了不推薦使用的Gradle功能,使其與Gradle 6.0不兼容。

回到當前module 下的 build.gradle文件,添加如下代碼:

task renameGroovyToJava {
 doLast{
 delete "$buildDir/classes/java"
 File file = new File("$buildDir/classes/groovy")
 println file.renameTo("$buildDir/classes/java")
 }
}

在這里插入圖片描述

同步后,點擊運行

在這里插入圖片描述

1.1 原理

點擊運行后,通過查看 android studio 控制臺信息發(fā)現(xiàn),它執(zhí)行了 compileJava Task,于是將 compileGroovy Task 附著在 compileJava 后面,compileGroovy task 完成后,再將 build/classes/groovy 文件夾重命名為 java。從而使 android studio 可以執(zhí)行 groovy 編譯后的 class 文件。

前后對比如下:

在這里插入圖片描述 在這里插入圖片描述

2 、腳本式的 Groovy

1.在Test.groovy相同路徑下創(chuàng)建新的groovy文件,如下

在這里插入圖片描述 在這里插入圖片描述

2.編寫 groovy 文件,如下:

在這里插入圖片描述

3.找到工具欄的這個地方,選擇 Edit Configurations...,在彈出的頁面點擊左上角的加號 Add New Configuration,再選擇groovy

在這里插入圖片描述 在這里插入圖片描述 在這里插入圖片描述

4.然后只需要填寫 Name、Script path 就可以,Name 隨便寫,跟groovy文件名相同即可,Script path就選擇上面 MyGroovy 類的路徑。

在這里插入圖片描述

5.現(xiàn)在工具欄如下,點擊下圖中紅款中的綠三角,運行g(shù)roovy程序

在這里插入圖片描述

運行結(jié)果如下

在這里插入圖片描述

注意

腳本類 groovy 的配置方法,同樣可以用來執(zhí)行 Java 類的 groovy,但 java 類的配置方法不能運行腳本類的 groovy。上面名為Test.groocy的Java 類的 groovy按照腳本類 groovy 的配置方法配置完成后運行如下:

在這里插入圖片描述 在這里插入圖片描述

Groovy console

android studio 的標題欄進入 Tools/Groovy Console。這里也可以直接運行 groovy 程序(java類的和腳本類的都可以)。

在這里插入圖片描述

Groovy console 運行腳本類 非常簡單,直接在編寫點擊左上角運行按鈕即可

在這里插入圖片描述

上圖就是點擊Groovy Console后創(chuàng)建的,編輯代碼點擊左上角三角符號后運行結(jié)果如下

在這里插入圖片描述

Groovy console 運行java類 就比較麻煩了,我覺得也沒有必要把java類在groovy console中運行,下面我還是說一下我踩過的坑和步驟吧

我之前創(chuàng)建的module是Android Library,該module的名字是groovy,然后build gradle 文件把Android 插件去掉了,如下圖

在這里插入圖片描述

然后我們在新的Groovy Console中隨便編寫一個class,代碼如下:

在這里插入圖片描述

點擊運行,選擇 Run 'Test1.main()':

在這里插入圖片描述

選擇 Run 'Test1.main()'后彈框如下:

在這里插入圖片描述

上面已經(jīng)提及到了,以上都是我在名為groovy Android Library module下進行的操作

在這里插入圖片描述

選擇完module后,提示如下:

在這里插入圖片描述

所以還必須創(chuàng)建一個名為Test1的class文件,那我們問什么還要使用Groovy Console呢,直接運行java類的groovy程序就行了

我這里有一個之前的Test.class,直接把console里面的改一下名字,如下:

在這里插入圖片描述

在這里插入圖片描述

然后繼續(xù)按上述步驟執(zhí)行,這次全部OK了

在這里插入圖片描述

點擊Run之后,運行結(jié)果如下:

在這里插入圖片描述

上面是正常的流程,不管是什么類型的module,只要build gradle 按上面配置,然后一步一步執(zhí)行都能正常運行。

但是我之前把groovy插件和Android插件放到了一起,如下:

在這里插入圖片描述

雖然build失敗如下,但我沒有理會:

在這里插入圖片描述

這個時候我們還是按上面 Groovy Console執(zhí)行java類程序 正常的步驟執(zhí)行,會提示如下:

Cause: compileSdkVersion is not specified. Please add it to build.gradle

即 原因:未指定compileSdkVersion,請將其添加到build.gradle

在這里插入圖片描述 在這里插入圖片描述

然后我們把compileSdkVersion添加到build gradle文件中,如下:

在這里插入圖片描述

再次按照 Groovy Console執(zhí)行java類程序 正常步驟執(zhí)行,提示如下:

The 'java' plugin has been applied, but

it is not compatible with the Android plugins.

已經(jīng)應用了“java”插件,但它與Android插件不兼容。還是一開始build提示的問題,所以說最好在Java Library 執(zhí)行g(shù)roovy程序

在這里插入圖片描述 在這里插入圖片描述

到此這篇關(guān)于Android Studio 中運行 groovy 程序的方法圖文詳解的文章就介紹到這了,更多相關(guān)Android Studio 運行 groovy 程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Kotlin Job啟動流程源碼層深入分析

    Kotlin Job啟動流程源碼層深入分析

    如果要我拿現(xiàn)實中的一事物與Kotlin協(xié)程中的Job做一個類比,那么我會把Job比作成海洋中的冰山。自由漂浮的冰山約有90%體積沉在海水表面下,因此看著浮在水面上的形狀并猜不出水下的形狀
    2022-11-11
  • Android編程實現(xiàn)RotateAnimation設置中心點旋轉(zhuǎn)動畫效果

    Android編程實現(xiàn)RotateAnimation設置中心點旋轉(zhuǎn)動畫效果

    這篇文章主要介紹了Android編程實現(xiàn)RotateAnimation設置中心點旋轉(zhuǎn)動畫效果,結(jié)合實例形式較為詳細的分析了Android xml布局及RotateAnimation動畫類相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • 解決NDK開發(fā)中Eclipse報錯Unresolved inclusion jni.h的最終解決方法(已測)

    解決NDK開發(fā)中Eclipse報錯Unresolved inclusion jni.h的最終解決方法(已測)

    這篇文章主要介紹了解決NDK開發(fā)中Eclipse報錯Unresolved inclusion jni.h的最終方法,需要的朋友可以參考下
    2016-12-12
  • Android布局之LinearLayout線性布局

    Android布局之LinearLayout線性布局

    LinearLayout是線性布局控件:要么橫向排布,要么豎向排布,下面通過本篇文章給大家介紹Android布局之LinearLayout線性布局,涉及到android linearlayout 布局相關(guān)知識,對本文感興趣的朋友一起學習吧
    2015-12-12
  • android中用xml文件實現(xiàn)帶邊框背景效果的方法

    android中用xml文件實現(xiàn)帶邊框背景效果的方法

    這篇文章主要給大家介紹了在android中xml文件實現(xiàn)帶邊框背景效果的方法,其實實現(xiàn)的功能不是很難,僅作記錄,幫助需要的朋友們做個參考,需要的朋友們下面來一起看看吧。
    2017-06-06
  • 如何在Android中實現(xiàn)一個簡易的Http服務器

    如何在Android中實現(xiàn)一個簡易的Http服務器

    這篇文章主要介紹了如何在Android中實現(xiàn)一個簡易的Http服務器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • android仿華為手機懸浮窗設計

    android仿華為手機懸浮窗設計

    這篇文章主要為大家詳細介紹了android仿華為手機懸浮窗設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android Activity中onStart()和onResume()的區(qū)別分析

    Android Activity中onStart()和onResume()的區(qū)別分析

    這篇文章主要介紹了Android Activity中onStart()和onResume()的區(qū)別,結(jié)合Activity的四種狀態(tài)簡單分析了Android Activity中onStart()和onResume()方法的作用,并補充說明了Activity中六個常用函數(shù),需要的朋友可以參考下
    2016-01-01
  • android 檢測耳機是否插入方法

    android 檢測耳機是否插入方法

    在android開發(fā)過程中經(jīng)常會用到檢測耳機是否插入的功能,本文將介紹一些方法,可供有需要的朋友參考下
    2012-11-11
  • Android編譯的注意事項

    Android編譯的注意事項

    今天小編就為大家分享一篇關(guān)于Android編譯的注意事項,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論