1

私は問題があります!データベースに接続するための 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();
    }

}   

データを送信して応答を取得する必要がありますが、2.2 よりも新しい Android では null が返されます。

4

2 に答える 2

4

Network Requestメインスレッドで実行しています。

Android>=3.0はこれを許可しません。呼び出すにはAsyncTaskを使用する必要がありますNetwork Request

于 2012-11-27T19:12:27.897 に答える