Android与php交互

时间:2012-11-27 19:08:56

标签: android

我有问题!我与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。

2 个答案:

答案 0 :(得分:4)

您正在主线程上运行Network Request

Android> = 3.0不会这样做。您需要使用AsyncTask来致电Network Request

答案 1 :(得分:0)

是的,低于3.0的版本不允许这样做。但是你可以通过做一些设置绕过来覆盖规则,但至少不要这样做,因为它可能会给你app崩溃。

我建议提高你的min-SDK级别。