小项目需要读取数据库,刚好手头有服务器,处于某些考虑,还是想远程读数据,所遇异常

Logcat异常:

SingleClientConnManager(411): Invalid use of SingleClientConnManager: connection still allocated.

Make sure to release the connection before allocating another one.

request time failed: java.net.SocketException: Address family not supported by protocol

基本思路就是,通过一个按钮监听事件,利用HttpClient来实现交互。<关于更多HttpClient点击此处:穿梭查看>

上核心代码:

PHP代码:

<?php

  $array=array('title'=>'name','value'=>'doooger');

  json_encode($array);

?>

protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//TextView homeContext=new TextView(this);
        setContentView(R.layout.tel);Button btn = (Button)findViewById(R.id.getPhpJson);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubEditText edit = (EditText)findViewById(R.id.typeId);Log.i(Tag, "eeeeeeee");String url = "http://www.test.com:80/an/index.php?type=1";getServerJsonDataWithNoType(url,edit);}});}-----------------------------------------------------------------------------------------------------------------public void getServerJsonDataWithNoType(String url,EditText editText){int res = 0;HttpClient client = new DefaultHttpClient();StringBuilder str = new StringBuilder();HttpGet httpGet = new HttpGet(url);try{HttpResponse httpRes = client.execute(httpGet);httpRes = client.execute(httpGet);res = httpRes.getStatusLine().getStatusCode();if(res == 200){BufferedReader buffer = new BufferedReader(new InputStreamReader(httpRes.getEntity().getContent()));for(String s = buffer.readLine(); s != null ; s = buffer.readLine()){str.append(s);}//String out = EntityUtils.toString(httpRes.getEntity().getContent(), "UTF-8");//StringBuilder sb = new StringBuilder()
            Log.i(Tag,str.toString());try{//JSONObject json = new JSONObject(str.toString()).getJSONObject("content");JSONObject json = new JSONObject(str.toString());String title = json.getString("title");Log.i(Tag,title);int id = json.getInt("id");String value = json.getString("value");Log.i(Tag,value);editText.setText("Title:" + title + " ID:" + id + " Value:" + value);}catch(JSONException e){Log.i(Tag, e.getLocalizedMessage());//buffer.close();
            e.printStackTrace();}}else{Log.i(Tag, "HttpGet Error");}}catch(Exception e){Log.i(Tag, "Exception");}}

解决办法:

url没拼对,用的是本地的虚拟服务器,android的本地ip对应的是10.0.2.2,所以url应该如下拼写:<貌似只能用IIS的默认网站进行交互,如果谁知道怎么用hosts拦截DNS解析用域名访问的方法欢迎留言>

String url = "http://10.0.2.2/tell/index.php?type=1";

这样,就没有问题了!

PS:IIS加载PHP模块需要两步:

1、加载php5isapi.dll

2、iis->对应网站->主目录->配置->映射加载对应的php5isapi.dll

------------------------------------------------------------------------------------------------------------------------------

 

转载于:https://www.cnblogs.com/lonelyDog/archive/2012/06/05/2537479.html

android,与PHP通信,返回JSON相关推荐

  1. Android 请求PHP接口, 返回json, 开头有问号, 解决方案

    windos 上面开发, 没毛病,  部署到linux上面, 就有问题, ?{json} bom头??,   文件编码, 管他的 解决方案 ob_clean(); //加入这个函数 echo $thi ...

  2. Android学习笔记---26_采用JSON格式返回数据给资讯客户端,效率上要高于xml文件解析和传输

    2013-03-22 26_采用JSON格式返回数据给资讯客户端 ---------------------------------------- 1.因为在android中,使用xml格式传输数据的 ...

  3. android中解析后台返回的json字符串

    普通形式的: 服务器端返回的json数据格式如下: {"userbean":{"Uid":"100196","Showname&q ...

  4. android responsebody转json_SpringBoot 项目开发是如何返回 json 数据以及数据封装

    本文目录如下: 1. Spring Boot 默认对Json的处理 1.1 创建 User 实体类 1.2 创建Controller类 1.3 测试不同数据类型返回的json 1.4 jackson ...

  5. asp ajax返回json数据类型,asp怎么返回json asp返回json是否通信成功等参数

    相信大家对于asp和json都不陌生,当下json应用的非常广泛,但asp语言中并没有可以直接生成json对象的方法,这个就比较麻烦了.还好现在有了JSON.asp和json.js 了 下面介绍 as ...

  6. Android 跨进程通信大总结

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/111553746 本文出自[赵彦军的博客] 文章目录 1.Android进程 2.修 ...

  7. json日期格式化 java_java_Java Web程序中利用Spring框架返回JSON格式的日期,返回Json时格式化日期Date 第一 - phpStudy...

    Java Web程序中利用Spring框架返回JSON格式的日期 返回Json时格式化日期Date第一步:创建CustomObjectMapper类 /** * 解决SpringMVC使用@Respo ...

  8. 新大陆物联网-Android实现网关功能-连接云平台并上传传感器数据-获取执行器指令并执行-Android网关开发-通信-数据上传云平台-JAVA原理讲解-免费云平台使用-竞赛2022国赛真题

    目录 一.任务要求 二.开发环境 三.网关上线 四.数据上传与命令下发 五.JSON命令解析思路 六.总结 一.任务要求 我们将要实现的效果是:Android开发平板与Lora板进行有线串口通信,解析 ...

  9. Struts2返回JSON数据的具体应用范…

    Struts2返回JSON数据的具体应用范例 博客分类: Struts2 Struts2JSON  早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具 ...

  10. Rxjava、Retrofit返回json数据解析异常处理

    每个App都避免不了要进行网络请求,从最开始的用谷歌封装的volley到再到android-async-http再到OKHttpUtils再到现在的Retrofit和RxJava,从我自己用后的体验来 ...

最新文章

  1. 2021年了,为什么约会软件算法仍然如此糟糕?
  2. 我可以在Markdown中使用“ target =“ _ blank””创建链接吗?
  3. HIbernate——hibernate中的各种查询
  4. Spotify模式并非“敏捷涅磐”
  5. V210 SPI驱动分析
  6. Mysql:语法:虚拟表DUAL
  7. Spark开源学习模块
  8. sqlserver数据库得管理及维护
  9. linux离线安装nettools,CentOS最小安装之安装net-tools并配置网络
  10. 厉害了大华为, 这一次美国怂了!
  11. android+添加网络权限,已在AndroidManifest.xml增添网络权限,运行还报错
  12. 在VSCode终端中安装Gulp包出现 * package is looking for funding run `npm fund..和无法加载文件,在此系统上禁止运行脚本的错误提示一步到位解决
  13. gtx1050ti和gtx1650哪个好
  14. html5 驾考 答题样式,驾考科目一答题规律
  15. VC中字符串形式ip地址和整数形式ip地址转换
  16. Wave(.wav)文件格式
  17. 代码量?项目经验?面试官你到底要看程序员哪一点
  18. 线性代数几种特殊类型行列式_及其计算
  19. 活用订阅步步为盈 | 游戏盈利策略・第二期
  20. 为什么回退N步(GBN)协议和选择重传(SR)协议的发送窗口有限制

热门文章

  1. 浅显易懂 Makefile 入门 (08)— 默认 shell (/bin/sh)、命令回显、make参数(-n 只显示命令但不执行,-s 禁止所有回显)、单行命令、多行命令、并发执行
  2. 【Spring】基于注解的IOC案例
  3. tensorflow学习笔记(二十五):ConfigProtoGPU
  4. 理解 Word2Vec 之 Skip-Gram 模型
  5. LeetCode中等题之两两交换链表中的节点
  6. 光谱投影颜色感知器件与围栅多桥沟道晶体管技术
  7. MindSpore:自动微分
  8. 数字汽车钥匙的安全性增强技术
  9. SLAM的通用框架:GSLAM
  10. Python案例:使用正则表达式的爬虫