Android程序需要与服务器端交换数据,如用户在手机上输入账号及密码信息,手机程序要将输入信息提交要服务器端进行账号验证,返回验证结果。例如手机QQ,登陆完成之后,好友列表还需要从服务器端下载到手机端。这些都需要与后台进行通信。
在我的程序中,是定义用json进行通信。
1、直接从服务器端读取数据, 以文本方式举例
//url通过openStream的方式返回一个inputStream的数据流
URL url = new URL(这里是url地址);
BufferReader br = new BufferReader(new InputStreamReader(url.openStream()));
String content = "";
while((content = br.readline()) != null)
{
System.out.println("------------------content = " + content);
}
2、要提交数据给服务器端,服务器端再返回结果
//用openConnection的方式 //url.openConnection返回URLConnection的对
URL url = new URL(这里是url地址); URLConnection connection = url.openConnection(); InputStream is = connection.getInputStream(); OutputStream os = connection.getOutputStream(); //这时就可以进行读写。
3、Json的创建Json主要是使用JsonObject和JsonArray两种。他们的区别在于: Object是用大括号{}包含起来的,一组一组的键值对; Array是用中括号[]包含的json类型的数组. 创建json对象的方式:
json转为String:JsonObject json = new JsonObject(); json.put("1", "a"); json.put("2", "b"); // 这样构造的json对象打印出来显示为{"1":"a", "2":"b"}
String string = json.toString()
String转为json:
JsonObject json = new JsonObject(String);