android,与PHP通信,返回JSON
小项目需要读取数据库,刚好手头有服务器,处于某些考虑,还是想远程读数据,所遇异常
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相关推荐
- Android 请求PHP接口, 返回json, 开头有问号, 解决方案
windos 上面开发, 没毛病, 部署到linux上面, 就有问题, ?{json} bom头??, 文件编码, 管他的 解决方案 ob_clean(); //加入这个函数 echo $thi ...
- Android学习笔记---26_采用JSON格式返回数据给资讯客户端,效率上要高于xml文件解析和传输
2013-03-22 26_采用JSON格式返回数据给资讯客户端 ---------------------------------------- 1.因为在android中,使用xml格式传输数据的 ...
- android中解析后台返回的json字符串
普通形式的: 服务器端返回的json数据格式如下: {"userbean":{"Uid":"100196","Showname&q ...
- android responsebody转json_SpringBoot 项目开发是如何返回 json 数据以及数据封装
本文目录如下: 1. Spring Boot 默认对Json的处理 1.1 创建 User 实体类 1.2 创建Controller类 1.3 测试不同数据类型返回的json 1.4 jackson ...
- asp ajax返回json数据类型,asp怎么返回json asp返回json是否通信成功等参数
相信大家对于asp和json都不陌生,当下json应用的非常广泛,但asp语言中并没有可以直接生成json对象的方法,这个就比较麻烦了.还好现在有了JSON.asp和json.js 了 下面介绍 as ...
- Android 跨进程通信大总结
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/111553746 本文出自[赵彦军的博客] 文章目录 1.Android进程 2.修 ...
- json日期格式化 java_java_Java Web程序中利用Spring框架返回JSON格式的日期,返回Json时格式化日期Date
第一 - phpStudy...
Java Web程序中利用Spring框架返回JSON格式的日期 返回Json时格式化日期Date第一步:创建CustomObjectMapper类 /** * 解决SpringMVC使用@Respo ...
- 新大陆物联网-Android实现网关功能-连接云平台并上传传感器数据-获取执行器指令并执行-Android网关开发-通信-数据上传云平台-JAVA原理讲解-免费云平台使用-竞赛2022国赛真题
目录 一.任务要求 二.开发环境 三.网关上线 四.数据上传与命令下发 五.JSON命令解析思路 六.总结 一.任务要求 我们将要实现的效果是:Android开发平板与Lora板进行有线串口通信,解析 ...
- Struts2返回JSON数据的具体应用范…
Struts2返回JSON数据的具体应用范例 博客分类: Struts2 Struts2JSON 早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具 ...
- Rxjava、Retrofit返回json数据解析异常处理
每个App都避免不了要进行网络请求,从最开始的用谷歌封装的volley到再到android-async-http再到OKHttpUtils再到现在的Retrofit和RxJava,从我自己用后的体验来 ...
最新文章
- 2021年了,为什么约会软件算法仍然如此糟糕?
- 我可以在Markdown中使用“ target =“ _ blank””创建链接吗?
- HIbernate——hibernate中的各种查询
- Spotify模式并非“敏捷涅磐”
- V210 SPI驱动分析
- Mysql:语法:虚拟表DUAL
- Spark开源学习模块
- sqlserver数据库得管理及维护
- linux离线安装nettools,CentOS最小安装之安装net-tools并配置网络
- 厉害了大华为, 这一次美国怂了!
- android+添加网络权限,已在AndroidManifest.xml增添网络权限,运行还报错
- 在VSCode终端中安装Gulp包出现 * package is looking for funding run `npm fund..和无法加载文件,在此系统上禁止运行脚本的错误提示一步到位解决
- gtx1050ti和gtx1650哪个好
- html5 驾考 答题样式,驾考科目一答题规律
- VC中字符串形式ip地址和整数形式ip地址转换
- Wave(.wav)文件格式
- 代码量?项目经验?面试官你到底要看程序员哪一点
- 线性代数几种特殊类型行列式_及其计算
- 活用订阅步步为盈 | 游戏盈利策略・第二期
- 为什么回退N步(GBN)协议和选择重传(SR)协议的发送窗口有限制