我有问题!我与php页面连接以连接数据库,该方法在Froyo上工作正常,但不适用于较新版本的Android。有什么问题?
public static String interact(String request){
String result="test";
String site = "http://xxxx.net:nnn/xxx";
URL url = new URL(site);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.connect();
OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
wr.write(request);
wr.flush();
wr.close();
Scanner in = new Scanner(connection.getInputStream());
while(in.hasNextLine())
result+=in.nextLine();
connection.disconnect();
return result;
}
catch (UnknownHostException e) {
return e.getMessage();
} catch (IOException ex) {
return ex.getMessage();
}
catch (Exception ex){
return ex.getMessage();
}
}
我需要发送数据并获得响应,但它只是让我在新的Android上为null而不是2.2。
答案 0 :(得分:4)
您正在主线程上运行Network Request
。
Android> = 3.0不会这样做。您需要使用AsyncTask来致电Network Request
答案 1 :(得分:0)
是的,低于3.0的版本不允许这样做。但是你可以通过做一些设置绕过来覆盖规则,但至少不要这样做,因为它可能会给你app崩溃。
我建议提高你的min-SDK级别。