TIM*_*MEX 185 java printing console android system
我想在控制台中打印一些东西,以便我可以调试它.但由于某种原因,我的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)
Dav*_*ebb 204
更正:
在模拟器上,大多数设备System.out.println
被重定向到LogCat并使用打印Log.i()
.在非常旧的或自定义Android版本上可能不是这样.
原版的:
没有控制台可以发送消息,因此System.out.println
消息会丢失.以同样的方式运行"传统"Java应用程序时会发生这种情况javaw
.
相反,您可以使用Android Log
类:
Log.d("MyApp","I am here");
Run Code Online (Sandbox Code Playgroud)
然后,您可以在Eclipse 的Logcat视图中查看日志,也可以运行以下命令:
adb logcat
Run Code Online (Sandbox Code Playgroud)
最好养成查看logcat输出的习惯,因为这也是显示任何未捕获的异常的堆栈跟踪的地方.
每个日志记录调用的第一个条目是日志标记,它标识日志消息的来源.这很有用,因为您可以过滤日志的输出以仅显示您的消息.为了确保您与日志标记保持一致,最好将其定义为static final String
某个地方.
Log.d(MyActivity.LOG_TAG,"Application started");
Run Code Online (Sandbox Code Playgroud)
Log
对应以下级别有五个单字母方法:
e()
- 错误w()
- 警告i()
- 信息d()
- 调试v()
- 详细wtf()
- 多么可怕的失败除了在开发期间,不应该将详细编译到应用程序中.调试日志在运行时编译但被剥离.始终保留错误,警告和信息日志.
kau*_*man 12
是的,它确实.如果您正在使用模拟器,它将显示在System.out
标记下的Logcat视图中.写一些东西,然后在你的模拟器中试一试.
归档时间: |
|
查看次数: |
216178 次 |
最近记录: |