首页 新闻 搜索 专区 学院

android php json/xml

0
悬赏园豆:100 [已关闭问题] 关闭于 2011-10-06 19:56

android客户端带参数发送post请求,服务端(php)查询数据库返回信息,再由客户端解析(json或xml),如何实现?请求高人提供简单实例,谢谢了。

Einsteinlwb的主页 Einsteinlwb | 初学一级 | 园豆:105
提问于:2011-09-24 19:45
< >
分享
所有回答(1)
0

下面两个测试方法分别是向服务器请求数据、解析JSON字符串的示例。如果你的服务器响应格式为JSON并且你知道JSON编码格式(你自己用的什么协议自己应该是知道的吧),可以很容易将这两个方法合并为一个

    @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

new Thread() {

@Override
public void run() {
try {
httpTest();
jsonTest();
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();

}

private void httpTest() throws IOException {
HttpClient http = new DefaultHttpClient();
String resp = http.execute(new HttpGet("http://www.baidu.com"),
new BasicResponseHandler());
Log.d("", resp);

}

private void jsonTest() throws JSONException {

String str = "{\"Obj\": {\"prop1\": 1, \"prop2\": [1,2,3]}}";
JSONObject obj = (JSONObject) new JSONTokener(str).nextValue();
obj = obj.getJSONObject("Obj");
Log.d("", "Prop1=" + obj.getInt("prop1"));
Log.d("", "Prop2=" + obj.getJSONArray("prop2"));
}
bye_passer | 园豆:367 (菜鸟二级) | 2011-09-25 16:19

没有注意你说的是POST方法。POST方法设置参数(name-value对)的方法:

new HttpPost("url").getParams.setXxxParameter("name", value);

用这个取代HttpGet就可以了

参考:

org.apache.http.client.methods.HttpPost

org.apache.http.params.HttpParams

支持(0) 反对(0) bye_passer | 园豆:367 (菜鸟二级) | 2011-09-26 08:44

谢谢,但现在缺的是服务器端那边连接数据库,返回值是出了问题。正在测试过段时间如果还没解决,我会在把问题贴出来,

支持(0) 反对(0) Einsteinlwb | 园豆:105 (初学一级) | 2011-09-27 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册