【发布时间】:2018-06-01 18:00:05
【问题描述】:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
callPostReq()
val sm = someTask()
sm.execute()
}
inner class someTask(): AsyncTask<String, Int, Array<String>>() {
override fun doInBackground(vararg params: String): Array<String>? {
val conn: Connection= null!!
val url = "jdbc:mysql://localhost:3306/"
val dbName = "db-01"
val driver = "com.mysql.jdbc.Driver"
val cred = Properties()
cred.put("username","username")
cred.put("password","pasword")
try {
Class.forName(driver).newInstance()
conn = DriverManager.getConnection(url,cred)
println("Connected to the database")
conn.close()
println("Disconnected from database")
} catch (e: Exception) {
e.printStackTrace()
}
return null
}
}
致命异常:AsyncTask #1 进程:highway.dueamount,PID:15746 java.lang.RuntimeException:执行 doInBackground() 时出错 在 android.os.AsyncTask$3.done(AsyncTask.java:325) 在 java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) 在 java.util.concurrent.FutureTask.setException(FutureTask.java:223) 在 java.util.concurrent.FutureTask.run(FutureTask.java:242) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 在 java.lang.Thread.run(Thread.java:760) 引起:kotlin.KotlinNullPointerException 在highway.dueamount.MainActivity$someTask.doInBackground(MainActivity.kt:60) 在highway.dueamount.MainActivity$someTask.doInBackground(MainActivity.kt:57) 在 android.os.AsyncTask$2.call(AsyncTask.java:305) 在 java.util.concurrent.FutureTask.run(FutureTask.java:237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 在 java.lang.Thread.run(Thread.java:760)
【问题讨论】:
-
您好,您的 MYSQL 服务器正在您的 PC 上运行,但您的 Android 设备将无法看到它。因此,您应该编写一个连接到数据库的 REST API,该 API 可以将数据以合理的格式(如 JSON)发送到 Android 设备