Android 无论何时想要将数据从安卓c发布到服务器以执行登录,都必须执行异步任务吗
在这里,我想从用户输入中获取数据并将其发布到服务器,以便成功登录。我使用url连接方法,想知道如何在代码中实现异步任务Android 无论何时想要将数据从安卓c发布到服务器以执行登录,都必须执行异步任务吗,android,database,login,Android,Database,Login,在这里,我想从用户输入中获取数据并将其发布到服务器,以便成功登录。我使用url连接方法,想知道如何在代码中实现异步任务 public void onClick(View v) { switch (v.getId()){ case R.id.loginbtn: try { String link = "192.168.0.81/android/login.php";
public void onClick(View v) {
switch (v.getId()){
case R.id.loginbtn:
try {
String link = "192.168.0.81/android/login.php";
username = uname.getText().toString();
password = upass.getText().toString();
String str = "username=" + username + "&password=" + password;
Log.d(TAG, str);
String data = URLEncoder.encode("str", "UTF-8") + "=" +
URLEncoder.encode(str, "UTF-8");
Log.d("ENCODED", data);
//connecting sql
URL url = new URL(link);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// read server response
while ((line = reader.readLine()) != null) {
sb.append(line);
sb.toString();
break;
}
// return sb.toString();
} catch (Exception e) {
e.getMessage();
// return new String("Exception: " + e.getMessage());
}
break;
这不是强制性的,您可以更改线程策略并从UI线程本身进行网络调用,但如果这样做,您会感觉到应用程序由于网络调用而出现延迟。如果您希望应用程序具有响应性,那么必须使用线程或异步任务!了解OkHttp,它是一个网络库。。它比URLConnection非常简单