继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

白衣染霜花
关注TA
已关注
手记 126
粉丝 17
获赞 57

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

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

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

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

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

①先模拟服务器端:

@Test public 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() */ 

 @Override 

 public String toString() { return "Person [name=" + name + ", sex=" + sex + ", age=" + age + "]"; } }
接下来模拟客户端拆分数据:

@Test public 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()); }

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

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

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

@Test public 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("指定特殊符号"))进行分割好了

我总结的有:

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

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

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

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

原文链接:http://www.apkbus.com/blog-725636-60312.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP