Android访问php取回json数据
PHP代码:
$array = array( 'username'=>'杨铸', 'password'=>'123456', 'user_id'=>1 ); 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(); } }
说明:
其中http://10.0.2.2为Android访问本机url的ip地址。对应电脑上测试的http://127.0.0.1
另外执行代码时会抛出异常
java.net.SocketException: Permission denied
此为应用访问网络的权限不足 在AndroidManifest.xml中,需要进行如下配置:
就加在
之前就好了
然后测试通过。
原文:http://www.oschina.net/code/snippet_12_1122