我想在控制台中打印一些东西,以便我可以调试它.但由于某种原因,我的Android应用程序中没有任何内容.
我该怎么调试呢?
public class HelloWebview extends Activity {
WebView webview;
private static final String LOG_TAG = "WebViewDemo";
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.setWebViewClient(new HelloWebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebChromeClient(new MyWebChromeClient());
webview.loadUrl("http://example.com/");
System.out.println("I am here");
}
Run Code Online (Sandbox Code Playgroud) 我在我的 java 应用程序中启动了一个 python 脚本
Process p = Runtime.getRuntime().exec("python script.py");
Run Code Online (Sandbox Code Playgroud)
该脚本循环运行,仅被事件(或用户交互)取消。该脚本在每个循环周期写入输出,一些文本如“12:22:35 -- Heartbeat”
while True:
print("Heartbeat")
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
在我的 Java 应用程序中,我想读取出现的输出。我的问题是,如果我使用 BufferReader,它会等到进程完成,然后读取输出。这是我阅读它的方式:
BufferedReader is = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = is.readLine()) != null)
System.out.println(line);
Run Code Online (Sandbox Code Playgroud)
如何读取“实时”输出?
为了更好地理解:python 脚本监听硬件按钮,当按下该按钮时,会写出一些输出。在我的 Java 应用程序中,我想显示此消息并将其发送给一些客户端。