试图连接android应用程序到mySQL,但它没有连接



我正在尝试使用Kotlin连接一个简单的注册页面到mySQL,我有php设置,当实际使用我的PC浏览器和模拟器上的chrome浏览器输入URL时,它工作得很好,输入数据,但它只是不会从应用程序工作。

Log.d("DownloadURL:",DownloadURL)
val name =URLEncoder.encode(etName.text.toString(),"utf-8")
DownloadURL=URLEncoder.encode(DownloadURL,"utf-8")
val url="http://10.0.2.2/fitnessappdb/register.php?user_name="+ etName.text.toString() + "&user_email="+ etEmail.text.toString() +  "&user_password="+ etPassword.text.toString() +"&user_image="+ DownloadURL
MyAsyncTask().execute(url)
}
}
fun SplitString(email:String):String{
val split= email.split("@")
return split[0]
}

// CALL HTTP
inner class MyAsyncTask: AsyncTask<String, String, String>() {
override fun onPreExecute() {
//Before task started
}
override fun doInBackground(vararg p0: String?): String {
try {
val url=URL(p0[0])
val urlConnect=url.openConnection() as HttpURLConnection
urlConnect.connectTimeout=7000
val op=Operations()
var inString= op.ConvertStreamToString(urlConnect.inputStream)
//Cannot access to ui
publishProgress(inString)
}catch (ex:Exception){}

return " "
}
override fun onProgressUpdate(vararg values: String?) {
try{
var json=JSONObject(values[0])
Toast.makeText(applicationContext,json.getString("msg"),Toast.LENGTH_LONG).show()
if (json.getString("msg")== "user is added"){
finish()
}else{
buRegister.isEnabled=true
}
}catch (ex:Exception){}
}
override fun onPostExecute(result: String?) {
//after task done
}

}

// Progress Dialog
}

我认为原因是端口。你可以试着给URL添加端口号,比如"http://10.0.2.2:80"我有同样的问题,然后我用这个解决它。对不起,我现在不能评论

最新更新