我正在制作一個 android 應用程序,我需要從在線數(shù)據(jù)庫中獲取數(shù)據(jù)。在線數(shù)據(jù)庫有 3 列,Date, Time 和 Varchar(255)。這是我的 PHP 代碼:<?phprequire "connection.php";if($result = mysqli_query($conn, "select * from `xuberance_updates`")) {while($row = mysqli_fetch_assoc($result)) { echo $row["date"].",".$row["time"].",".$row["updates"].";";}}?>這是我在 android 中的 kotlin 代碼:class RefreshTask(private val alertDialog: AlertDialog) : AsyncTask<String, Void, String>() { override fun onPreExecute() { ... alertDialog.show() ... } override fun doInBackground(vararg params: String?): String? { val url = URL("https://.../show_update.php") val httpURLConnection = url.openConnection() as HttpURLConnection httpURLConnection.doInput = true httpURLConnection.doOutput = true httpURLConnection.requestMethod = "POST" httpURLConnection.connect() val reader = BufferedReader(InputStreamReader(httpURLConnection.inputStream, "UTF-8")) var line = reader.readLine() val result = StringBuilder() while (line != null) { result.append(line) line = reader.readLine() } reader.close() httpURLConnection.disconnect() return result.toString() } override fun onPostExecute(result: String?) { alertDialog.dismiss() ... } ...}當我啟動 AsyncTask 時,會出現(xiàn)對話框。但它永遠不會被解雇。該onPostExecute(結(jié)果:字符串)方法從未達到。如何解決這個問題?編輯:有時,它成功到達onPostExecute(result: String?)方法。但大多數(shù)時候,我需要等待 2 分鐘或更長時間才能使用該方法。
2 回答

料青山看我應如是
TA貢獻1772條經(jīng)驗 獲得超8個贊
這應該是罪魁禍首
while (line != null) {
result.append(line)
line = reader.readLine()
}
- 2 回答
- 0 關(guān)注
- 153 瀏覽
添加回答
舉報
0/150
提交
取消