在Android Studio中运行Java程序

在Android Studio中运行Java程序

有时候在开发Android时,由于调试需要,需要写一些Java程序.

由于类库引用等问题,去IntelliJ IDEA新建一个Java程序还要添加类库引用非常麻烦.

所以如果能直接在Android Studio中调试Java程序就变得非常有用了.

查看了下网上介绍的方法,还要添加Java Library,改build.gradle等等麻烦死了,在这里介绍两种非常简单的方式.

调试方法一

如果是简单的方法调试,可以写在作为单元格测试的test目录下
在Android Studio中运行Java程序_第1张图片

可以直接写在ExampleUnitTest文件下,也可以新建一个文件.

重点是给需要调试的方法加一个@Test的注解,选中该方法,然后右键Debug
在Android Studio中运行Java程序_第2张图片

调试方法二

然后还有一种方式可以直接像写Java程序一样有个main方法主入口.在主工程目录下添加一个类
在Android Studio中运行Java程序_第3张图片,并且给这个类添加main方法

    public static void main(String[] args) {
        //...............
    }

右键一个类,选择Debug或者Run
在Android Studio中运行Java程序_第4张图片

应当注意的是,这个类不能放在test或者AndroidTest目录下,执行时会报找不到这个类.必须放在主工程目录下的java中.

控制台及打印信息查看.

这里和调试Android有点区别,信息并不会在logcat中,也不会在Terminal中,而是在Debug中
在Android Studio中运行Java程序_第5张图片

缺陷

这两种方式都有缺陷,无法获得完整的java程序功能,比如图形控件,JDBC等等,也就是说,这里运行的Java的api必须是经过Android阉割后的才可以运行.

当然如果真的有使用Java完整api的需求,可以使用File –> New –> New Module –> Java Library创建一个Java的module,这个module具备完整的api,可以绘制swing界面等.在主工程中添加对这个module的引用,但是主程序那边还无法直接访问swing等的类,可以通过在Java Library中创建一个类,比如SwingProxy,然后类中创建一个方法,比如run(),在run()方法中写swing等的代码,再然后在SwingProxy类的构造方法中调用run()方法,再然后在主程序中调用new SwingProxy()实现对swing等的调用.注意,这里只能使用构造方法来实现对swing等类实现调用,如果在主程序中直接调用new SwingProxy().run()会报错.

你可能感兴趣的:(Android,Studio)