Android客户端与服务器端数据交互之——字符串拼接

来源:互联网 发布:爱思助手有没有mac版 编辑:程序博客网 时间:2024/09/21 08:15

本来是不想写这字符串拼接的,因为这个在拼接起来实在是太麻烦了,不过对于初学者还是不错的选择;


这里我这里主要是想总结一下可以用String.split进行拆分的特殊符号都有哪些,顺便写了个字符串拼接做个例子(看最后面红色字)


在Android客户端与服务器端做通信的时候,如果不采用xml或者json格式传递数据的话,当然还可以用字符串拼接的方式进行数据交互;

我最一开始的时候就是采用字符串拼接的方式,在服务器端进行字符串拼接,在客户端再进行拆分;

在这就简单模拟一下,比如:

①先模拟服务器端:

@Testpublic void TestToObject(){//模拟客户端://在这模拟一下从已经拿到服务器端传来的拼接好的字符串;  String jsonString = "郑明亮,男,22;张三,男,23;李四,女,24;";  //先将一组组数据分开拿到  String persons[] = jsonString.split(";");  //再拿每组属性中的相关属性  String temp[] = {};  String name[] = new String[3];  String sex[] = new String[3];  int age[] = new int[3];  Person person ;  List<Person> list = new ArrayList<JsonParseTest.Person>();for(int i = 0;i < persons.length; i ++){temp = persons[i].split(",");//拿到一组数据放到temp中,即第一次循环:temp[] = {"郑明亮","男",22}System.out.println(temp[i]);name[i] = temp[0];sex[i] = temp[1];age[i] = Integer.parseInt(temp[2]);person = new Person(name[i],sex[i],age[i]);list.add(person);}System.out.println(list.toString());}

上下图


②模拟客户端:

首先创建一个实体类,只写了toString和一个全参构造

class Person{String name;String sex;int age;public Person(String name, String sex, int age) {super();this.name = name;this.sex = sex;this.age = age;}/* (non-Javadoc) * @see java.lang.Object#toString() */@Overridepublic String toString() {return "Person [name=" + name + ", sex=" + sex + ", age=" + age + "]";}}

接下来模拟客户端拆分数据:


@Testpublic void TestToObject(){//模拟客户端://在这模拟一下从已经拿到服务器端传来的拼接好的字符串;  String jsonString = "郑明亮,男,22;张三,男,23;李四,女,24;";  //先将一组组数据分开拿到  String persons[] = jsonString.split(";");  //再拿每组属性中的相关属性  String temp[] = {};  String name[] = new String[3];  String sex[] = new String[3];  int age[] = new int[3];  Person person ;  List<Person> list = new ArrayList<JsonParseTest.Person>();for(int i = 0;i < persons.length; i ++){temp = persons[i].split(",");//拿到一组数据放到temp中,即第一次循环:temp[] = {"郑明亮","男",22}System.out.println(temp[i]);name[i] = temp[0];sex[i] = temp[1];age[i] = Integer.parseInt(temp[2]);person = new Person(name[i],sex[i],age[i]);list.add(person);}System.out.println(list.toString());}

上下图:


接下来要说一下我这样字符串拼接的弊端以及解决方案了:

我在拼接和拆分数据的时候采用的是逗号和分号,但是如果数据中就是包含逗号和分号我们该怎么办呢

我们可以采用多种特殊符号组合的形式进行拼接和拆分:

@Testpublic void Testreplase(){String s = "jdieoahud,,;;####%¥(@!!!!&&djeioand";System.out.println(s.replace(",,;;", ""));//看这看这String m[];System.out.println(m = s.split("####%¥(@!!!!&&"));System.out.println(m[0]);//System.out.println(m[1]);}

我这主要是总结一下都有哪些特殊符号可以用来作为分隔符,然后自己去用特殊符号(String.split("指定特殊符号"))进行分割好了

我总结的有:

①运算符 -/=%&<>小数点均可,+*^|英文下的半角小括号、中括号、大括号不行,全角的小括号、中括号可以,可怜的是大括号没有全角符号

②其他特殊符号:·~、?#@!¥均可,$不行

③全角的符号一般都可以,当然了最好不要用中文了

注意:推荐使用多种特殊符号组合哦

2 0
原创粉丝点击