我有一个使用
的Java SE应用程序 input = new Scanner(System.in);
获取输入参数
并使用System.out.println("..");
打印结果
由于原始Java项目中使用的所有Java API也可以在Android中使用,我尝试导入所有类而没有任何错误,但现在我不知道如何复制Android中经典Java控制台的行为。 / p>
我已经看到有开发人员已经在一些类似IDE的应用程序中实现了这一点,但我不知道如何。
你能帮帮我吗?
示例: 假设您想在Android中移植这个虚拟Java SE应用程序,保留原始代码的类似控制台的方法
public static void main(String[] args) {
System.out.println("Please enter your choice");
System.out.println("A, B");
Scanner myScanner = new Scanner(System.in);
String choice = myScanner .nextLine();
if (choice.charAt(0) == 'A') {
...do something
}
else{
...do something
}
}
答案 0 :(得分:0)
您可以使用exec()
执行系统命令。 Here是如何做到的:
Runtime r = Runtime.getRuntime();
Process p = r.exec("uname -a"); // here goes your input
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = b.readLine()) != null) {
System.out.println(line);
}
更新
好的,根据我的理解,您希望编译并运行用户编写的代码。我可以看到3个选项:
我认为最困难。获取一些Java编译器的源代码并将其包含在您的项目中。因此,用户输入文本。你编译它,运行并给出输出。
使用已构建的编译器。这需要root。在您的设备上安装javac
。然后,在您的应用程序中,您可以使用上面的exec()
代码调用它。
最简单的一个。使用互联网,例如,Ideone.com。在您的应用程序中,您发送代码以在Ideone上编译。您将获得输出并将其呈现给用户。