php与android通信,ANDROID 与 PHP 的通信

该代码段展示了一个Android应用如何在按钮点击事件中通过HttpGet从服务器获取JSON数据。首先,它设置布局并找到EditText和Button组件。当按钮被点击时,它构造一个HTTP请求URL,然后调用getServerJsonDataWithNoType方法获取数据。在该方法中,使用HttpClient执行HTTP请求,解析响应,并尝试将JSON数据转化为标题、ID和值,最后将这些信息显示在EditText中。

protected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//TextView homeContext=new TextView(this);

setContentView(R.layout.tel);

Button btn=(Button)findViewById(R.id.getPhpJson);

btn.setOnClickListener(newView.OnClickListener() {

@Overridepublic voidonClick(View v) {//TODO Auto-generated method stub

EditText 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 voidgetServerJsonDataWithNoType(String url,EditText editText)

{int res = 0;

HttpClient client= newDefaultHttpClient();

StringBuilder str= newStringBuilder();

HttpGet httpGet= newHttpGet(url);try{

HttpResponse httpRes=client.execute(httpGet);

httpRes=client.execute(httpGet);

res=httpRes.getStatusLine().getStatusCode();if(res == 200)

{

BufferedReader buffer= new BufferedReader(newInputStreamReader(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 = newJSONObject(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");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值