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

本文介绍了一种使用字符串拼接和拆分的方法来进行数据交互,并通过实例演示了如何利用String.split方法来处理特定格式的数据。同时探讨了在实际应用中可能会遇到的问题及解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

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

 

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

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

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

①先模拟服务器端:

 

@Test
	public void TestToObject(){
		//模拟客户端:
		//在这模拟一下从已经拿到服务器端传来的拼接好的字符串;
		  String jsonString = "zml2015,男,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[] = {"zml2015","男",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 = "zml2015,男,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[] = {"zml2015","男",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("指定特殊符号"))进行分割好了

 

我总结的有:

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值