我正在尝试连接一个简单的注册页面到mySQL使用Kotlin,我有php设置,这一切都工作得很好,并输入数据时,实际放入网址使用我的电脑浏览器和浏览器上的模拟器,但它只是不能从应用程序工作。
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
}发布于 2021-02-25 21:04:04
我认为原因是端口。你可以尝试添加像"http://10.0.2.2:80“的网址端口号,我有同样的问题,然后我用这个解决它。很抱歉回答,我现在不能评论
https://stackoverflow.com/questions/66367503
复制相似问题