Android访问远程网页取回json数据

php代码


$array = array(
  'username'=>'杨铸',
  'password'=>'123456',
  'user_id'=>);
echo json_encode($array);



[代码] java代码


private void startUrlCheck(String username,String password)
{
    HttpClient client = new DefaultHttpClient();
    StringBuilder builder = new StringBuilder();

    HttpGet myget = new HttpGet("http://10.0.2.2/Android/index.php");
    try {
        HttpResponse response = client.execute(myget);
        BufferedReader reader = new BufferedReader(new InputStreamReader(
        response.getEntity().getContent()));
        for (String s = reader.readLine(); s != null; s = reader.readLine()) {
            builder.append(s);
        }
        JSONObject jsonObject = new JSONObject(builder.toString());
        String re_username = jsonObject.getString("username");
        String re_password = jsonObject.getString("password");
        int re_user_id = jsonObject.getInt("user_id");
        setTitle("用户id_"+re_user_id);
        Log.v("url response", "true="+re_username);
        Log.v("url response", "true="+re_password);
    } catch (Exception e) {
        Log.v("url response", "false");
        e.printStackTrace();
    }
}



[代码] 运行说明
view sourceprint?
其中http://10.0.2.2为Android访问本机url的ip地址。对应电脑上测试的http://127.0.0. 
另外执行代码时会抛出异常

java.net.SocketException: Permission denied

此为应用访问网络的权限不足 在AndroidManifest.xml中,需要进行如下配置:

<uses-permission android:name="android.permission.INTERNET" />


就加在

之前就好了
然后测试通过。

原文地址:https://www.cnblogs.com/ruiati/p/3335158.html