在我的应用程序中,我必须将一个大数据集发送回我们的服务器进行处理。我正在使用ksoap
我的所有请求从服务器中提取正常的xml属性和属性,但在一次调用中我必须使用数据集来发送信息。
android的ksoap
库中是否有任何内容可以使整个过程更容易?
基本上现在我只是用所有这些标题,标签和一个shcema构建这个巨大的字符串
示例:
String header = "<mmAps diffgr:id=\"mmApps"+String.valueOf(count)+"\" msdata:rowOrder=\"0\" diffgr:hasChanges=\"inserted\">\n";
String ecmmaID = "<ECMMAID>"+c.getString(c.getColumnIndex(Apparatus.APP_ECMMAID))+"</ECMMAID>\n";
etc..
String datasetToSend = header+ecmmaID+....;
然后我会将请求传递给大字符串
请告诉我有一些更容易的方法来做到这一点。
也不可能改变数据集,因为它不受我的控制
答案 0 :(得分:2)
JSON是您可以轻松使用KSOAP的最佳选择。这将是结构化的,远比你生成的字符串更好。
<强> 1。在android和你的服务器(C#.Net,Java等)中制作相同的Model类
// In Android
class MyData {
String someThing;
public getSomeThing() {}
//...
}
<强> 2。使用模型类
将该数据集编码到android中的JSONArray// Create JSON Objects in loop for entire dataset
JsonObject jo = new JsonObject();
jo.add(myData.getSomthing());
// Add all JSON Objects in JSONArray
JSONArray jArray = new JSONArray();
jArray.add(jo);
第3。使用KSOAP
将此JSON作为字符串发送String toSendViaKsoap = jArray.toString();
<强> 4。将该字符串从json解码为服务器上的模型类列表。
根据您的服务器语言,解码该字符串并在此处以本机语言创建类似步骤1的对象,并执行您想要的任何操作。 如果你有.NET服务器应用程序,那么有很多免费的库可以用来代码json支持构建json支持。但我更喜欢this一个。
希望这会有所帮助.. :)