有时候在开发Android时,由于调试需要,需要写一些Java程序.
由于类库引用等问题,去IntelliJ IDEA新建一个Java程序还要添加类库引用非常麻烦.
所以如果能直接在Android Studio中调试Java程序就变得非常有用了.
查看了下网上介绍的方法,还要添加Java Library,改build.gradle等等麻烦死了,在这里介绍两种非常简单的方式.
如果是简单的方法调试,可以写在作为单元格测试的test目录下
可以直接写在ExampleUnitTest
文件下,也可以新建一个文件.
重点是给需要调试的方法加一个@Test
的注解,选中该方法,然后右键Debug
然后还有一种方式可以直接像写Java程序一样有个main方法主入口.在主工程目录下添加一个类
,并且给这个类添加main方法
public static void main(String[] args) {
//...............
}
应当注意的是,这个类不能放在test或者AndroidTest目录下,执行时会报找不到这个类.必须放在主工程目录下的java中.
这里和调试Android有点区别,信息并不会在logcat中,也不会在Terminal中,而是在Debug中
这两种方式都有缺陷,无法获得完整的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()
会报错.