在较新版本的 Android 中,不允许在主线程中使用互联网任务。要使用它,您必须创建一个新线程。使用线程并非没有问题。
我有一个连接到我的 MySQL 数据库的简单类。它初始化一个connection
包含java.sql.Connection
对象的变量。我有一个getConnection
返回对象的方法。
在主线程中,我希望能够查询数据库:
PreparedStatement query = this.dbManager.getConnection().prepareStatement("SELECT ...");
因为数据库类 ,DatabaseManager
实现了 Runnable 并且我已经使用它创建了一个线程,所以我无法调用该方法:它没有效果。
this.dbManager = new DatabaseManager();
new Thread(this.dbManager).start();
如何在线程中调用方法?例如,当用户单击 UI 中的添加按钮时,程序应显示等待图标、执行查询并隐藏图标。