android-如何将流程的标准输出绑定到TextView

我正在开发我的第一个Android应用程序.我需要以root用户身份在Shell中执行命令,因此我在我的App中引入了以下代码:

process = Runtime.getRuntime().exec("su");

然后,获得流程的输出流,并使用它执行命令:

os = new DataOutputStream(process.getOutputStream());

os.writeBytes("tcpdump\n");

然后,我获得一个输入流,该流将用于显示过程结果:

is = new DataInputStream(process.getInputStream());

我想将获得的DataInputStream绑定到布局中的TextView上,以便随着过程继续显示结果,实时显示其显示的文本.

我一直在搜寻Android的java.io API,但找不到一种简单的方法.我一直在考虑运行一个带有循环的线程,该线程不断检查输入流中是否有新数据,然后将其复制到TextView中,但这似乎是一个糟糕的解决方案.

如果有人知道这样做的方法,我将非常感谢.

解决方法:

结合TextView.append方法和Handler

这是一个很好的例子:

http://android-developers.blogspot.com/2007/11/stitch-in-time.html

上一篇:java-InputStream.available()不起作用


下一篇:实际开发之图片按比例压缩