我需要一些帮助来debugging我的应用程序。 首先:在模拟器和其他一些设备上,我的应用运行良好。 在我的设备上,我得到了一个closures力量(没有强制closures信息)。 如果应用程序的“活动”发生更改,则会发生“崩溃”。 这里是MainActivity类的一些代码。 它只是通过webview从网页上读取html内容。 不,不可能通过HttpRequest做到这一点,因为我无法模拟发布请求。 public class MainActivity extends Activity { public final static String EXTRA_HTML = "com.example.com.test.HTML"; private WebView mWebView; private ProgressDialog mDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.webView1); CookieSyncManager.createInstance(this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); mWebView.setBackgroundColor(0); mWebView.setWebChromeClient(new WebChromeClient() { public boolean onConsoleMessage(ConsoleMessage cmsg) { if (cmsg.message().startsWith("MAGIC")) […]
为了debuggingSwing应用程序中的奇怪行为,我想用我自己的实现来replaceAWT EventQueue。 这可能吗? 怎么样? 以防万一你有兴趣: 该实现将是一个简单的包装正常的Eventqueue,做一些日志logging。 我想debugging的问题是一个TableCellEditor,它在一个小小的演示应用程序中工作正常,但是当放在真正的应用程序中,由于某些事件,stopCellEditing被立即调用。 我想访问该事件,以找出它来自哪里。
经过多年的Java编程,我总是用这种方式创build我的main()方法: public static void main(String[] args) { runProgram(); } 但是最近我研究了一些来自Web的代码,有时会看到这个代码,而不是上面常用的main()方法: public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { runProgram(); } }); } 我只是想知道: 为什么使用这个而不是通常的main()方法? 当我尝试一下时,我看不出有什么不同。 这两种方式有什么区别? 感谢您阅读我和您的答案。
为什么我们调用start()方法,然后调用run()方法? 我们不能直接打电话run() ? 请举例说明有什么区别。
我正在学习如何在Java中使用线程。 而且我写了一个实现Runnable并行运行到另一个线程的类。 主线程处理侦听串口,第二个线程将处理发送数据到同一端口。 public class MyNewThread implements Runnable { Thread t; MyNewThread() { t = new Thread (this, "Data Thread"); t.start(); } public void run() { // New Thread code here } 有第一个线程启动第二个像这样: public class Main { public static void main(String[] args) throws Exception{ new MyNewThread(); // First thread code there } } 这工作,但我的编译器标志警告说:在构造函数中启动一个新的线程是危险的。 为什么是这样? […]
可能重复: 如何解决Java舍入双重问题 Java中两个double值的简单比较会产生一些问题。 让我们考虑一下Java中的以下简单代码片段。 package doublecomparision; final public class DoubleComparision { public static void main(String[] args) { double a = 1.000001; double b = 0.000001; System.out.println("\n"+((ab)==1.0)); } } 上面的代码似乎返回true ,expression式((ab)==1.0)的评估,但它不。 它返回false因为这个expression式的评估值是0.9999999999999999 ,实际上这个值是1.0 ,不等于1.0因此条件评估为boolean false 。 什么是最好的和build议的方式来克服这种情况?
重复:Javagenerics为什么这不起作用 重复:在Java中实例化一个generics类 我想在java中创build一个genericstypes的对象。 请build议我怎样才能达到相同的效果。 注意:这似乎是一个微不足道的generics问题。 但我敢打赌,这不是。 🙂 假设我有这样的类声明: public class Abc<T> { public T getInstanceOfT() { // I want to create an instance of T and return the same. } }
我试图parsing一个看起来像这样的date: 2010-04-05T17:16:00Z 这是每个http://www.ietf.org/rfc/rfc3339.txt的有效date。 “Z”字面意味着UTC是指定时间的首选参考点。 如果我尝试使用SimpleDateFormat和这种模式parsing它: yyyy-MM-dd'T'HH:mm:ss 它将被parsing为2010年4月5日星期一17:16:00 SimpleDateFormat无法parsing这些模式的string: yyyy-MM-dd'T'HH:mm:ssz yyyy-MM-dd'T'HH:mm:ssZ 我可以明确地设置TimeZone使用SimpleDateFormat来获得预期的输出,但我不认为这是必要的。 有什么我失踪? 有没有其他dateparsing器?
在StackOverflow( 如何获得Java文件的创builddate)上还有另外一个类似的问题,但答案并不存在,因为OP有不同的需求,可以通过其他机制来解决。 我正在尝试创build一个可以按年龄sorting的文件列表,因此需要创build文件date。 在networking的大规模拖网之后,我没有find任何好的方法来做到这一点。 有没有获得文件创builddate的机制? 顺便说一句,目前在Windows系统上,也可能需要这个工作在Linux系统上。 另外,我不能保证在创builddate/时间embedded到名称中的情况下,将遵循文件命名约定。
在我的Android应用程序中,我总是得到VerifyErrors! 我不明白为什么。 每当我包含一个外部JAR时,当我尝试启动我的应用程序时,我总是得到VerifyErrors(除了一次,当我包含Apache Log4j时)。 我通常通过获取库的源代码并将其添加到我的项目中来解决这个问题,但是我正在尝试使用GData客户端库( http://code.google.com/p/gdata-java-client/ )。 我可以得到这个来源,但它的依赖(mail.jar,activation.jar,servlet-api.jar)我不能,所以我得到validation错误。 我想一劳永逸地解决这个问题的根源。 我在网上查看,但是他们似乎都在谈论不完整的课程档案? 这我不知道。